Repository navigation
DO NOT MERGE — merge train: 3754,3757,3756,3760,3641 - #3781
Closed
trinity-ability wants to merge 12 commits into
Closed
trinity-ability wants to merge 12 commits into
trinity-ability wants to merge 12 commits into
Conversation
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
With the assignments module entitled, an agent with no rows answers "nobody fills primary", which overrides the owner fallback. That is the default state of a fresh enterprise install, and send_message(to: primary) then refused with 422 role_unassigned: the agent had no sanctioned way to message a person. The tool text sent it to an alert, which lands in the Operating Room and reaches no person. On the message surface only, primary with no seat now goes to the agent's owner, who is always allowed proactive messages. The resolver is unchanged on purpose: it also decides who may approve a gated skill, so asks still go to the operators and a primary-approved gate still refuses. An owner with no email gets a 422 naming the remedy (assign a primary in the agent's Access tab). The send_message description says so instead of pointing at an alert. Fixes Abilityai/trinity-enterprise#904 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With no email provider configured (the default for a localhost install that skipped the Resend key) the sender falls back to console mode: the code goes to the backend log and the send reports success. The Login page still said "We sent a 6-digit code", and the person waited for an email that never came. GET /api/auth/mode now carries email_delivery_available, an install-level flag like email_code_login_enabled, from EmailService.can_deliver(): false for console, an unknown provider, or a provider missing its key or SMTP settings; true on an unreadable config, so the page behaves as today. When it is false, step 2 says no email was sent, that a code for an address allowed to sign in is in the backend log (docker compose logs backend), and points at Admin Login and Settings -> Integrations. The wording is conditional because the request endpoint answers the same for every address (#186) and never consults the flag. The code itself is never rendered. FAQ entry added. Fixes #3655 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…shed" (#3688) After #3657 the requester is woken (triggered_by="skill_gate") with how its gated request ended, and the reply is reported into the Workspace thread it came from. _portal_body chose its header, and _portal_source its pill, from the wake-up row's own run status, which completes normally for a rejected, expired or not-run request. The reader saw a "Finished" header and a green "Finished" pill above "Your request was rejected." A skill_gate row that completed now gets the header "Approval update" and the source completion:notice, which shows no outcome pill and is narrated as a background report. One predicate decides both, so the header and the pill cannot disagree. A wake-up that itself failed still reads "Didn't finish"; the approved run keeps its requester's trigger and still reads "Finished". triggered_by is passed to every resolver, per the shared call shape. Fixes #3688 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ls v0.5.0 (#3430) Fresh installs seed `abilityai/trinity-skills` at v0.5.0 (was v0.3.0). v0.4.0 adds `project-status`; v0.5.0 adds `update-status` and fixes two skills that fail on current dev: `project-status` filed asks under an id the platform refuses (`invalid_request_id`), and `add-pipeline` taught a 300-char escalation title cap where the cap is 120. 40 skills, none dropped since v0.3.0 (verified against the upstream tag). config.DEFAULT_SKILL_SOURCE_REF, .env.example and the user doc move together; test_2545_skill_source_pin.py raises its floor to v0.5.0 (red before the bump on the floor check, green after). Fixes #3430 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…sage (#3430) — mechanical The floor assertion's message printed a literal {_PIN_FILES} on failure. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…snapshot — mechanical dev carries the 2026-10-12 dashboard (#3605); this PR's 2026-10-13 run supersedes it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 17, 2026
Contributor
|
Members merged individually. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Integration surface for #3754, #3757, #3756, #3760, #3641. Never merged; members merge individually once green.
🤖 Generated with Claude Code