Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion FORK.md
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,8 @@ migrations after upstream migrations.

45. Agent-led playbooks: `apps/server/src/provider/T3OrchestrationInstructions.ts` appends J5-owned retrieval and advancement guidance. All state, YAML reading, MCP operations, and authenticated reads remain under J5-owned modules; advancement never creates turns or controls provider lifecycle. Web `ChatView.tsx` mounts the J5 step board and expands submitted `/playbook` text; `ChatComposer.tsx` and `composer-logic.ts` append an ordinary built-in command. `packages/client-runtime/package.json` exports the shared J5 presentation and expansion helper. `docs/user/playbooks.md` describes that text expansion; upstream's `docs/user/composer.md` is untouched. The runs overview is a section of the existing J5-owned Fleet page. A J5-owned read-scoped revision stream notifies visible clients of committed playbook mutations. The RPC group, authorization scope map, handlers, and subscription tag are appended through existing J5 integration seams; the WebSocket handlers share the server-lifetime PlaybookStore. The J5-owned Settings library mounts within the existing Personas page. Creation uses Playbook Author with explicit Squadron ownership and preserves invested drafts; library reads resolve project/thread identities within the selected environment. Mobile `ThreadDetailScreen.tsx` mounts the native board, `use-composer-command-menu.ts` appends the same text expansion, and `use-thread-composer-state.ts`, `NewTaskDraftScreen.tsx`, and `new-task-flow-provider.tsx` apply it on existing/new-thread submission. The J5-owned mobile library mounts within the existing Personas screen (in upstream's Automations section of mobile Settings) and uses the same Playbook Author launch with an explicit Squadron. Its start-chat action preserves invested drafts. The native board shares the environment revision subscription and only refreshes while focused and foregrounded.

46. Crew seat approvals in the Inbox (#264): `packages/shared/package.json` appends the `./j5/crewRuntimeRequests` subpath export, so the server reads the J5-owned selector for the approvals the Inbox answers (`packages/shared/src/j5/crewRuntimeRequests.ts` `inboxAnswerableApprovals`) without importing client-runtime. J5-owned `packages/client-runtime/src/j5/crewRuntimeRequests.test.ts` holds that selector to the live approvals of upstream's `derivePendingThreadRequests` (`packages/client-runtime/src/state/threadRequests.ts`); when an upstream advance changes which approvals the composer shows or how it describes them, that test fails and the J5 selector follows.

## Pin and upstream advance runbook

Current candidate pin: `67a2be0fdbee7afb64b691f147ed286a108c706b`, from `t3code/codex-turn-mapping` (frozen 2026-09-24). The previous pin was `62aef8587c0263bed5ae2b26c38d6d138a0676f6`; its integration and this advance are recorded below.
Expand Down Expand Up @@ -644,7 +646,7 @@ indicate approval. The deleted hook remains explicitly marked.
| `packages/effect-codex-app-server/src/protocol.test.ts` | A | G |
| `packages/effect-codex-app-server/src/schema.test.ts` | N | G |
| `packages/effect-codex-app-server/test/fixtures/codex-app-server-mock-peer.ts` | R | G |
| `packages/shared/package.json` | N | 43 |
| `packages/shared/package.json` | N | 43, 46 |
Comment thread
bryantderosier marked this conversation as resolved.
| `packages/shared/src/devHome.test.ts` | R | H |
| `packages/shared/src/devHome.ts` | R | H |
| `packages/shared/src/model.test.ts` | A | 32 |
Expand Down
2 changes: 2 additions & 0 deletions apps/server/src/j5/a2a/ClientReadsHttp.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import { AgentCrewProposalService } from "./AgentCrewProposalService.ts";
import { CrewProposalService } from "./CrewProposalService.ts";
import { ArchiveCrewService } from "./ArchiveCrewService.ts";
import { CrewStopService } from "./CrewStopService.ts";
import { CrewRuntimeRequestService } from "./CrewRuntimeRequestService.ts";
import { ParticipantPlacementService } from "./PlacementService.ts";
import { A2AArchiveFacts } from "./ArchiveFactsService.ts";
import {
Expand Down Expand Up @@ -353,6 +354,7 @@ it("registers B6 client reads through the authenticated aggregate", async () =>
Layer.mock(AgentCrewProposalService)({}),
Layer.mock(CrewProposalService)({}),
Layer.mock(CrewStopService)({}),
Layer.mock(CrewRuntimeRequestService)({}),
Layer.mock(ArchiveCrewService)({}),
Layer.mock(ParticipantPlacementService)({}),
),
Expand Down
Loading
Loading