axstack 0.20.5 → 0.20.6
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/README.md
CHANGED
|
@@ -112,6 +112,9 @@ session in an isolated workspace and admits at most five executing PR jobs per
|
|
|
112
112
|
lane, fewer under resource pressure. Waiting PRs remain tracked without consuming
|
|
113
113
|
execution slots, so a large open-PR backlog does not require an idle agent per PR.
|
|
114
114
|
Completed passes save continuity and retire their own verified resources.
|
|
115
|
+
Held jobs preserve evidence, use private worktree-local temporary paths, and
|
|
116
|
+
release capacity only after native descendant settlement. Uncertain execution
|
|
117
|
+
teardown pauses the lane; settled evidence cleanup does not occupy a slot.
|
|
115
118
|
|
|
116
119
|
Scheduling is opt-in and requires host-specific runtime validation before
|
|
117
120
|
activation. Installing Axstack does not turn it on. Repairs are limited to
|
package/docs/workflows.md
CHANGED
|
@@ -200,6 +200,17 @@ shared manager workspace or a PR-job worktree, or cleans preserved candidates,
|
|
|
200
200
|
evidence, user sessions, unknown liveness, `user_takeover`, or ambiguous
|
|
201
201
|
publication state. Manual review/watch remains outside this scheduled lifecycle.
|
|
202
202
|
|
|
203
|
+
Each bounded job uses a private `0700` temporary directory inside its own
|
|
204
|
+
worktree. Cleanup targets only the validated owned path: no `TMPDIR` globs,
|
|
205
|
+
shared-root sweeps, or general cache wipes, and uncertain files remain for
|
|
206
|
+
reconciliation. Permission prompts and provider safety refusals are incomplete
|
|
207
|
+
holds, never bypass or cross-model retry signals. The coordinator preserves the
|
|
208
|
+
evidence, settles the exact owned tree through Orca's supported lifecycle, and
|
|
209
|
+
releases capacity only after native settlement is verified. Unresolved execution
|
|
210
|
+
teardown pauses the lane; retained evidence or cleanup metadata does not consume
|
|
211
|
+
a slot after positive full-tree settlement. Once settled, an unchanged held
|
|
212
|
+
event remains deduplicated while unrelated eligible PRs continue.
|
|
213
|
+
|
|
203
214
|
Requested reviews cover any accessible repository; automatic repairs retain
|
|
204
215
|
their `defi-com/monorepo` and `defi-com/mobile` scope. Orca owns schedules,
|
|
205
216
|
sessions, Tasks, and Dispatches. Axstack adds no custom scheduler, queue engine,
|
|
@@ -216,6 +227,11 @@ after manager self-close, with an authorized deduplicated Telegram notification.
|
|
|
216
227
|
The current operational contract is
|
|
217
228
|
`skills/axstack/references/automations.md`.
|
|
218
229
|
|
|
230
|
+
These documents and their source-contract tests define expected decisions.
|
|
231
|
+
Scenario fixtures are behavioral-evaluation inputs, not model-evaluation
|
|
232
|
+
results, and neither form is live proof; activation still requires the native
|
|
233
|
+
canary described by the operational contract.
|
|
234
|
+
|
|
219
235
|
## Run record and evidence
|
|
220
236
|
|
|
221
237
|
Substantive delegated or resumable work uses one compact `progress.md` rooted at
|
package/package.json
CHANGED
|
@@ -79,7 +79,9 @@ After cleanup, re-list and count only the earlier pass workspaces still remainin
|
|
|
79
79
|
If three or more unreclaimed
|
|
80
80
|
earlier pass workspaces remain, disable only this automation through the native
|
|
81
81
|
CLI, verify the disabled setting, save/report the cleanup hold, and admit no new
|
|
82
|
-
PR jobs. Also pause on a confirmed
|
|
82
|
+
PR jobs. Also pause on a confirmed earlier-manager retirement failure or
|
|
83
|
+
unresolved lane ownership. A settled PR-job worktree retained for evidence is a
|
|
84
|
+
cleanup hold, not unsettled execution or lane ownership.
|
|
83
85
|
Already-dispatched passes still reconcile and retire only their own safe resources;
|
|
84
86
|
this threshold is a stop condition, not an atomic hard cap on in-flight creations.
|
|
85
87
|
An uncertain disable is a reported failure, not proof scheduling stopped. Resume
|
|
@@ -145,6 +147,13 @@ handles the current actionable event, returns exact receipts, then settles.
|
|
|
145
147
|
Settlement returns continuity to the manager rather than retaining an idle PR
|
|
146
148
|
coordinator. Reviewers retain the isolation required by `axstack-review`.
|
|
147
149
|
|
|
150
|
+
Give each job a private job-local temporary directory under its per-PR
|
|
151
|
+
worktree, following the ownership, containment, and cleanup checks in the
|
|
152
|
+
[runtime boundary](orca-runtime.md#reviewer-workspaces-and-evidence). Never
|
|
153
|
+
delete through a broad `TMPDIR` glob, sweep a shared temporary root, or wipe a
|
|
154
|
+
general cache. Preserve evidence and any temporary path whose ownership or
|
|
155
|
+
containment is uncertain.
|
|
156
|
+
|
|
148
157
|
An unchanged exact head and unchanged event identity creates no job; an
|
|
149
158
|
unchanged exact head with a new event identity remains actionable. Event
|
|
150
159
|
identity includes the applicable review ID and body digest, check identity and
|
|
@@ -155,6 +164,39 @@ head, base, event identity, mode, owner and worker receipts, candidate,
|
|
|
155
164
|
publication receipt, hold, and next action. GitHub remains authoritative for
|
|
156
165
|
open state, revisions, reviews, checks, and merge state.
|
|
157
166
|
|
|
167
|
+
## Held job settlement
|
|
168
|
+
|
|
169
|
+
Use native runtime inspection, not saved prose or silence, to identify an
|
|
170
|
+
actual hold and bind it to the exact Task, Dispatch, terminal, event, and
|
|
171
|
+
evidence. Permission prompts and provider safety refusals are incomplete held
|
|
172
|
+
outcomes: do not answer or bypass them, retry their content through another
|
|
173
|
+
model, or claim completion. Do not forge `worker_done`. Record the held event
|
|
174
|
+
identity and its resume condition in durable continuity. An unchanged hold creates no new job, no
|
|
175
|
+
retry, and no repeated notification; a changed event is reconsidered against
|
|
176
|
+
the original authority rather than assumed safe.
|
|
177
|
+
|
|
178
|
+
Preserve the prompt or refusal evidence, then follow the version-matched
|
|
179
|
+
orchestration recovery and cleanup guidance for every owned descendant. Use
|
|
180
|
+
only supported native lifecycle actions and receipt-supplied next actions;
|
|
181
|
+
saved status, contact loss, and a coordinator narrative do not settle a worker.
|
|
182
|
+
Unknown or user-owned work is never a kill target. Do not release the PR slot
|
|
183
|
+
until native state verifies settlement of the coordinator and every descendant.
|
|
184
|
+
Unrelated eligible PRs continue after the tree is verified settled, while the
|
|
185
|
+
held PR waits durably for its resume condition.
|
|
186
|
+
|
|
187
|
+
Execution settlement and cleanup retention are separate. Positive full-tree
|
|
188
|
+
process exit plus native Task and Dispatch settlement frees the slot. Retained
|
|
189
|
+
metadata does not occupy an execution slot: preserve it and its evidence for
|
|
190
|
+
reconciliation without reviving the failed job. Likewise, an archive hold
|
|
191
|
+
blocks workspace removal, not settled execution capacity; record the cleanup
|
|
192
|
+
hold, preserve the workspace, and let unrelated eligible PRs continue.
|
|
193
|
+
|
|
194
|
+
An active, unknown, protected, or unverifiable coordinator or descendant is
|
|
195
|
+
different: preserve its evidence and keep its slot occupied. Unresolved
|
|
196
|
+
execution teardown, or failure to retire the manager pass itself, pauses the
|
|
197
|
+
lane before another pass can admit work rather than accumulating active passes
|
|
198
|
+
or claiming capacity from an uncertain process tree.
|
|
199
|
+
|
|
158
200
|
When the current event is handled, settle and release owned native resources.
|
|
159
201
|
Preserve dirty worktrees, unpushed candidates, unarchived review evidence, pending
|
|
160
202
|
external results, and user-owned work until durability and ownership are
|
|
@@ -255,7 +297,9 @@ unarchived evidence, children, user-owned work, unknown files, or unexplained
|
|
|
255
297
|
dirty source. A verified evidence archive does not require otherwise clean Git
|
|
256
298
|
state, but every remaining change must still be positively classified and safe;
|
|
257
299
|
unknown dirt blocks removal. Never use recursive shell deletion. Failed cleanup
|
|
258
|
-
remains recorded, not silently forgotten.
|
|
300
|
+
remains recorded, not silently forgotten. Failed PR-job workspace cleanup stays
|
|
301
|
+
a cleanup hold after execution settles; failed or unverifiable manager-pass
|
|
302
|
+
retirement pauses the lane instead of allowing active passes to accumulate.
|
|
259
303
|
|
|
260
304
|
The activation canary must additionally prove distinct workspace IDs per pass,
|
|
261
305
|
cross-workspace lane admission, self-retirement and absence after client reconnect,
|
|
@@ -68,8 +68,11 @@ An `input_accepted` stage proves only that input reached the terminal. Require
|
|
|
68
68
|
started, and verify the requested role independently before trusting its work.
|
|
69
69
|
A workspace trust, hook review, permission, authentication, or model prompt is
|
|
70
70
|
a visible hold. Never answer a trust or permission prompt on the worker's
|
|
71
|
-
behalf.
|
|
72
|
-
|
|
71
|
+
behalf. A permission prompt or provider safety refusal is a held, incomplete
|
|
72
|
+
outcome, never consent or completion. Never bypass or retry it through another
|
|
73
|
+
model. Preserve the attempt and its evidence, then use only
|
|
74
|
+
the runtime guide's inspection and recovery procedure; reconcile before any
|
|
75
|
+
authorized retry so no duplicate writer starts.
|
|
73
76
|
|
|
74
77
|
## Reviewer workspaces and evidence
|
|
75
78
|
|
|
@@ -84,8 +87,13 @@ Keep reviewer-authored reports, probes, and logs inside the reviewer's worktree
|
|
|
84
87
|
in an untracked, dispatch-specific artifact directory, not in `/tmp` or a
|
|
85
88
|
provider scratch directory. Name its absolute path in the brief and completion
|
|
86
89
|
receipt; keep tracked candidate files read-only and do not commit artifacts.
|
|
87
|
-
For
|
|
88
|
-
directory
|
|
90
|
+
For tools that need temporary files, create one worktree-local, task- and
|
|
91
|
+
dispatch-specific directory with mode `0700`, and scope `TMPDIR` to the owned
|
|
92
|
+
command where supported. Before use or cleanup, validate that its real path is
|
|
93
|
+
inside the exact worktree, is not a symbolic link, and matches the recorded
|
|
94
|
+
owner. Remove only that exact validated owned path, with no glob or parent-root
|
|
95
|
+
deletion; never wipe a general cache. Uncertain temporary files are preserved
|
|
96
|
+
for later reconciliation. Incidental tool-managed caches are not review evidence.
|
|
89
97
|
Before removing a reviewer worktree, preserve its report and supporting evidence
|
|
90
98
|
in the driver's Orca workspace and update the run record's paths. Terminal
|
|
91
99
|
release alone is not permission to discard evidence or remove the worktree.
|