Repository navigation
fix(j5): route Squadrons and inbox across environments - #125
Merged
Merged
Conversation
J5 reads now go through executeAuthenticatedEnvironmentHttpRequest, so a relay token the server rejects gets one refresh and retry like every other authenticated client read. The index landing keeps upstream's bootstrap wait before judging a Squadron's folder missing. Environment labels appear only once a read model spans more than one environment, keeping case 20's name-only picker row for a single environment. The remote-access user doc edit moves under docs/j5, and FORK.md case 34 records the upstream-owned paths this feature touches. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
7 tasks
Owner
Author
|
Posted by an AI agent on Jackson's behalf CodeRabbit CLI record —
Additional changes in |
Jacksondr5
marked this pull request as ready for review
September 13, 2026 02:29
…abel Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Jacksondr5
added a commit
that referenced
this pull request
Sep 14, 2026
… cross-environment changes Rebased onto j5/main. Folds main's five doc changes into the rewritten definitions in their own shape: list_squadrons and join_squadron in the agent tools and substrate definitions and as Squadron AC14; reversible archive, unarchive and separate deletion in the archive-flow and tools definitions; the cross-environment merge (#125) as cross-device AC7–AC10 and inbox criteria, with build status in the dogfood plan. Records #126 and #127 as landed in the A2A plan. Moves the Squadron Scope section into the Definition and the plan per the conventions. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Jacksondr5
added a commit
that referenced
this pull request
Sep 14, 2026
* docs(j5): how the J5 docs are organized — five kinds, lifetimes, two identifier kinds Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * docs(j5): glossary rewritten as index + owned distinctions; casing rule made unambiguous Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * docs(j5): cite principles by name — headings un-numbered, every numeric citation rewritten Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * docs(j5): Squadron rewritten as a definition; naming session moved to a record; glossary review fixes; shared example fleet Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * docs(j5): A2A definition, substrate and agent-tools as definitions; communication-graph draft to a record; A2A plan to plans/ Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * docs(j5): steering after the upstream integration — two independent policies, truthful-steer guard, stop wins over restart continuation; Astra delivery guidance removed Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * docs(j5): inbox, thread rendering and archive flow as definitions; Replied everywhere; a person receives asks only and never opens one Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * docs(j5): A2A definition — a person receives asks only and never opens one (repairs edits missed against the staged text) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * docs(j5): Roles, Crews, Memos, Playbooks, Spawning Guide, Shared Squadrons as definitions — the design-review register dissolved into them Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * docs(j5): dogfood plan consolidated under plans/; decision log, design review and backlog become records; principles' cases point at definitions by name; GitHub milestones carry the backlog Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * docs(j5): problems, use cases, fleet vision, cross-device and the PR pane as definitions; the posted PR-pane brief kept as a record Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * docs(j5): mechanical sweep — records renamed date-first with frontmatter, research stamped as_of, runbooks under runbooks/, process classified, README rewritten Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * docs(j5): fold the Fleet page contract into a definition Rewrites sidebar-and-roster as the Fleet page and sidebar definition (AC1–AC26, scenarios, History mapping SB1–SB7, FV1–FV11 and DV6), moves the 2026-09-04 fleet-visibility session record to its date-first name with a pointer to the definition, re-keys the dogfood plan's narrowing table by criterion, and gives the glossary's Fleet page, Squadron scope, orphan and delivery alarm terms their owners. Supersedes PR #107. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * docs(j5): rebase onto main and absorb the landed lifecycle, join, and cross-environment changes Rebased onto j5/main. Folds main's five doc changes into the rewritten definitions in their own shape: list_squadrons and join_squadron in the agent tools and substrate definitions and as Squadron AC14; reversible archive, unarchive and separate deletion in the archive-flow and tools definitions; the cross-environment merge (#125) as cross-device AC7–AC10 and inbox criteria, with build status in the dogfood plan. Records #126 and #127 as landed in the A2A plan. Moves the Squadron Scope section into the Definition and the plan per the conventions. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * fix(server): pin the send_message description to the definition's new shape The EnvelopeFormatter test reads the send_message description out of docs/j5/product/a2a/agent-tools.md and compares it byte-for-byte with the runtime string; the docs rewrite changed the heading and label the parser looked for. Update the parser to the definition shape, drop the stale "or a reply" toward a person from the runtime string (a person never opens an ask, so there is nothing to reply to; the channel itself went in #127), and hold the definition's description to the shipped string. The regarding sentence returns with #111. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
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.
Closes #105
What Changed
Squadrons and the human inbox now read from each connected environment. Creation, thread homes, launch choices, inbox navigation, and replies keep the owning environment throughout the web/desktop flow. Disconnected sources retain their loaded results and show incomplete coverage.
Why
These J5 features previously sent reads and actions through the primary environment even when remote environments were connected. The change reuses the existing connection registry and the shared authenticated HTTP transport, including bearer and relay DPoP credentials with one refresh-and-retry. Data stays on its owning server; no database migration is needed.
Takeover changes (
aaa3719f5b)executeAuthenticatedEnvironmentHttpRequest, so a relay token the server rejects is refreshed and retried once; focused test added.docs/user/remote-access.mdedit moved underdocs/j5/product/cross-device.md; FORK.md case 34 records the upstream-owned paths and amends cases 9 and 20.Validation
UI Changes
Two-environment captures use the same fixture data on both servers (same Linux host, so the displayed hostname is shared). Before:
j5/mainat the time. After: original head19b20b1ad9; the multi-environment presentation is unchanged ataaa3719f5b.Remote reply recording (10 seconds) · Inbox after the remote reply
Single-environment presentation at
aaa3719f5b(no environment labels, matching case 20):Evidence lives on
j5/evidence, pinned to414156c02(two-environment) and0b4237987(single-environment, with SHA256SUMS).Checklist
Implemented with GPT-6 using the Codex harness; takeover fixes by Claude Fable 5.1 using Claude Code.
🤖 Generated with Claude Code