axstack 0.25.3 → 0.25.5

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.
@@ -35,9 +35,9 @@ human approval)` as a decision hold eligible under the Notification policy.
35
35
 
36
36
  ## Phase sequence
37
37
 
38
- - Small: Align read-back, small-change intent, implement, watch in maintain
39
- mode, merge under the watch §5 predicate. An opted-in Align refinement is part
40
- of read-back.
38
+ - Small: small-change intent read-back, with Align only when unclear, then
39
+ implement, watch in maintain mode, merge under the watch §5 predicate.
40
+ An opted-in Align refinement is part of read-back.
41
41
  - Substantial: Align, spec draft with advisers and diligence, human spec
42
42
  approval at gate 1, tickets with diligence, implement, watch in maintain mode,
43
43
  merge-ready, merge under the watch §5 predicate. An opted-in Align refinement
@@ -96,10 +96,11 @@ noted. Install hosts come only from explicit targets; an absent host list is a
96
96
  decision hold, not permission to infer hosts. A missing install host list at
97
97
  Align or spec time is a decision hold before release authority is presented.
98
98
 
99
- Show the `Release:` line in the spec for human approval at gate 1, or the small
100
- work Align read-back. Copy that decision to `Authority:` in the run record.
99
+ Show the `Release:` line in the spec for human approval at gate 1, or the
100
+ small-change intent read-back. Copy that decision to `Authority:` in the run
101
+ record.
101
102
  This authority is per run and never carries over to another run or repository.
102
- The small-work Align read-back names the existing Release and host-mutation
103
+ The small-change intent read-back names the existing Release and host-mutation
103
104
  authority and explicit hosts; silence cannot fill a missing authority or target.
104
105
 
105
106
  After all required feature PRs merge, open one release PR. Default to a patch
@@ -9,10 +9,13 @@ which loads `../axstack/references/automations.md` relatively. Read that contrac
9
9
  and [T3 runtime](t3-runtime.md). Reconcile lane ownership and duplicate status,
10
10
  then follow [Provider bindings](t3-runtime.md#preflight-and-binding) for shared schedule
11
11
  recreation and recorded instance update before verifying the recorded `axstack-owner`
12
- binding before admission. Discover all eligible peer-review events and admit within measured host capacity.
12
+ binding before admission. At pass start, every pass, including a duplicate,
13
+ settles finished predecessor and duplicate pass threads under the Finite-session
14
+ teardown guards before admission. Discover all eligible peer-review events and admit within measured host capacity.
13
15
  Use host-clone detached per-PR checkouts; preserve exact ownership and receipts.
14
- Retire settled predecessors, report retained worktree count, and disable the
15
- schedule and hold past its authorized limit. Save and read back continuity at
16
+ Report retained worktree count and disable the schedule and hold past its
17
+ authorized limit. Only the owner retires settled predecessors and saves and
18
+ reads back continuity at
16
19
  `~/.local/share/axstack/runs/review-manager/progress.md` using
17
20
  `run-record.md#review-manager-continuity-template`; settle descendants and end
18
21
  the finite turn. Stay quiet when unchanged. Never check out a PR branch here.
@@ -5,10 +5,12 @@ Driver entry sweep follows [Workspace hygiene](workspace-hygiene.md).
5
5
 
6
6
  ## Role routing
7
7
 
8
- Presets: `mixed`, `codex-only`, `claude-only`. For new runs, use
9
- `profiles.preset` from `.axstack-manifest.json` at the actually loaded
10
- skills root, or an explicit user selection in the run record. Missing or contradictory sources are
11
- a setup gap: hold. Never infer from live profiles, harness,
8
+ Presets: `mixed`, `codex-only`, `claude-only`. For new runs, read the `preset`
9
+ from installed `skills/axstack/roles.json` at the actually loaded skills root,
10
+ or use an explicit user selection in the run record. The legacy manifest
11
+ `profiles.preset` is inert and ignored, including stale values. A stale
12
+ manifest value does not create a contradiction. Missing or contradictory installed
13
+ preset / explicit user selection: setup gap, hold. Never infer from live profiles, harness,
12
14
  tools, credentials, quota, subscription, or default to `mixed`.
13
15
  Only same-provider, same-model account selection among instances of one driver
14
16
  may use headroom under [Provider bindings](t3-runtime.md#preflight-and-binding);
@@ -23,7 +25,7 @@ For each role record class, resolved exact ID, source (`capabilities`), and time
23
25
  Read the [T3 runtime boundary](t3-runtime.md) before dispatch, receipt consumption
24
26
  or recovery; use its permitted-write role split, completion checks and run watch.
25
27
  Resolve Codex and Claude classes with
26
- `skills/axstack/scripts/resolve-models.js --provider <provider> --capabilities <path>`
28
+ `skills/axstack/scripts/resolve-models.js --provider <provider> --capabilities <path> (--class <class> | --model <model>) --effort <effort>`
27
29
  using saved T3 capabilities JSON; missing or malformed capabilities holds.
28
30
  Claude exact IDs come from capabilities, replacing transcript read-back.
29
31
  Use an explicit model as given; for `model:null` without a class, grok uses the
@@ -118,7 +120,8 @@ reason in the run record, or in the brief for tiny direct work.
118
120
  Own PRs default to automatic merge under watch §5 predicate.
119
121
  - **Unclear:** clarify via `axstack-align` or a bounded question, then
120
122
  classify small or substantial; it does not force substantial-work paperwork.
121
- [Design lens](design-lens.md) Rung 1 is Unclear; use `axstack-align`.
123
+ Only an unsettled material Rung 1 design question is Unclear; use `axstack-align`
124
+ ([Design lens](design-lens.md)).
122
125
 
123
126
  Reassess size when growth adds an additional PR, a new execution dependency
124
127
  that materially expands scope, an unsettled material design question, or a
@@ -139,9 +139,9 @@ Record the reason for each driver-elected repair in `Decisions`.
139
139
  ## Privacy
140
140
 
141
141
  Record concise IDs, SHAs, URLs, status, timestamps, next actions, and evidence
142
- references. Include no tokens, transcripts, full worker output, credentials,
143
- private prompts, or machine-specific paths beyond the private record's own
144
- resolved location. Publication of a sanitized summary needs separate
142
+ references. Private records include the checkout, evidence and worktree paths
143
+ that the schema requires. Include no tokens, transcripts, full worker output,
144
+ credentials or private prompts. Publication of a sanitized summary needs separate
145
145
  authority.
146
146
 
147
147
  ## Review-manager continuity template
@@ -181,7 +181,7 @@ Routing: <preset + source + snapshot ref>
181
181
  Notification policy: <none | transport/target label/host/instructions path>
182
182
  Autopilot: on | paused (<hold>; resume: <condition>) | off (cancelled <ts>)
183
183
  Next: <owner; last receipt time; next action; hold or none>
184
- PR digest watermarks: <repo -> absolute path inside this private run record> | none
184
+ PR digest watermarks: <repo -> absolute path of its per-repository JSON file inside the private run directory> | none
185
185
  Release: <AGENTS.md file:line + tag-triggered workflow path + named install hosts> | not applicable (<reason>)
186
186
  Source base: <exact revision or source identity>
187
187
  IDs: <projectId + driver threadId/runId + dispatch identity receipt pointers>
@@ -84,7 +84,8 @@ A preset model must be used as given.
84
84
 
85
85
  `modelClass` must resolve to the newest matching catalog ID for that provider:
86
86
  codex `gpt-<N>-<class>`, claude `claude-<class>-<N>-<N>`. Use
87
- `scripts/resolve-models.js --provider` with the saved capabilities JSON path;
87
+ `scripts/resolve-models.js --provider <provider> --capabilities <path> (--class <class> | --model <model>) --effort <effort>`
88
+ with the saved capabilities JSON path;
88
89
  a missing or malformed catalog holds resolution.
89
90
  Model catalog resolution retains the canonical instance IDs above.
90
91
 
@@ -130,7 +131,7 @@ configuration; unrelated configurations remain eligible.
130
131
  |---|---|---|
131
132
  | Advisers, research, read-only explorers, explainers, diligence, checker, auditor, monitor, arena prose candidates and judges, escalation | Must use async `delegate_task` in the driver worktree, title = dispatch key; tracked and untracked files stay untouched; writes only `<run>/evidence/<key>/` | Native notification followed by persisted `task_status` |
132
133
  | Reviewers (peer/authored), release checks, debug investigators, execution investigators (`axstack-explore-execution`), UI verifier (`axstack-ui-verifier`) | Must use async `delegate_task`, title = dispatch key; driver makes a disposable detached checkout of candidate SHA and pinned base with `git worktree add --detach <run>/checkouts/<key> <sha>` (plus pinned debug patch); brief requires `cd` into it; only disposable probes write there, outputs go to `<run>/evidence/<key>/` | Same delegated terminal checks |
133
- | Author and repairs, code-arena writers | Must use `t3_thread_launch` with `{type:worktree, baseRef:<SHA>, branch:<encoded branch>, startFromOrigin:false}` in their own worktree, kept until PR merges or closes | Writer sends a receipt to the driver; driver verifies terminal run and candidate |
134
+ | Author and repairs | Must use `t3_thread_launch` with `{type:worktree, baseRef:<SHA>, branch:<encoded branch>, startFromOrigin:false}` in their own worktree, kept until PR merges or closes | Writer sends a receipt to the driver; driver verifies terminal run and candidate |
134
135
  | Owner | Driver thread in Driver worktree; never writes tracked candidate source or tests; planning artifacts allowed only for repository Markdown; scope, integration, forge mutations and record | No worker launch |
135
136
 
136
137
  The driver must be the sole run-record writer and enforce one writer per
@@ -53,6 +53,8 @@ or edit line-caps. Report test-only production seams without changing them.
53
53
  After restoring mutations, verify every non-test path byte-identical to the base;
54
54
  coverage, where reported, is a per-file guard and never deletion proof alone.
55
55
  Keep one writer and private revision-bound receipts; workers never push.
56
+ The weekly test audit is a named exception to Implement's publish-then-review
57
+ order: it requires review-before-publication.
56
58
  Obtain independent review using Implement's configured authored-review roles and
57
59
  verify the exact candidate's checks before publication. The driver uses
58
60
  `gh stack` and opens at most one test-audit PR per week after independent review;
@@ -32,7 +32,12 @@ Cleanup order is: settled descendants -> evidence readback -> salvage dirty or i
32
32
  Require terminal run evidence before `t3_thread_organize` settle or archive.
33
33
  These metadata actions do not remove worktrees. Accept matching delegated task
34
34
  or launched run completion under the runtime contract before settlement.
35
- Keep the author worktree and thread until the PR merges or closes.
35
+ After the driver accepts a launched writer's or delegated task's completion from terminal run evidence plus a verified receipt or candidate check, it settles the matching thread with `t3_thread_organize` as metadata only.
36
+ Settling never removes, archives or abandons the thread or worktree.
37
+ Retain the author worktree and thread unarchived until the PR merges or closes, with repairs returning to the same author.
38
+ A repair turn automatically un-settles the thread, making it visible while working.
39
+ The driver settles the thread again after the next accepted repair completion.
40
+ Threads with unaccepted completion, FAILED or QUESTION markers, held, failed or interrupted runs, or anything needing the user stay unsettled and visible.
36
41
  Retain a user-taken-over T3 thread and never send cleanup commands to it, including `t3_thread_organize` settle or archive.
37
42
  Never remove the current driver, current pass, an active or unknown thread, an unsettled descendant, or a resource with ambiguous ownership.
38
43
  At final settlement, no eligible non-driver thread or worktree remains.
@@ -14,6 +14,7 @@ Decisions: <escalation trigger + evidence pointers + outcome changed yes/no, or
14
14
  Debug: <rung reached + loop command + fix attempts + adviser and investigator receipts + isolation evidence | n/a>
15
15
  TDD: <applicable evidence path: normal real red-green | accepted structure-preserving old revision green before edits + same checks new revision green | F-repair base-green/removal-inversion-red/rewording-green evidence; absent proof: noncompliance | unavailable records: UNKNOWN with reason>
16
16
  Review: <exact-rev independent review status + unresolved findings>
17
+ Simplification: <applicability determinations evidenced / total candidate diffs, complete simplification receipts / total candidates, applied, not-applicable, or UNKNOWN with reason + evidence>
17
18
  Rework: <cycles + causes>
18
19
  Interventions: <avoidable user interventions, or unsupported by records>
19
20
  Parallelism: <identified vs dispatched + dependency/writer isolation>
@@ -91,7 +91,7 @@ Diagram never calls explain.
91
91
  for other artifacts, use it when warranted. Bind it to the exact artifact identity.
92
92
  Any byte change invalidates
93
93
  that review and requires a fresh check. In `claude-only`, separate Sonnet
94
- author xhigh and reviewer high sessions are allowed for explanations as
94
+ author high and reviewer high sessions are allowed for explanations as
95
95
  session independence only. This exception never permits same-model code
96
96
  review or a cross-provider-independence claim.
97
97
  3. Report source, tests, rendered observations, independent review, and
@@ -55,7 +55,9 @@ add no daemon and no polling model between wakes.
55
55
  At the start of each driver wake, follow [Provider bindings](../../axstack/references/t3-runtime.md#preflight-and-binding)
56
56
  for driver account re-selection, then run the digest once per repository
57
57
  from the installed `axstack` skill directory:
58
- `bun scripts/pr-digest.js --repo <owner/name> --prs <comma-separated numbers of every watched member in that repo> --watermark <that repository's private run-record path>`.
58
+ `bun scripts/pr-digest.js --repo <owner/name> --prs <comma-separated numbers of every watched member in that repo> --watermark <that repository's per-repository JSON watermark file path>`.
59
+ Use a per-repository JSON file in the private run directory for the watermark,
60
+ separate from `progress.md` (for example, `pr-digest-owner-repo.json`).
59
61
  Exit 0 means unchanged: when no pending local action remains in `Next:` or unsettled runs,
60
62
  end the turn with no text or notification. Exit 10 supplies deltas
61
63
  to reconcile with current PR and local state; the driver saves only the printed