axstack 0.20.19 → 0.20.20
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/package.json +1 -1
- package/skills/axstack/references/automations.md +7 -4
- package/skills/axstack/references/orca-runtime.md +2 -0
- package/skills/axstack/references/workspace-hygiene.md +37 -8
- package/skills/axstack-cleanup/SKILL.md +1 -1
- package/skills/axstack-implement/SKILL.md +1 -0
- package/skills/axstack-review/SKILL.md +1 -0
- package/skills/axstack-watch/references/watch-runtime.md +4 -2
package/package.json
CHANGED
|
@@ -45,9 +45,10 @@ discovery or admission; never infer lane ownership from an empty local workspace
|
|
|
45
45
|
Bind the lane to the automation ID and pass to its native run ID, workspace ID,
|
|
46
46
|
and terminal identity, not a title or directory-name guess.
|
|
47
47
|
A confirmed live manager for the same lane remains authoritative.
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
its final action under the
|
|
48
|
+
Once identified as a duplicate, the new pass does no PR work, makes no further
|
|
49
|
+
shared-record write, touches no live or unsettled resource owned by the live
|
|
50
|
+
manager, and closes only its own exact terminal as its final action under the
|
|
51
|
+
guard below.
|
|
51
52
|
Unknown liveness blocks admission and shared-record writes; it does not
|
|
52
53
|
authorize takeover, cleanup, or a duplicate manager. Preserve `user_takeover`
|
|
53
54
|
and other user-owned sessions.
|
|
@@ -119,6 +120,7 @@ PRs cannot starve older unserved work.
|
|
|
119
120
|
## Per-PR jobs
|
|
120
121
|
|
|
121
122
|
At PR-job and reviewer dispatch, apply [Readable sidebar](workspace-hygiene.md#readable-sidebar).
|
|
123
|
+
Include [Safe deletion](workspace-hygiene.md#safe-deletion) in PR-job briefs.
|
|
122
124
|
|
|
123
125
|
The logical manager lane owns ongoing discovery and continuity across finite
|
|
124
126
|
sessions; the bounded PR coordinator owns only its admitted event. Do not create a second live owner or
|
|
@@ -250,7 +252,8 @@ At pass start, clear finished predecessor terminals of the same automation in
|
|
|
250
252
|
the dedicated workspace only after proving completion, by the exact-handle
|
|
251
253
|
fallback in [Workspace hygiene](workspace-hygiene.md).
|
|
252
254
|
Then run the driver-start orphan sweep for repositories listed in this lane's
|
|
253
|
-
run record
|
|
255
|
+
run record plus registered repositories on this host containing eligible settled resources
|
|
256
|
+
of any Axstack run on this host, under the same guards. The sweep is silent when nothing was removed;
|
|
254
257
|
record sweep results and holds in the continuity record's Open holds table.
|
|
255
258
|
|
|
256
259
|
After admission closes, settle every owned PR job and all descendants before the
|
|
@@ -72,6 +72,8 @@ small-change intent, brief, authority, role snapshot, worktree, base, and
|
|
|
72
72
|
candidate to the Task; preserve the returned
|
|
73
73
|
Task, Dispatch, terminal, agent, and worktree identities. Exactly one Dispatch
|
|
74
74
|
may write a candidate at a time.
|
|
75
|
+
Put the [Safe deletion](workspace-hygiene.md#safe-deletion) rule in every
|
|
76
|
+
worker brief.
|
|
75
77
|
|
|
76
78
|
Create a worker worktree with `--parent-worktree` naming the candidate's
|
|
77
79
|
worktree when both are in the same repository; see
|
|
@@ -8,6 +8,15 @@ only report leftovers. Record each decision and native readback in the private
|
|
|
8
8
|
run record; uncertain ownership, liveness, or evidence
|
|
9
9
|
holds only the affected resource.
|
|
10
10
|
|
|
11
|
+
## Safe deletion
|
|
12
|
+
|
|
13
|
+
Every shell deletion targets a literal absolute path or a `${VAR:?}`-guarded
|
|
14
|
+
expansion (for example, `rm -rf -- "${EV:?}/mut"`), only inside the worker's
|
|
15
|
+
own evidence folder, `TMPDIR`, or worktree. Never use a bare `$VAR`, a glob on a
|
|
16
|
+
variable, `/`, `HOME`, or a shared root as a deletion target. Prefer
|
|
17
|
+
`git clean -- <exact prefix>` or tool-native cleanup. A safety prompt that
|
|
18
|
+
still appears is a hold; agents do not answer it.
|
|
19
|
+
|
|
11
20
|
## Settlement
|
|
12
21
|
|
|
13
22
|
At intermediate completion, once a worker or reviewer Dispatch is accepted,
|
|
@@ -21,7 +30,8 @@ At final settlement, no eligible non-driver session or worktree remains,
|
|
|
21
30
|
including the run's worktrees in other repositories. Report each remaining
|
|
22
31
|
resource as a hold with its reason. Recorded native ownership by Run, Task,
|
|
23
32
|
and Dispatch decides; parent/child display lineage does not. The creator closes
|
|
24
|
-
what it created
|
|
33
|
+
what it created at ordinary settlement; the cross-run sweep below may retire
|
|
34
|
+
its settled leftovers. A finite scheduled pass closes only its own exact terminal as
|
|
25
35
|
its final action. Manual chats, automation dedicated workspaces, and genuine
|
|
26
36
|
`user_takeover` sessions are never removed. Deleting a session means closing
|
|
27
37
|
its terminal; agent chat history is not deleted.
|
|
@@ -59,14 +69,28 @@ removal, and use exact native worktree removal without force.
|
|
|
59
69
|
|
|
60
70
|
Drivers sweep on phase-skill entry. A scheduled pass that owns its lane with
|
|
61
71
|
recorded cleanup authority runs the driver-start orphan sweep after predecessor
|
|
62
|
-
terminal cleanup, scoped to repositories listed in its run record
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
repositories recorded in the driver's
|
|
72
|
+
terminal cleanup, scoped to repositories listed in its run record plus
|
|
73
|
+
registered repositories on this host containing eligible settled resources of
|
|
74
|
+
another Axstack run. On phase-skill entry, scope the sweep to the current repository
|
|
75
|
+
and the per-run worktrees in other repositories recorded in the driver's
|
|
76
|
+
run records, and registered repositories on this host containing eligible settled
|
|
77
|
+
resources of another Axstack run. Inspect other Axstack run records on this host
|
|
78
|
+
too; a live owning run does not protect its settled
|
|
79
|
+
reviewer worktree or merged author after preservation checks. If Orca is unreachable,
|
|
66
80
|
report one line and continue the phase; an unreachable host holds only its
|
|
67
|
-
items.
|
|
68
|
-
owning Dispatch and descendant is settled
|
|
81
|
+
items. A sweep may remove resources of ANY Axstack run on this host after salvage
|
|
82
|
+
when every owning Dispatch and descendant is settled (completed or failed), its
|
|
83
|
+
release is confirmed or `release_unknown`, no agent is working, the exact terminal
|
|
84
|
+
has had no output for at least 60 minutes, ownership and liveness are rechecked
|
|
69
85
|
from a fresh native list, and evidence is durable. Remove descendants first.
|
|
86
|
+
For a settled worker dispatched into a shared or driver worktree, close its
|
|
87
|
+
exact terminal individually under the same 60-minute quiet rule: native close,
|
|
88
|
+
else the guarded `/quit` + `exit` fallback above. Never close the live coordinator
|
|
89
|
+
session's terminal for any run (the driver's own terminal) or a user chat.
|
|
90
|
+
Align/Spec adviser sessions reused between rounds remain until
|
|
91
|
+
their owning phase approves or stops; the quiet rule still applies then.
|
|
92
|
+
For a merged or closed PR author with an unreleased settled Dispatch, request
|
|
93
|
+
native worker release first, record its result, then apply the sweep guards.
|
|
70
94
|
An author worktree of a merged or closed PR is sweep-eligible when its head
|
|
71
95
|
commit is retrievable from the forge (for example, the PR's recorded head or a
|
|
72
96
|
remote branch contains it); unverifiable state is a hold. For an eligible
|
|
@@ -78,6 +102,9 @@ them in its own continuity Open holds table. Both are silent when nothing was re
|
|
|
78
102
|
Branches with a remote counterpart are never deleted. List live or unsettled
|
|
79
103
|
work, genuine `user_takeover`, and items without provable Axstack provenance in
|
|
80
104
|
one table with their reason; do not remove them.
|
|
105
|
+
Dirty or unpublished work follows the salvage and publication guards above;
|
|
106
|
+
open-PR authors remain protected until merge or close. Record each removed and
|
|
107
|
+
held resource in the pass continuity (scheduled) or run record (driver start).
|
|
81
108
|
|
|
82
109
|
## Native bookkeeping exceptions
|
|
83
110
|
|
|
@@ -87,7 +114,9 @@ the run record contains the exact repair Dispatch ID for that terminal;
|
|
|
87
114
|
otherwise hold. Report the mislabel to Orca upstream through the driver.
|
|
88
115
|
For `release_unknown`, reconcile with native worker inspection. If a fresh
|
|
89
116
|
native terminal list confirms the terminal is gone, record the readback and
|
|
90
|
-
proceed; otherwise hold.
|
|
117
|
+
proceed; otherwise hold unless inspection proves a settled, quiet worker. Then
|
|
118
|
+
close only that worker's exact terminal under the sweep rule and confirm its
|
|
119
|
+
absence. Unknown liveness holds.
|
|
91
120
|
|
|
92
121
|
## Known Orca issues
|
|
93
122
|
|
|
@@ -25,7 +25,7 @@ and worktree removal. Do not embed or improvise a competing command protocol.
|
|
|
25
25
|
## Authority and scope
|
|
26
26
|
|
|
27
27
|
Inline cleanup may consider only resources owned by the accepted completion it
|
|
28
|
-
is processing. Driver-start orphan sweeps
|
|
28
|
+
is processing. Driver-start orphan sweeps follow the guarded cross-run sweep in
|
|
29
29
|
[Workspace hygiene](../axstack/references/workspace-hygiene.md). Backlog
|
|
30
30
|
cleanup requires an explicit bounded selector such as a
|
|
31
31
|
Run, Task set, workspace set, repository, or named age window; age narrows an
|
|
@@ -7,6 +7,7 @@ description: When an approved task is ready to build or repair, use axstack-impl
|
|
|
7
7
|
|
|
8
8
|
On driver entry, sweep under [Workspace hygiene](../axstack/references/workspace-hygiene.md); dispatched workers do not sweep.
|
|
9
9
|
For every dispatch brief, name its private `<run dir>/evidence/<dispatch>/` folder.
|
|
10
|
+
Include [Safe deletion](../axstack/references/workspace-hygiene.md#safe-deletion) in author briefs.
|
|
10
11
|
At author dispatch, apply [Readable sidebar](../axstack/references/workspace-hygiene.md#readable-sidebar).
|
|
11
12
|
|
|
12
13
|
From an accepted scope identity, drive its task/PR map through author -> review
|
|
@@ -7,6 +7,7 @@ description: When a candidate PR or bounded codebase needs review, use axstack-r
|
|
|
7
7
|
|
|
8
8
|
On driver entry, sweep under [Workspace hygiene](../axstack/references/workspace-hygiene.md); dispatched workers do not sweep.
|
|
9
9
|
For every dispatch brief, name its private `<run dir>/evidence/<dispatch>/` folder.
|
|
10
|
+
Include [Safe deletion](../axstack/references/workspace-hygiene.md#safe-deletion) in reviewer briefs.
|
|
10
11
|
At reviewer dispatch, apply [Readable sidebar](../axstack/references/workspace-hygiene.md#readable-sidebar).
|
|
11
12
|
|
|
12
13
|
Manual review keeps the user’s chat and workspace open.
|
|
@@ -52,8 +52,10 @@ recorded cleanup authority acts as its lane's driver: clear only proven
|
|
|
52
52
|
finished predecessor terminals of the same automation in its dedicated
|
|
53
53
|
workspace, using the exact-handle fallback in
|
|
54
54
|
[Workspace hygiene](../../axstack/references/workspace-hygiene.md), then run
|
|
55
|
-
the driver-start orphan sweep for repositories listed in its run record
|
|
56
|
-
|
|
55
|
+
the driver-start orphan sweep for repositories listed in its run record plus
|
|
56
|
+
registered repositories on this host containing eligible settled resources of
|
|
57
|
+
any Axstack run on this host, under the same guards.
|
|
58
|
+
Recorded cleanup authority is separate from and does not imply
|
|
57
59
|
repair or maintenance authority. That cleanup-authorized watch pass is silent
|
|
58
60
|
when nothing was removed and records sweep results and holds in its continuity
|
|
59
61
|
Open holds table.
|