axstack 0.25.2 → 0.25.4
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.
- package/docs/workflows.md +17 -7
- package/package.json +1 -1
- package/skills/axstack/references/automations.md +16 -4
- package/skills/axstack/references/pr-shape.md +15 -19
- package/skills/axstack/references/review-manager-prompt.md +6 -3
- package/skills/axstack/references/workspace-hygiene.md +6 -1
- package/skills/axstack-audit/SKILL.md +4 -4
- package/skills/axstack-audit/references/record.md +3 -1
- package/skills/axstack-review/SKILL.md +9 -11
- package/skills/axstack-tickets/SKILL.md +7 -6
package/docs/workflows.md
CHANGED
|
@@ -254,8 +254,10 @@ for explicit ownership transfer.
|
|
|
254
254
|
read back private evidence, salvage dirty or ignored non-cache content,
|
|
255
255
|
archive the exact eligible thread, then remove its exact worktree without
|
|
256
256
|
force and delete only eligible local branches. T3 metadata actions do not
|
|
257
|
-
remove worktrees.
|
|
258
|
-
|
|
257
|
+
remove worktrees. Accepted writer or delegated completion settles thread
|
|
258
|
+
metadata only. Author threads and worktrees remain retained and unarchived
|
|
259
|
+
until their PR merges or closes; the current pass, unsettled descendants,
|
|
260
|
+
and user-taken-over threads remain protected.
|
|
259
261
|
|
|
260
262
|
One T3 host/server owns a run, one persistent owner owns each PR, and one
|
|
261
263
|
writer owns each candidate. Fanout has no fixed PR count; it follows real
|
|
@@ -265,9 +267,13 @@ one theme and a measured size under the shared
|
|
|
265
267
|
For own PRs, automatic merge is the default under the
|
|
266
268
|
[watch predicate](../skills/axstack-watch/SKILL.md#5-state-readiness-precisely).
|
|
267
269
|
Review approval alone never grants merge authority.
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
270
|
+
Treat size flags as informational only.
|
|
271
|
+
Size alone must never block review, reject a PR, require split attempts or
|
|
272
|
+
cohesion/exception rationale, or hold approval.
|
|
273
|
+
Review the actual footprint, complexity, and required context, incrementally when needed.
|
|
274
|
+
Approval requires sufficient review coverage.
|
|
275
|
+
Report INCOMPLETE when required coverage is missing.
|
|
276
|
+
Shape choices remain autonomous driver decisions; size alone never requires user approval.
|
|
271
277
|
|
|
272
278
|
## Explicit handoff
|
|
273
279
|
|
|
@@ -427,8 +433,12 @@ admits nothing, writes only its private discovery note, and notifies once about
|
|
|
427
433
|
a stalled owner under the recorded policy.
|
|
428
434
|
|
|
429
435
|
Capacity is measured across the host. Waiting events stay covered and occupy
|
|
430
|
-
no execution slot after descendants settle.
|
|
431
|
-
|
|
436
|
+
no execution slot after descendants settle. After lane reconciliation at pass
|
|
437
|
+
start, every pass, including a duplicate, settles finished lane pass threads
|
|
438
|
+
under the [Finite-session teardown guards](../skills/axstack/references/automations.md#finite-session-teardown).
|
|
439
|
+
Held or stuck passes stay unsettled. Only the owner retires eligible settled
|
|
440
|
+
predecessors through `axstack-cleanup` and writes continuity; each pass records
|
|
441
|
+
retained worktree count.
|
|
432
442
|
Past the authorized storage limit (default 20 lane worktrees), disable the
|
|
433
443
|
schedule with `enabled:false` and hold. The overlap, real-event, killed-predecessor,
|
|
434
444
|
and storage-limit canaries must pass before activation.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "axstack",
|
|
3
|
-
"version": "0.25.
|
|
3
|
+
"version": "0.25.4",
|
|
4
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",
|
|
@@ -70,8 +70,10 @@ The earlier pass wins only when ordering evidence exists.
|
|
|
70
70
|
Missing ordering or ownership evidence holds admission and never guesses a winner.
|
|
71
71
|
|
|
72
72
|
Once identified as a duplicate, the new pass does no PR work, makes no further
|
|
73
|
-
shared-record write and touches no
|
|
74
|
-
live manager. A duplicate
|
|
73
|
+
shared-record write and touches no PR-job thread or descendant owned by the
|
|
74
|
+
live manager. A duplicate's only mutation is pass-start settlement of eligible
|
|
75
|
+
terminal lane pass threads under [Finite-session teardown](#finite-session-teardown).
|
|
76
|
+
A duplicate pass admits nothing and runs read-only discovery
|
|
75
77
|
into its own pass note in its private evidence folder, recording new eligible
|
|
76
78
|
events and the unserved count. If a duplicate finds a stalled owner idle at its
|
|
77
79
|
prompt with a final turn lacking a completion receipt for more than five
|
|
@@ -328,6 +330,16 @@ or separate model gate.
|
|
|
328
330
|
|
|
329
331
|
## Finite-session teardown
|
|
330
332
|
|
|
333
|
+
After lane reconciliation at pass start, every pass, including a duplicate,
|
|
334
|
+
uses `t3_thread_organize` to settle finished predecessor and duplicate lane pass
|
|
335
|
+
threads as metadata only, before discovery or admission.
|
|
336
|
+
Settle another lane pass thread only with terminal run evidence, no unsettled
|
|
337
|
+
descendants, no recorded open hold naming it, no user takeover, and exclusion of
|
|
338
|
+
the live owner and current pass.
|
|
339
|
+
Leave held or stuck pass threads unsettled.
|
|
340
|
+
Settlement is separate from owner-only worktree removal, branch deletion and
|
|
341
|
+
continuity writes.
|
|
342
|
+
|
|
331
343
|
Only the owner-of-record pass retires settled predecessor passes and qualifying
|
|
332
344
|
terminal duplicates, including duplicates newer than the owner and immediately
|
|
333
345
|
after successor takeover.
|
|
@@ -340,8 +352,8 @@ Then run the driver-start orphan sweep under Workspace hygiene; the sweep is
|
|
|
340
352
|
silent when nothing was removed. Record sweep results and holds in continuity's
|
|
341
353
|
Open holds table.
|
|
342
354
|
The orphan sweep covers the run record's repositories plus registered repositories on this host.
|
|
343
|
-
Retirement settles duplicate threads with `t3_thread_organize`
|
|
344
|
-
changes metadata only) before separate guarded Git worktree removal.
|
|
355
|
+
Retirement settles remaining duplicate threads with `t3_thread_organize`
|
|
356
|
+
(settle/archive changes metadata only) before separate guarded Git worktree removal.
|
|
345
357
|
Unknown, active or user-taken-over threads,
|
|
346
358
|
ambiguous publication and failed salvage stay preserved.
|
|
347
359
|
|
|
@@ -12,16 +12,15 @@ Total additions + deletions over all files. Disclose moves detected by `-M`;
|
|
|
12
12
|
report binaries by count and purpose, never estimated lines. Disclose generated,
|
|
13
13
|
lockfile, and formatter-only bulk buckets alongside the total.
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
automatically subtract bulk or shift bands; silent exclusion is forbidden; no file-count hard metric.
|
|
15
|
+
Flag totals above 2500 changed lines as informational only.
|
|
16
|
+
Never automatically subtract bulk from the full total; silent exclusion is forbidden; no file-count hard metric.
|
|
17
|
+
Disclose each bulk bucket with a reproducible recorded command.
|
|
18
|
+
There is no universal safe LOC limit or fixed token percentage.
|
|
20
19
|
|
|
21
20
|
## Theme
|
|
22
21
|
One behavior or component may include the callers, tests, types, docs, and
|
|
23
22
|
migrations that must change together to stay green and reviewable.
|
|
24
|
-
This is not a folder restriction. Unrelated themes split
|
|
23
|
+
This is not a folder restriction. Unrelated themes split regardless of size.
|
|
25
24
|
Smaller cohesive PRs are encouraged; no padding.
|
|
26
25
|
|
|
27
26
|
## PR body
|
|
@@ -29,16 +28,13 @@ Smaller cohesive PRs are encouraged; no padding.
|
|
|
29
28
|
Every own PR description must contain exactly one `Revert` line.
|
|
30
29
|
Follow [Revert line](candidate-publication.md#revert-line) for its format and classification.
|
|
31
30
|
|
|
32
|
-
##
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
Missing rationale blocks approval; weak rationale returns to the author through
|
|
43
|
-
the normal split/rework loop, never to the user. Escalate only for an existing
|
|
44
|
-
material-scope, security, downtime, data-loss, major-design-risk, or unavailable-model hold.
|
|
31
|
+
## Review and decisions
|
|
32
|
+
Size alone must never block review, reject a PR, require split attempts or
|
|
33
|
+
cohesion/exception rationale, or hold approval.
|
|
34
|
+
Review the actual footprint, complexity, and required context, incrementally when needed.
|
|
35
|
+
Approval requires sufficient review coverage.
|
|
36
|
+
Report INCOMPLETE when required coverage is missing.
|
|
37
|
+
Routine shape decisions remain autonomous driver decisions within approved scope;
|
|
38
|
+
size alone never requires user approval.
|
|
39
|
+
Escalate only for an existing material-scope, security, downtime, data-loss,
|
|
40
|
+
major-design-risk, or unavailable-model hold.
|
|
@@ -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.
|
|
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
|
-
|
|
15
|
-
|
|
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.
|
|
@@ -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
|
-
|
|
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.
|
|
@@ -117,10 +117,10 @@ counts with denominators plus the evidence behind the count:
|
|
|
117
117
|
- Rework cycles with causes.
|
|
118
118
|
- Avoidable user interventions where records support the call, and no call where they do not.
|
|
119
119
|
- Parallelizable tasks identified versus dispatched, judged with dependency and writer isolation.
|
|
120
|
-
- PRs
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
120
|
+
- PRs with an informational size flag / total PRs using the actual denominator.
|
|
121
|
+
Record full totals, bulk buckets with reproducible commands, and measured head/base.
|
|
122
|
+
Treat size flags as informational only.
|
|
123
|
+
Record `UNKNOWN` when a receipt lacks the measurement.
|
|
124
124
|
This is evidence, not a score to game. Audit treats routine shape choices as
|
|
125
125
|
autonomous driver decisions; size alone never requires user approval.
|
|
126
126
|
- API-dollar cost by model when provider receipts are available, UNKNOWN otherwise.
|
|
@@ -17,7 +17,7 @@ Review: <exact-rev independent review status + unresolved findings>
|
|
|
17
17
|
Rework: <cycles + causes>
|
|
18
18
|
Interventions: <avoidable user interventions, or unsupported by records>
|
|
19
19
|
Parallelism: <identified vs dispatched + dependency/writer isolation>
|
|
20
|
-
Shape: <PRs
|
|
20
|
+
Shape: <PRs with an informational size flag / total PRs; full totals + bulk buckets with reproducible commands + measured head/base; UNKNOWN when measurement is missing>
|
|
21
21
|
Cost: <API dollars by model when measured, or UNKNOWN with reason>
|
|
22
22
|
Judgment: <execution outcome vs procedural adherence vs measurement coverage>
|
|
23
23
|
Proposals: <bounded hypothesized changes with regression-first plan, or none>
|
|
@@ -25,6 +25,8 @@ Learning candidates: <each candidate's statement + scope + evidence/revision poi
|
|
|
25
25
|
Privacy: <local/private default; sanitized summary only when authorized>
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
+
Treat size flags as informational only.
|
|
29
|
+
|
|
28
30
|
The record is complete when its counts reconcile, its judgments remain
|
|
29
31
|
separate, every proposal has a regression-first validation path, every learning
|
|
30
32
|
candidate is bounded to accepted audited evidence, and all unknowns and
|
|
@@ -293,17 +293,15 @@ This section applies to peer and authored PR modes.
|
|
|
293
293
|
Rate a wrong or missing `Revert` line at least `medium` under [Finding severity](#finding-severity).
|
|
294
294
|
|
|
295
295
|
Under angle 6, verify the recorded shape against the pinned head and base.
|
|
296
|
-
A mismatch between the recorded and measured total is a finding.
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
author as a split or rework request through the normal fix loop, never to the
|
|
306
|
-
user. Routine shape decisions remain autonomous driver decisions; size alone
|
|
296
|
+
A mismatch between the recorded and measured total is a finding.
|
|
297
|
+
Verify full totals and bulk buckets with their reproducible command.
|
|
298
|
+
Treat size flags as informational only.
|
|
299
|
+
Size alone must never block review, reject a PR, require split attempts or
|
|
300
|
+
cohesion/exception rationale, or hold approval.
|
|
301
|
+
Review the actual footprint, complexity, and required context, incrementally when needed.
|
|
302
|
+
Approval requires sufficient review coverage.
|
|
303
|
+
Report INCOMPLETE when required coverage is missing.
|
|
304
|
+
Routine shape decisions remain autonomous driver decisions; size alone
|
|
307
305
|
never requires user approval. Escalate only when that work exposes an
|
|
308
306
|
existing material-scope, security, downtime,
|
|
309
307
|
data-loss, major-design-risk, or unavailable-model hold.
|
|
@@ -50,11 +50,12 @@ no dispatch preflight.
|
|
|
50
50
|
sketch boundary as a split signal. Identify internal tasks, dependencies,
|
|
51
51
|
PR ownership, and worktrees. For each task the driver records
|
|
52
52
|
one theme and a coarse size estimate from the ownership, interface, and
|
|
53
|
-
dependency map.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
rationale
|
|
57
|
-
|
|
53
|
+
dependency map. Plan coherent, independently reviewable tasks around those
|
|
54
|
+
boundaries. Treat size flags as informational only.
|
|
55
|
+
Size alone must never block review, reject a PR, require split attempts or
|
|
56
|
+
cohesion/exception rationale, or hold approval.
|
|
57
|
+
Actual measurement and bulk disclosure follow in the implement receipt.
|
|
58
|
+
Mapping time requires no actual SHAs or line counts.
|
|
58
59
|
Every capability ends with the fields below and an explicit dependency list.
|
|
59
60
|
Before accepting the map, dispatch `axstack-diligence` under
|
|
60
61
|
[Diligence](../axstack/references/diligence.md) to confirm every spec
|
|
@@ -72,7 +73,7 @@ Spec: <approved revision>
|
|
|
72
73
|
Capability: <Markdown ref, GitHub issue URL, or Linear issue URL> <title>
|
|
73
74
|
Internal task: <task> -> <PR owner> -> <worktree>
|
|
74
75
|
Theme: <one behavior or component>
|
|
75
|
-
Size est: <coarse
|
|
76
|
+
Size est: <coarse size estimate>
|
|
76
77
|
Acceptance: <checks from approved spec rev>
|
|
77
78
|
Depends: <task IDs or none>
|
|
78
79
|
```
|