axstack 0.20.30 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +24 -23
  2. package/bin/axstack.js +18 -5
  3. package/docs/installation.md +101 -46
  4. package/docs/workflows.md +179 -117
  5. package/package.json +3 -3
  6. package/profiles/presets/claude-only.json +46 -46
  7. package/profiles/presets/codex-only.json +50 -50
  8. package/profiles/presets/mixed.json +59 -59
  9. package/skills/axstack/references/automations.md +127 -137
  10. package/skills/axstack/references/autopilot.md +121 -0
  11. package/skills/axstack/references/candidate-publication.md +13 -8
  12. package/skills/axstack/references/contracts.md +10 -4
  13. package/skills/axstack/references/diligence.md +3 -1
  14. package/skills/axstack/references/evidence-archive.md +38 -33
  15. package/skills/axstack/references/lifecycle.md +64 -50
  16. package/skills/axstack/references/review-manager-prompt.md +13 -11
  17. package/skills/axstack/references/role-roster.md +19 -9
  18. package/skills/axstack/references/routing.md +33 -18
  19. package/skills/axstack/references/run-record.md +36 -15
  20. package/skills/axstack/references/t3-runtime.md +234 -0
  21. package/skills/axstack/references/test-audit-weekly.md +62 -0
  22. package/skills/axstack/references/test-value.md +120 -0
  23. package/skills/axstack/references/ui-verification.md +5 -1
  24. package/skills/axstack/references/workspace-hygiene.md +102 -156
  25. package/skills/axstack/scripts/pr-digest.js +120 -0
  26. package/skills/axstack/scripts/resolve-models.js +102 -0
  27. package/skills/axstack-align/SKILL.md +25 -11
  28. package/skills/axstack-audit/SKILL.md +22 -5
  29. package/skills/axstack-audit/references/record.md +1 -1
  30. package/skills/axstack-cleanup/SKILL.md +69 -87
  31. package/skills/axstack-debug/SKILL.md +1 -1
  32. package/skills/axstack-explain/SKILL.md +1 -1
  33. package/skills/axstack-explain/references/visual-qa.md +2 -0
  34. package/skills/axstack-implement/SKILL.md +76 -26
  35. package/skills/axstack-improve/SKILL.md +24 -4
  36. package/skills/axstack-relay/SKILL.md +16 -7
  37. package/skills/axstack-research/SKILL.md +11 -4
  38. package/skills/axstack-review/SKILL.md +42 -32
  39. package/skills/axstack-spec/SKILL.md +23 -14
  40. package/skills/axstack-tickets/SKILL.md +13 -11
  41. package/skills/axstack-watch/SKILL.md +117 -34
  42. package/skills/axstack-watch/references/watch-runtime.md +61 -69
  43. package/src/capabilities.js +33 -69
  44. package/src/installer.js +9 -1
  45. package/src/instructions.js +9 -4
  46. package/src/roles.js +38 -10
  47. package/skills/axstack/references/orca-runtime.md +0 -183
  48. package/skills/axstack/scripts/trust-path.js +0 -123
package/docs/workflows.md CHANGED
@@ -1,7 +1,8 @@
1
1
  # Axstack workflows
2
2
 
3
- Chat drives execution. Orca is the only supported active runtime and owns
4
- worktrees, sessions, supervised dispatch, messaging, settlement, and handoff.
3
+ The current T3 thread drives execution. T3 Code is the only supported active
4
+ runtime and owns worktrees, threads, runs, delegated tasks, messaging, and
5
+ native schedules.
5
6
  Axstack owns workflow policy, role data, evidence, and the private derived run
6
7
  record. It adds no daemon, scheduler, runtime database, or escalation engine.
7
8
 
@@ -11,7 +12,7 @@ Axstack implements that skill's specialist capability.
11
12
  ## Routing and scope identity
12
13
 
13
14
  The directly invoked phase loads the applicable shared references for routing,
14
- lifecycle, Orca runtime boundaries, role/model/risk contracts, the run record,
15
+ lifecycle, T3 runtime boundaries, role/model/risk contracts, the run record,
15
16
  and PR shape.
16
17
 
17
18
  Direct routes need no spec ceremony:
@@ -20,7 +21,10 @@ Direct routes need no spec ceremony:
20
21
  - `axstack-explain` separates implemented, intended, tested, live, and unknown
21
22
  behavior; complex visuals receive exact-artifact QA where applicable.
22
23
  - `axstack-improve` returns a small ranked set of evidenced improvement
23
- candidates without editing code.
24
+ candidates without editing code. Its test-audit lens marks every declaration
25
+ in one owner boundary R/F/C/D, reports reviewed and eligible counts, and routes
26
+ authorized, proven cleanup to Implement as structure-preserving work through
27
+ independent review.
24
28
  - Manual `axstack-review` can inspect existing code at an exact revision within
25
29
  a named scope. Both configured peer reviewers inspect six lenses independently;
26
30
  the driver reports validated defects and risks, improvement opportunities,
@@ -44,11 +48,36 @@ multi-PR or stacked work. Unclear work is clarified, then classified. A deeper p
44
48
  the same identity before action; missing preparation names the gap and holds
45
49
  only affected work.
46
50
 
51
+ ## Weekly test-audit activation
52
+
53
+ The packaged [weekly prompt](../skills/axstack/references/test-audit-weekly.md)
54
+ is repo-agnostic policy. No automation is created by this delivery; scheduling
55
+ starts later for each repository the user names.
56
+
57
+ 1. Record the repository and test-path allowlist, a finite pass budget, and
58
+ standing edit and PR-open authority. Zero deletions is normal; proven F
59
+ repairs are eligible.
60
+ 2. Configure that repository's dedicated T3 project and lane thread under the
61
+ [T3 runtime boundary](../skills/axstack/references/t3-runtime.md). Set and
62
+ read back its role binding, then use `schedule_task` with the packaged prompt
63
+ and activation values, `bindToCurrentThread:false`, and a stable
64
+ `clientRequestId`. Do not add a scheduler or cursor.
65
+ 3. Before enabling the schedule, pass the
66
+ [native activation canary](../skills/axstack/references/automations.md): fresh
67
+ pass threads, overlap admission, killed-predecessor recovery, capacity and
68
+ bounded retained worktrees. Preserve runtime receipts; source checks alone
69
+ do not establish these facts.
70
+ 4. Missing authority, or no passing native canary, holds activation. Each pass
71
+ derives one boundary from test-audit PR history, skips open PRs, overlap with
72
+ live T3 thread/run and worktree ownership, unsafe baselines or empty candidate sets,
73
+ and opens at most one independently reviewed test-only PR per week through
74
+ the driver. Workers never push; the human merges.
75
+
47
76
  ## Role presets
48
77
 
49
78
  Installation requires one explicit canonical preset. The three bundle files
50
79
  under `profiles/presets/` each contain exactly
51
- `{ "version": 1, "roles": [...] }` and the same 32 stable IDs.
80
+ `{ "version": 1, "roles": [...] }` and list all role IDs in the same order.
52
81
 
53
82
  The current chat drives on whatever model runs it; no preset carries a driver
54
83
  role.
@@ -61,7 +90,7 @@ role.
61
90
 
62
91
  In `mixed` and `claude-only`, `axstack-auditor`, `axstack-research-requirements`,
63
92
  `axstack-research-code`, `axstack-research-web`, `axstack-explore-execution`,
64
- and `axstack-monitor` use Claude Sonnet 5.5 high. `codex-only` keeps its Codex
93
+ and `axstack-monitor` use the Claude Sonnet class at high effort. `codex-only` keeps its Codex
65
94
  assignments for those roles. Mixed web-google and X retain their source-specific
66
95
  Antigravity and Grok routes.
67
96
  The new `-sol` auditor, research-code, and explore-execution seats use Sol high
@@ -72,60 +101,61 @@ their findings per claim without averaging.
72
101
  The installed `<skills-dir>/axstack/roles.json` adds the selected preset name:
73
102
  `{ "version": 1, "preset": "<name>", "roles": [...] }`. The runtime reads it
74
103
  from the installed shared root `skills/axstack/` and records the whole table for
75
- a new run. Active runs retain their snapshot after later installation changes.
104
+ a new run. Per role it records class, exact ID, source, and time. Codex and
105
+ Claude classes resolve to the newest matching ID from the saved T3 capabilities
106
+ catalog using `skills/axstack/scripts/resolve-models.js --provider`; missing or
107
+ malformed catalogs hold. Active runs and resume reuse their snapshot after
108
+ later installation changes without re-resolution.
76
109
 
77
110
  Peer roles keep the stable IDs `axstack-reviewer-primary` and
78
- `axstack-reviewer-secondary`; their provider/model mappings come only from the
111
+ `axstack-reviewer-secondary`; their provider/class mappings come only from the
79
112
  selected preset.
80
113
 
81
114
  The unavailable adviser in each single-provider preset stays explicitly
82
115
  `model: null` within that provider's bounds. Installer readiness accepts that
83
116
  intentional absence, but Align and Spec hold because both independent receipts
84
117
  are required. The mixed checker and Google web-research route use provider
85
- `antigravity`; the X route uses `grok`. Launch-by-agent-id routes for which Orca
86
- exposes no model override (today: `grok`, `antigravity`) record `model: null` with an explicit note and are
87
- launchable; the run record snapshots the model the TUI reports. Missing or unavailable roles hold only affected
88
- work. Model, effort, and permission values express requested intent until real
89
- Orca receipts establish the effective session. Stored `modeId` is not permission
90
- parity or a sandbox. No route is inferred from subscription, quota, harness,
91
- provider defaults, or installed tools, and no model is substituted silently.
92
-
93
- ## Orca runtime boundary
94
-
95
- Immediately before dispatch, delivery processing, settlement, recovery, or
96
- handoff, load the shared `skills/axstack/references/orca-runtime.md`. It resolves
97
- one Orca executable, then loads only the version-matched guide needed by the
98
- operation: `orchestration` for Run/Task/Dispatch supervision, `orca-cli` for
99
- worktrees, automations, handoff, and publication, and `orca-linear` for Linear
100
- issues. Axstack follows current command help and named conditional references;
101
- guide availability is not exercised runtime support. It does not vendor the
102
- guides or restate a competing command protocol.
103
-
104
- All subagent, delegated-worker, reviewer, and cross-harness work goes through Orca
105
- orchestration via the `orca` CLI (`orca-cli` / `orchestration` guides). Do not use a
106
- harness-native subagent tool (e.g. Claude/Codex native subagents) for delegated work;
107
- use Orca runs, tasks, and dispatches instead so the work stays visible. OpenCode
108
- and Antigravity subagents run as Orca-supervised workers.
109
-
110
- Supervised work uses native Run, Task, and Dispatch identity. Preserve actual
111
- terminal, agent, worktree, requested/effective role, and revision receipts.
112
- `input_accepted` proves only terminal input; `turn_started` and session
113
- inspection are separate. Trust, permission, hook-review, authentication, and
114
- model prompts are visible holds. Never answer trust or permission prompts for a
115
- worker. Reconcile the existing attempt through the runtime guide before retry,
116
- so one candidate never gains a duplicate writer.
117
-
118
- Process each whole delivery before acknowledgment. A `worker_done` belongs only
119
- to its expected active Task and Dispatch, and its revision evidence still needs
120
- verification. `consumer_fenced` stops consumption under the stale identity;
121
- never forge, borrow, or bypass a coordinator identity. Runtime settlement owns
122
- reuse, retention, and release. A `user_takeover` terminal remains retained and
123
- is not reused or closed as cleanup.
124
-
125
- Ordinary restart reconciles the same owner, author, Task, Dispatch, worktree,
126
- revisions, and pending receipts. Idle, silence, contact loss, or missing status
127
- never proves exit. Authorized fixes return to the same original author when its
128
- session and evidence remain valid.
118
+ `antigravity`; the X route uses `grok`. Those agent-ID routes retain
119
+ `model: null` notes and resolve the exact model from the first provider entry
120
+ in saved T3 capabilities. Empty Antigravity catalogs hold. Missing or
121
+ unavailable roles hold only affected work. Requested model, effort, and
122
+ permission values need actual T3 configuration read-back; stored `modeId` is
123
+ neither permission parity nor a sandbox. Rejection, timeout, quota, and auth
124
+ failures hold; no subscription inference, quota routing, or alternative retry
125
+ applies.
126
+
127
+ ## T3 runtime boundary
128
+
129
+ Immediately before dispatch, receipt consumption, or recovery, load the shared
130
+ [T3 runtime reference](../skills/axstack/references/t3-runtime.md). The driver
131
+ saves `orchestrator_capabilities` JSON and follows the advertised tool schema.
132
+ The reference owns role dispatch, provider options, receipts, questions,
133
+ launch recovery, run-watch waits, ownership transfer, and cleanup.
134
+ Capability discovery alone is not execution proof.
135
+
136
+ All subagent, delegated-worker, reviewer, and cross-harness work uses T3
137
+ orchestration through the `t3-code` MCP. Do not use harness-native subagent
138
+ tools. Read-only roles use async `delegate_task`; reviewers and investigators
139
+ receive driver-made disposable detached checkouts pinned to candidate and base.
140
+ Authors use `t3_thread_launch` in their own SHA-pinned worktrees. Repairs return
141
+ to the same author and worktree. The current T3 driver owns coordination and
142
+ forge mutations and never writes an author's tracked files.
143
+
144
+ Preserve native `taskId/childThreadId/childRunId` or
145
+ `threadId/runId/worktree/branch/base SHA`, dispatch key, requested/effective
146
+ configuration, and private evidence. Persist `task_status` before
147
+ `t3_thread_read`; delegated completion needs terminal success, available result,
148
+ settled child runs, and the current `AXSTACK-DONE` marker. Launched writers
149
+ send their marker to the driver, which also verifies terminal `t3_thread_wait`,
150
+ a clean tree, non-empty diff, and red/green logs. An older attempt never
151
+ completes a newer one. Questions remain incomplete until the resumed run settles.
152
+
153
+ Trust, permission, authentication, and provider safety prompts are holds;
154
+ never answer trust or permission prompts for a worker. Unknown liveness,
155
+ silence, or a missing status never proves exit or authorizes a second writer.
156
+ Ordinary resume keeps the owner, author, attempt, worktree, and pending receipts.
157
+ The runtime reference defines exact-title recovery and recipient acceptance
158
+ for explicit ownership transfer.
129
159
 
130
160
  ## Phases
131
161
 
@@ -143,25 +173,28 @@ session and evidence remain valid.
143
173
  session for round 2, high-stakes agreement, or the bounded trigger in
144
174
  [Standing contracts](../skills/axstack/references/contracts.md).
145
175
  - `axstack-spec` writes observable acceptance, exclusions, decisions, and one
146
- user-approved revision baseline. Linear is the default authoritative store;
147
- GitHub Issues and repository Markdown are explicit alternatives. A GitHub
148
- baseline pins the issue URL and approved body digest. Linear document
149
- operations preflight the current `orca-linear` guide and command help; a
150
- missing native operation holds only that operation without MCP fallback or a
151
- store switch.
176
+ user-approved revision baseline. Linear through the executor MCP is the
177
+ default only for `defi-com` repositories; GitHub Issues and repository
178
+ Markdown are explicit alternatives and the stores for other repositories.
179
+ A GitHub baseline pins the issue URL and approved body digest. Preflight
180
+ Linear document access separately through executor; a missing operation
181
+ holds only that operation without mutation or a store switch. Notion also
182
+ uses executor, including both accounts.
152
183
  - `axstack-tickets` maps user-visible capabilities to dependency-aware internal
153
- tasks. Linear is the default selected store with access preflight; GitHub
154
- Issues is an explicit external-tracker alternative and repository Markdown
155
- is an explicit local alternative. Only the driver mutates lifecycle state.
184
+ tasks in the selected Markdown, GitHub Issues, or Linear store under the same
185
+ organization boundary. Only the driver mutates lifecycle state.
156
186
  - `axstack-implement` uses strict behavioral RED, GREEN, then refactor. The
157
187
  narrow accepted structure-preserving route uses old-green and the same check
158
188
  new-green. One author writes and returns a local receipt without pushing. The
159
189
  owner reconciles it, publishes the unchanged commits through `gh stack`, and
160
190
  confirms the remote SHA before review. Local green and CI green remain
161
- separate evidence.
191
+ separate evidence. Authors apply the shared
192
+ [test-value gate](../skills/axstack/references/test-value.md) to each new or
193
+ changed test; reviewers check added, changed, and removed test hunks, including
194
+ the named keepers or vacuity/obsolescence evidence for removals.
162
195
  - `axstack-review` gives peer PRs two isolated same-brief reviewers and authored
163
196
  PRs one eligible cross-family/preset-mapped reviewer. Every reviewer runs in
164
- a separate candidate-child worktree, with private evidence preserved before
197
+ a separate detached checkout, with private evidence preserved before
165
198
  removal. All cover security,
166
199
  correctness, integration, requirements, design, and simplicity. Report-only
167
200
  never publishes; authorized submission binds the exact commit.
@@ -173,12 +206,14 @@ session and evidence remain valid.
173
206
  and remote readback.
174
207
  - `axstack-audit` separates execution outcome, procedure, and measurement
175
208
  coverage with evidenced denominators; it proposes but never self-edits.
176
- - `axstack-cleanup` distinguishes settled-Dispatch release, exact unused-shell
177
- close, evidence-safe native worktree removal and branch effects, and separate
178
- chat archival when the discovered runtime actually supports it. Process exit
179
- alone never promises that visible chat history disappeared.
180
-
181
- One Orca execution host owns a run, one persistent owner owns each PR, and one
209
+ - `axstack-cleanup` settles inline in the driver. Confirm descendants settled,
210
+ read back private evidence, salvage dirty or ignored non-cache content,
211
+ archive the exact eligible thread, then remove its exact worktree without
212
+ force and delete only eligible local branches. T3 metadata actions do not
213
+ remove worktrees. Authors remain until their PR merges or closes; the current
214
+ pass, unsettled descendants, and user-taken-over threads remain protected.
215
+
216
+ One T3 host/server owns a run, one persistent owner owns each PR, and one
182
217
  writer owns each candidate. Fanout has no fixed PR count; it follows real
183
218
  dependencies, writer isolation, host capacity, and spending limits. Each PR has
184
219
  one theme and a measured size under the shared
@@ -192,8 +227,8 @@ autonomous driver choices; size alone never requires user approval.
192
227
 
193
228
  Only an explicit user request transfers ownership. Record the intended
194
229
  recipient, exact scope, revisions, authority, and pending request, then follow
195
- the runtime-owned `orca-cli` handoff guide. Input acceptance and turn start do
196
- not transfer ownership. The recipient must explicitly accept the exact handoff;
230
+ the [T3 runtime transfer contract](../skills/axstack/references/t3-runtime.md).
231
+ Input acceptance and turn start do not transfer ownership. The recipient must explicitly accept the exact handoff;
197
232
  only then does the prior owner stop. Missing capability or ambiguous acceptance
198
233
  keeps the current owner and a resumable record.
199
234
 
@@ -201,11 +236,15 @@ keeps the current owner and a resumable record.
201
236
 
202
237
  Serious security, downtime, data-loss, and major-design risks are raised in a
203
238
  prompt immediately and hold dependent dangerous work. This is not a runtime
204
- gate. An applicable `Notification policy` may use `axstack-relay` for serious
205
- risk immediately or a genuine blocker needing user intervention after bounded
206
- safe recovery. Questions, spec approvals, progress, CI pending, merge-ready,
207
- merged, and completion stay in Orca. The relay normally delivers one-way
208
- through native `hermes send`: it checks CLI lookup and the configured target,
239
+ gate. An applicable `Notification policy` may use `axstack-relay` only for a
240
+ user-decision hold (including spec or npm approval and a genuine blocker after
241
+ bounded safe recovery), a serious-risk hold immediately, or at most two merge-ready/merged milestones per run.
242
+ Routine questions stay in the T3 driver thread. Progress, CI pending, and
243
+ completion always stay in the T3 driver thread.
244
+ Only the bounded categories—user-decision holds (including spec approval),
245
+ serious-risk holds, and at most two merge-ready/merged milestones per run—may
246
+ be relayed under the recorded Notification policy. The relay normally delivers
247
+ one-way through native `hermes send`: it checks CLI lookup and the configured target,
209
248
  binds the recipient, deduplicates on the run record, and records the returned
210
249
  `message_id`. PR-manager notifications point the user to GitHub or a durable
211
250
  user-owned conversation; Telegram delivery, replies, and silence grant no action
@@ -216,46 +255,68 @@ read-only observer for standalone watches and never sends.
216
255
 
217
256
  ## Chat-run PR watch
218
257
 
219
- Use `axstack-watch` chat-run mode to watch every PR raised by this chat's Run, including later verified publications and PRs the driver explicitly adopts. A harness-native monitoring or scheduled wake resumes the driver chat every 10 minutes by default; only when the harness has no such capability does the existing Orca `*/10` observer act as fallback. Record the chosen mechanism in the run record. Each wake runs the own-PR maintenance loop: address feedback, rebase on base movement, rerun required CI, and check the forge-counted human approval. Delegated work still runs through Orca; there is no daemon or polling model between wakes. Independent PRs can repair in parallel with one writer per PR; stack ancestor changes invalidate child evidence. An incomplete scan leaves readiness `UNKNOWN`.
220
-
221
- The watch lasts until all member PRs merge or close, you cancel it, or its wake expires. Stop and verify the chosen wake; an Orca fallback also needs automation disable/readback and workspace retirement. Worker settlement and run archive are separate driver steps. Run-created implementation candidates are published and read back before independent authored review. Adopted own-PR maintenance candidates receive independent exact-local-SHA review before driver publication and remote readback. The human merges. Source and installed instructions do not prove scheduled observation, driver wake, or live activation; those require native receipts.
258
+ For authorized engineering delivery, [Autopilot](../skills/axstack/references/autopilot.md)
259
+ continues from Align through the eligible phase sequence in the same chat.
260
+ The human approves substantial specs, release PRs, peer and deploying-base
261
+ merges, and the npm stage. Only the chat-run driver holding the approved ticket
262
+ map may merge its own eligible integration-base PRs under the full
263
+ [watch merge predicate](../skills/axstack-watch/SKILL.md#5-state-readiness-precisely). Managers,
264
+ workers, reviewers, automations, and standalone watches never merge. An open
265
+ hold pauses the run. Implement arms maintain-mode watch
266
+ at its first published PR; release and install run only under recorded per-run
267
+ authority, and Close-out follows their verified receipts.
268
+
269
+ Use `axstack-watch` chat-run mode to watch every PR raised by this run,
270
+ including later verified publications and PRs explicitly adopted by the driver.
271
+ A bound T3 schedule resumes the driver thread every 10 minutes; record the
272
+ schedule ID and expiry. Each wake reconciles all unsettled dispatch attempts
273
+ and runs the own-PR maintenance loop: feedback, base movement, required CI,
274
+ and approval. Delegated work follows the T3 runtime contract. There is no
275
+ daemon or polling model between wakes. Independent PRs can repair in parallel
276
+ with one writer per PR; a changed stack ancestor invalidates child evidence.
277
+ An incomplete scan leaves readiness `UNKNOWN`.
278
+
279
+ The watch lasts until all member PRs merge or close and release is settled or
280
+ not applicable, the user cancels, or its wake expires. Delete the schedule by
281
+ its recorded ID and verify absence through `list_scheduled_tasks`; uncertain
282
+ deletion preserves the hold. Settlement and run archive are separate driver
283
+ steps. Implementation candidates are published and read back before independent
284
+ authored review. Adopted own-PR maintenance receives independent exact-local-SHA
285
+ review before driver publication and remote readback. The human merges by
286
+ default. Installed instructions do not prove scheduled observation or driver wake.
222
287
 
223
288
  ## Optional native peer-review automation
224
289
 
225
- The optional native review manager runs at minutes `0,15,30,45`. Each
226
- scheduled pass uses a fresh finite session in one dedicated existing workspace, scans complete
227
- discovery pages, and admits eligible actionable PR events within measured host
228
- capacity. Waiting PRs stay covered and consume no slot after
229
- owned descendants settle. Each job uses one repository-parented worktree; the
230
- manager never checks out PR branches in its own workspace.
231
-
232
- Every pass reconciles saved, GitHub, and native Orca state across the lane before
233
- admission. A confirmed same-lane manager makes the new duplicate do no work or
234
- shared-record write; it closes only its own exact terminal. The pass settles
235
- descendants,
236
- releases worker terminals, archives private evidence and reads it back, then
237
- uses `axstack-cleanup` guards to remove reviewer and PR-job worktrees. A merged
238
- or closed PR does not keep a clean job worktree waiting for a user decision.
239
- Dirty source, unpushed commits, `user_takeover`, unknown liveness, and ambiguous
240
- publication remain cleanup holds. The manager saves compact continuity, then
241
- closes its own exact terminal as the final action. Manual review and user-driven
242
- `axstack-watch` remain outside this scheduled lifecycle.
243
-
244
- Manager and job commands set `TMPDIR` to a private directory inside their owning
245
- workspace. Each bounded job uses a private `0700` directory. Cleanup targets
246
- only the validated owned path: no `TMPDIR` globs,
247
- shared-root sweeps, or general cache wipes, and uncertain files remain for
248
- reconciliation. Permission prompts and provider safety refusals are incomplete
249
- holds, never bypass or cross-model retry signals. The coordinator preserves the
250
- evidence, settles the exact owned tree through Orca's supported lifecycle, and
251
- releases capacity only after native settlement is verified. Unresolved execution
252
- teardown pauses the lane; retained evidence or cleanup metadata does not consume
253
- a slot after positive full-tree settlement. Once settled, an unchanged held
254
- event remains deduplicated while unrelated eligible PRs continue.
255
-
256
- Requested peer reviews cover any accessible repository. Orca owns schedules,
257
- sessions, Tasks, and Dispatches. Axstack adds no custom scheduler, queue engine,
258
- cursor files, polling loop, or historical runtime fallback.
290
+ The optional native review manager uses the VPS T3 project `axstack-review-lane`
291
+ on the existing host clone. Configure and read back the lane's `axstack-owner`
292
+ binding, then create an unbound T3 schedule every 15 minutes. Each pass starts
293
+ in a fresh finite worktree from `origin/main`, fetches first, and checks its
294
+ binding. Continuity lives outside worktrees at
295
+ `~/.local/share/axstack/runs/review-manager/progress.md`. Per-PR detached
296
+ review checkouts come from existing host clones; a missing clone holds that job.
297
+
298
+ Every pass reconciles saved, GitHub, and native T3 state across the lane before
299
+ admission and reads all discovery pages. Incomplete inventory or unknown
300
+ ownership holds admission. A live or uncertain earlier pass keeps its PRs;
301
+ ordering evidence is required to identify the earlier owner. A duplicate
302
+ admits nothing, writes only its private discovery note, and notifies once about
303
+ a stalled owner under the recorded policy.
304
+
305
+ Capacity is measured across the host. Waiting events stay covered and occupy
306
+ no execution slot after descendants settle. Each pass retires eligible settled
307
+ predecessors through `axstack-cleanup` and records retained worktree count.
308
+ Past the authorized storage limit (default 20 lane worktrees), disable the
309
+ schedule with `enabled:false` and hold. The overlap, real-event, killed-predecessor,
310
+ and storage-limit canaries must pass before activation.
311
+
312
+ Jobs use private owned `0700` scratch paths. Preserve evidence before exact
313
+ cleanup; dirty source, ignored non-cache content, unpushed commits,
314
+ user-taken-over threads, uncertain publication, and unknown liveness hold
315
+ retirement. No broad scratch deletion or forced worktree removal applies.
316
+ Manual review and user-driven `axstack-watch` remain outside this schedule.
317
+ Requested peer reviews cover any accessible repository. T3 owns schedules,
318
+ threads, runs, and delegated tasks; Axstack adds no queue engine, scheduler,
319
+ cursor files, or historical runtime fallback.
259
320
 
260
321
  ## Review automation
261
322
 
@@ -277,14 +338,15 @@ canary described by the operational contract.
277
338
 
278
339
  Substantive delegated or resumable work uses one compact `progress.md` rooted at
279
340
  `git rev-parse --path-format=absolute --git-common-dir`. It is shared across
280
- worktrees but never tracked. The driver alone writes it; actual Orca state, Git
341
+ worktrees but never tracked. The driver alone writes it; actual T3 state, Git
281
342
  revisions, forge state, and approved scope remain authoritative.
282
343
 
283
344
  Structural checks verify packaging and declared policy, not agent behavior.
284
345
  Predeclared scenario evaluation is qualitative behavior evidence, not deterministic proof. Runtime
285
- compatibility requires actual guide discovery, role/session evidence, worktree
286
- and Dispatch receipts, completion delivery, and cleanup as applicable. Mobile
287
- completion and reply behavior remain unverified.
346
+ compatibility requires capability discovery, configuration read-back, native
347
+ thread/run/task and worktree receipts, completion delivery, and cleanup as
348
+ applicable. Mobile completion and reply behavior remain unverified for routes
349
+ without matching live receipts.
288
350
  End-to-end compatibility remains unverified for any route without matching
289
351
  runtime receipts; evidence from one route does not establish support for all roles.
290
352
 
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "axstack",
3
- "version": "0.20.30",
4
- "description": "Axstack installer and setup CLI: installs owned chat skills and role data, configures supported harness settings, and checks Orca capabilities.",
3
+ "version": "0.21.0",
4
+ "description": "Axstack installer and setup CLI: installs owned chat skills and role data, configures supported harness settings, and checks T3 Code capabilities.",
5
5
  "keywords": [
6
6
  "claude-code",
7
7
  "codex",
8
- "orca",
8
+ "t3-code",
9
9
  "agents",
10
10
  "skills",
11
11
  "orchestration"