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
12 changes: 8 additions & 4 deletions SOURCES.md
Original file line number Diff line number Diff line change
Expand Up @@ -423,10 +423,14 @@ through one Implement owner that delivers one PR or its own planned stack. Input
is any set of work, and a spec is optional. To Tasks splits a body of work and
owns readiness, including its provisional start for a decision with a reversible
recommended option. Owners start from `assets/owner-kickoff.md` with an explicit
return route and report file; a running Implement session is adopted, never
duplicated. The chief reads Implement's owner report fields, accepts outcomes
under Orchestration, watches delegated owners' pending PRs, and routes
discoveries through an explicit disposition table.
return route and report file. Running a chief counts as a request for
sessions: each owner starts as its own top-level session bound to a host
worktree, watches its own PR, and reports with `t3_thread_send`, while the chief
waits on each owner's run through the host and reconciles one that ends
without a report; where the host cannot launch sessions, a delegated owner runs
in its own worktree and the chief watches its PR. A running Implement session is adopted, never duplicated. The
chief reads Implement's owner report fields, accepts outcomes under
Orchestration, and routes discoveries through an explicit disposition table.

Each outcome takes Implement's Land, Try, or PR finish line. Land picked under
that policy authorizes merging within the agreed program scope, with Merge's
Expand Down
39 changes: 27 additions & 12 deletions skills/chief-of-staff/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,9 @@ evidence, holds, watchers, and helpers. Record any landing it already armed as
its target's pending landing. Never start a second writer beside it; replace an
owner only under Orchestration's
[replace an owner](../orchestration/references/reuse-and-recovery.md#replace-an-owner),
after reconciling.
after reconciling. When the stopped owner's worktree still holds its branch,
reuse that worktree through the host (in T3, `existing_worktree`) once it is
clean and holds no unique commits, or start the replacement on a new branch.

Pick each outcome's finish line from Implement's
[table](../implement/SKILL.md#2-state-the-finish-line-and-prepare) and state the
Expand Down Expand Up @@ -88,15 +90,19 @@ holds up unrelated ones.

For each ready outcome, fill the [owner kickoff](assets/owner-kickoff.md) and
start an owner with it, writing `$implement` in place of `/implement` for a
Codex owner. Implement picks the method. Use
[Orchestration](../orchestration/SKILL.md) for model choice, delegation,
isolation, and concurrency. Independent branches get separate host-managed
worktrees; in T3, worktree-isolated delegation runs an owner in a child thread.
Start top-level threads only when the user asks for new sessions, and bind their
workspace through the host. Give each branch one writer, and serialize stack
operations and shared resources. Record each owner, its route, and its report
path. Owners get bounded helpers through the kickoff; only you start program
owners.
Codex owner. Implement picks the method and runs its helpers as its own
subagents.

Running a chief of staff is a request for sessions: start each owner as its own
top-level session, so the user can open and steer it. Bind its workspace through
the host, never in the shell: in T3, `t3_thread_launch` with a `worktree`
`workspaceStrategy` for the owner's branch. When the host cannot launch
top-level sessions, as in a plain Claude Code or Codex session, start a
delegated owner in its own host-managed worktree instead. Use
[Orchestration](../orchestration/SKILL.md) for model choice and concurrency.
Give each branch one writer, and serialize stack operations and shared
resources. Record each owner with its start mode, route, and report path. Only
you start program owners.

Each owner checks its access and proof before work runs unattended, under
Implement's [prepare](../implement/SKILL.md#2-state-the-finish-line-and-prepare).
Expand Down Expand Up @@ -159,8 +165,17 @@ when a base changes, under [integration](references/dependencies.md#integration)
Recompute ready work after each accepted result, landing, answer, or dependency
change, and start what became ready.

For delegated owners, this thread is the watching parent under PR's
[wait](../pr/references/watch.md#wait); a top-level owner watches its own PR.
A top-level owner watches its own PR and sends its reports, decision requests,
and blockers to this thread with `t3_thread_send`. It gives you no completion
wake-up, so after you start or message one, and before you end a turn with
owners outstanding, wait on each outstanding owner's run through the host (in
T3, `t3_thread_wait`, following its `next`). When a run ends, read the owner's
thread. Handle a sent report or request as usual. Reconcile a run that failed,
was interrupted, or went idle without a report or pending-PR partial: recover
it under Orchestration's
[recover work](../orchestration/references/reuse-and-recovery.md#recover-work),
or record the outcome blocked with what is missing. For a delegated owner, this
thread is the watching parent under PR's [wait](../pr/references/watch.md#wait).
Keep watching pending PRs while you ask the user something.

Done when every report, direction, and discovery has a disposition and newly
Expand Down
4 changes: 2 additions & 2 deletions skills/chief-of-staff/assets/owner-kickoff.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ Finish line: <Land | Try | review-ready PR | draft PR>, picked because <reason>.
Landing authority: <absolute link to the record's entry for this outcome's finish line and the program scope>. Land within that scope is the merge request Merge needs, and it takes effect only on the current chief's recorded landing release for your PR or stack.
Landing: report readiness and end your turn. Land through Merge only on that release. Immediately before submitting, re-read the record: confirm the current chief, your active release, you as its one named lander, and no affecting hold or decision; match the forge's head/base for every PR in the set to the release. Report a mismatch instead of landing. Sets that span several owners are landed by the chief.
Holds and user gates: <hold, source, release condition, or none>.
Delegation allowance: you may start the bounded helpers your workflow needs: implementation, verification, and review helpers, and Swarm workers that fit. <Further limits, or none>. Start no new program owners; send work that needs one to the chief.
Delegation allowance: you may start the bounded helpers your workflow needs as your own subagents: implementation, verification, and review helpers, and Swarm workers that fit. <Further limits, or none>. Start no new program owners; send work that needs one to the chief.

Owner report: write it to <record>/reports/<ID>.md. Send a partial report as soon as you hit a missing prerequisite, a human decision, or a pending PR, naming what continues and the event that resumes the rest.
Route: <delegated: end your turn with it; the chief thread watches your PR | top-level: send it to the chief thread <link> with t3_thread_send; you watch your PR>.
Route: <top-level: send it to the chief thread <link> with t3_thread_send; you watch your PR | delegated: end your turn with it; the chief thread watches your PR>.
Decision requests and shared blockers use the same route as they arise. In each decision request, say what reversing each option would take and cite any recorded source that settles it.
2 changes: 1 addition & 1 deletion skills/chief-of-staff/references/chief-move.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@ is incomplete.
## After either

The new chief reconciles state as on resume, sends owners their route, watches
delegated owners' pending PRs, and asks any remaining old thread to unwatch.
any delegated owner's pending PRs, and asks any remaining old thread to unwatch.
4 changes: 2 additions & 2 deletions skills/chief-of-staff/references/program-state.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ Keep, for each outcome under its stable ID:
other outcomes.
- **Finish line:** the picked line (Land, Try, review-ready PR, or draft PR) and
why, and the effective line while it is provisional.
- **Owner:** identity, thread or task IDs and links, start mode (delegated,
top-level, or adopted), return route, report path, model, and workspace. An
- **Owner:** identity, thread or task IDs and links, start mode (top-level,
delegated, or adopted), return route, report path, model, and workspace. An
outcome can be planned without one.
- **Inputs:** logical dependencies, branch-order constraints, and any blocks
with what is missing, who can supply it, and what it blocks.
Expand Down
7 changes: 3 additions & 4 deletions skills/implement/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,9 @@ description: Use when asked to implement a spec, ticket, task, or feature, to de

Carry one outcome to its finish line. Start from a brief, spec, task, ticket, or
clear request. Leave merged work for **Land**, something to try for **Try**, and
an owner report for your caller: the session that started you, or the user in a
top-level thread. You
are done when the finish line's gates pass, the user can open what you showed,
and the report is delivered.
an owner report for your caller: the session that started you, or the user when
they started you. You are done when the finish line's gates pass, the user can
open what you showed, and the report is delivered.

You own the outcome, the finish line, the order of handoffs, integration, scope,
and the report. Each linked skill owns its own procedure. Helpers return to you.
Expand Down
Loading