axstack 0.20.0 → 0.20.2

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
@@ -114,11 +114,16 @@ answer trust or permission prompts on the worker's behalf, and never create a
114
114
  duplicate writer. A `worker_done` advances work only when its Task and Dispatch
115
115
  match the active attempt and its revision evidence verifies.
116
116
 
117
- Two reusable native PR-manager chats run on staggered 15-minute schedules in
118
- dedicated workspaces. Review and watch each admit at most five bounded PR jobs;
117
+ Two logical native PR-manager lanes run on staggered 15-minute schedules. Each
118
+ pass uses a fresh finite session in a new isolated workspace. Review
119
+ and watch each admit at most five bounded PR jobs;
119
120
  waiting PRs stay covered without reserving slots. Axstack adds no custom
120
- scheduler, queue engine, or decision interpreter. Native reuse, busy-tick,
121
- recovery, and VPS resource behavior require a canary before activation.
121
+ scheduler, queue engine, or decision interpreter. Sessions reconcile before
122
+ admission across the whole lane, save durable continuity and decisions outside
123
+ disposable workspaces, and retire only their verified pass workspace as the
124
+ final action. Manual review/watch never inherits this cleanup lifecycle.
125
+ Native fresh-session, overlapping-pass, recovery, and VPS resource behavior
126
+ require a canary before activation.
122
127
 
123
128
  Mobile completion/reply behavior remains unverified. Structural checks and
124
129
  qualitative scenario evaluation are not live runtime proof.
package/docs/workflows.md CHANGED
@@ -173,8 +173,8 @@ gate. An applicable `Notification policy` may use `axstack-relay`; otherwise the
173
173
  current Orca conversation is the fallback. The relay normally delivers one-way
174
174
  through native `hermes send`: it checks CLI lookup and the configured target,
175
175
  binds the recipient, deduplicates on the run record, and records the returned
176
- `message_id`. PR-manager notifications point the user to the reusable manager's
177
- Orca conversation; Telegram delivery, replies, and silence grant no action
176
+ `message_id`. PR-manager notifications point the user to GitHub or a durable
177
+ user-owned conversation; Telegram delivery, replies, and silence grant no action
178
178
  authority. Delivery failure never clears the underlying hold.
179
179
 
180
180
  Healthy watch observations remain quiet. The optional `axstack-monitor` is a
@@ -182,16 +182,27 @@ read-only observer for standalone watches and never sends.
182
182
 
183
183
  ## Native watch automations
184
184
 
185
- The accepted contract has exactly two reusable native manager chats: review at
186
- minutes `0,15,30,45` and watch at `7,22,37,52`. Each has a dedicated manager
187
- workspace, scans complete discovery pages, and admits at most five executing
185
+ The accepted contract has exactly two logical native manager lanes: review at
186
+ minutes `0,15,30,45` and watch at `7,22,37,52`. Each scheduled pass uses a
187
+ fresh finite session in a new isolated workspace, scans complete
188
+ discovery pages, and admits at most five executing
188
189
  PR jobs. Waiting PRs stay covered and consume no slot after owned descendants
189
190
  settle. Each job uses one repository-parented worktree; managers never check out
190
191
  PR branches in their own workspaces.
191
192
 
193
+ Every pass reconciles saved, GitHub, and native Orca state across all same-lane
194
+ workspaces before admission. A
195
+ confirmed same-lane manager makes the new duplicate do no work or shared-record
196
+ write and close only itself. Normal teardown settles descendants, saves durable
197
+ continuity and decisions outside disposable workspaces, then retires its own
198
+ verified isolated pass workspace as the final action. It never bulk-closes a
199
+ shared manager workspace or a PR-job worktree, or cleans preserved candidates,
200
+ evidence, user sessions, unknown liveness, `user_takeover`, or ambiguous
201
+ publication state. Manual review/watch remains outside this scheduled lifecycle.
202
+
192
203
  Requested reviews cover any accessible repository; automatic repairs retain
193
204
  their `defi-com/monorepo` and `defi-com/mobile` scope. Orca owns schedules,
194
- reuse, Tasks, and Dispatches. Axstack adds no custom scheduler, queue engine,
205
+ sessions, Tasks, and Dispatches. Axstack adds no custom scheduler, queue engine,
195
206
  cursor files, polling loop, or historical runtime fallback.
196
207
 
197
208
  ## Automations
@@ -200,8 +211,9 @@ The review and watch managers use short packaged prompts that load the current
200
211
  relative contract and invoke `axstack-review` or `axstack-watch`. Bounded jobs
201
212
  publish ordinary exact-head review verdicts or reviewed fast-forward repairs;
202
213
  the human merges. Exceptional security, permanent-on-chain, or architectural
203
- decisions remain held in the manager conversation with an authorized
204
- deduplicated Telegram notification. The current operational contract is
214
+ decisions remain actionable in GitHub or a durable user-owned conversation
215
+ after manager self-close, with an authorized deduplicated Telegram notification.
216
+ The current operational contract is
205
217
  `skills/axstack/references/automations.md`.
206
218
 
207
219
  ## Run record and evidence
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "axstack",
3
- "version": "0.20.0",
3
+ "version": "0.20.2",
4
4
  "description": "Axstack installer and setup CLI: installs owned chat skills and role data, configures supported harness settings, and checks Orca capabilities.",
5
5
  "keywords": [
6
6
  "claude-code",
@@ -5,7 +5,7 @@ automation specs and plans describe retired designs and are not instructions.
5
5
 
6
6
  ## Topology and schedules
7
7
 
8
- There are exactly two reusable manager chats:
8
+ There are exactly two logical manager lanes:
9
9
 
10
10
  - **Review manager:** runs at minutes `0,15,30,45` and invokes
11
11
  [axstack-review](../../axstack-review/SKILL.md) for eligible peer reviews.
@@ -13,17 +13,67 @@ There are exactly two reusable manager chats:
13
13
  [axstack-watch](../../axstack-watch/SKILL.md) for eligible own-PR watch or
14
14
  repair events.
15
15
 
16
- Each uses native existing-workspace reuse in its own dedicated manager
17
- workspace. A manager never checks out a PR branch in that workspace. Missed
18
- slots do not replay a backlog; the next ordinary tick discovers current state.
19
- The two short packaged prompts sit beside this file and discover these rules by
20
- relative link instead of copying them.
16
+ Use a new isolated workspace for every scheduled pass, with one fresh finite
17
+ manager session. Configure native repo-created worktree mode against the
18
+ designated manager repository; never target an existing shared workspace.
19
+ Do not use `--reuse-session`. The scheduler creates the pass workspace before
20
+ launch; the manager must not move itself from a shared launch workspace.
21
+ Keep lane continuity and evidence outside disposable manager workspaces at
22
+ the configured durable absolute paths. A manager never checks out a PR branch
23
+ in its pass workspace. Missed slots do not replay a backlog; the next ordinary pass
24
+ discovers current state. The two short packaged prompts sit beside this file
25
+ and discover these rules by relative link instead of copying them.
21
26
 
22
- This is prompt policy, not proof that Orca serializes a busy tick or reuses a
23
- session. Before activation a native canary must prove same-session reuse, busy
24
- tick behavior, recovery after session loss, nested dispatch depth for
25
- coordinator-launched leaves, and total process and memory effects. A firing
26
- timestamp proves neither delivery nor useful completion.
27
+ Provision one explicit absolute continuity path per automation ID in the
28
+ scheduled prompt. Follow [Run record](run-record.md) for its contents; the
29
+ repository's absolute Git common directory is a valid durable root, but a pass
30
+ worktree is not. Missing or non-durable continuity configuration holds admission.
31
+
32
+ This is prompt policy, not proof that Orca starts a fresh session or prevents
33
+ overlapping passes. Before activation a native canary must prove fresh-session
34
+ launch, overlapping-pass behavior, recovery after session loss, nested
35
+ dispatch depth for coordinator-launched leaves, and total process and memory
36
+ effects. A firing timestamp proves neither delivery nor useful completion.
37
+
38
+ ## Session admission
39
+
40
+ Reconcile saved state, current GitHub state, and native Orca Tasks, Dispatches,
41
+ sessions, and liveness across all workspaces belonging to the same automation
42
+ before discovery or admission; never infer lane ownership from an empty local
43
+ workspace. Bind the lane to the automation ID and pass to its native run ID,
44
+ workspace ID, and terminal identity, not a title or directory-name guess.
45
+ A confirmed live manager for the same lane remains authoritative.
46
+ The new duplicate does no PR work, makes no shared-record write, touches
47
+ nothing owned by the live manager, and closes only itself as its final action
48
+ by the same guarded isolated-workspace retirement below, not a tab-only close.
49
+ Unknown liveness blocks admission and shared-record writes; it does not
50
+ authorize takeover, cleanup, or a duplicate manager. Preserve `user_takeover`
51
+ and other user-owned sessions.
52
+
53
+ When two new passes overlap, reconcile native run ordering before either admits
54
+ work; the earlier unsettled pass retains the lane. Missing ordering or ownership
55
+ evidence holds admission, never guesses a winner. This is not an atomic lock:
56
+ activation requires an overlap canary proving only one pass admits work. Count
57
+ all unsettled PR jobs and descendants across the lane, not just this workspace.
58
+ Read every page of native runs, workers, and workspace inventory; truncated or
59
+ failed inventory holds admission and cleanup rather than implying absence.
60
+
61
+ A prior manager does not retain the lane merely because its automation run
62
+ status says failed or dispatched. Require confirmed native process exit for its
63
+ exact terminal incarnation, saved continuity, and settlement of all owned jobs
64
+ and descendants before releasing its lane ownership. Absence or saved retirement
65
+ intent alone is insufficient. Conversely a completed run row does not prove exit.
66
+ If these facts remain unknown, report the hold at the durable decision location;
67
+ do not silently stand down forever or replace a potentially live owner.
68
+
69
+ Before PR admission, reconcile old pass resources. If three or more unreclaimed
70
+ earlier pass workspaces remain, disable only this automation through the native
71
+ CLI, verify the disabled setting, save/report the cleanup hold, and admit no new
72
+ PR jobs. Also pause on a confirmed cleanup failure or unresolved lane ownership.
73
+ Already-dispatched passes still reconcile and retire only their own safe resources;
74
+ this threshold is a stop condition, not an atomic hard cap on in-flight creations.
75
+ An uncertain disable is a reported failure, not proof scheduling stopped. Resume
76
+ only after ownership/cleanup is verified and explicit activation authority exists.
27
77
 
28
78
  ## Discovery and coverage
29
79
 
@@ -74,8 +124,8 @@ a slot settles; repeatedly changing PRs cannot starve older unserved work.
74
124
 
75
125
  ## Per-PR jobs
76
126
 
77
- The reusable manager owns ongoing discovery and continuity; the bounded PR
78
- coordinator owns only its admitted event. Do not create a second live owner or
127
+ The logical manager lane owns ongoing discovery and continuity across finite
128
+ sessions; the bounded PR coordinator owns only its admitted event. Do not create a second live owner or
79
129
  writer for the same PR. Reuse an existing valid per-PR worktree, owner, and
80
130
  unchanged receipts before creating anything. Otherwise create one separate
81
131
  Orca worktree per PR job, parented to that repository's primary worktree, and
@@ -85,19 +135,23 @@ handles the current actionable event, returns exact receipts, then settles.
85
135
  Settlement returns continuity to the manager rather than retaining an idle PR
86
136
  coordinator. Reviewers retain the isolation required by `axstack-review`.
87
137
 
88
- An unchanged exact head and event creates no job. Dedupe from current GitHub
89
- state, native Orca Task and Dispatch state, and the existing compact run record;
90
- do not create machine cursor files or a queue engine. Record enough to resume:
91
- PR, head, base, event identity, mode, owner and worker receipts, candidate,
138
+ An unchanged exact head and unchanged event identity creates no job; an
139
+ unchanged exact head with a new event identity remains actionable. Event
140
+ identity includes the applicable review ID and body digest, check identity and
141
+ result, or other current GitHub event receipt. Dedupe from current GitHub state,
142
+ native Orca Task and Dispatch state, and the existing compact run record; do
143
+ not create machine cursor files or a queue engine. Record enough to resume: PR,
144
+ head, base, event identity, mode, owner and worker receipts, candidate,
92
145
  publication receipt, hold, and next action. GitHub remains authoritative for
93
146
  open state, revisions, reviews, checks, and merge state.
94
147
 
95
148
  When the current event is handled, settle and release owned native resources.
96
- Preserve a dirty worktree, an unpushed candidate, pending external result, or
97
- user-owned work until its durability and ownership are proven. Here a pending
98
- external result means an unconfirmed publication or send outcome, not pending
99
- CI. Waiting state belongs in GitHub and the compact record, never in an idle
100
- model, per-PR timer, or polling loop.
149
+ Preserve dirty worktrees, unpushed candidates, review evidence, pending
150
+ external results, and user-owned work until durability and ownership are
151
+ proven. Unknown liveness, `user_takeover`, and ambiguous publication likewise
152
+ forbid cleanup. Here a pending external result means an unconfirmed publication
153
+ or send outcome, not pending CI. Waiting state belongs in GitHub and the compact
154
+ record, never in an idle model, per-PR timer, or polling loop.
101
155
 
102
156
  ## Review and repair authority
103
157
 
@@ -137,18 +191,58 @@ boundary.
137
191
  ## Exceptional decisions and notifications
138
192
 
139
193
  A credible security concern, permanent on-chain state change, or architecture
140
- decision is held in the reusable manager's Orca conversation. Store the PR,
141
- head, base, action, candidate, decision context, and preserved candidate bytes
142
- or refs in the compact record. Send one deduplicated Telegram notification only
143
- when the recorded `Notification policy` authorizes it, using
144
- [axstack-relay](../../axstack-relay/SKILL.md) and telling the user to act in
145
- that manager conversation.
194
+ decision is held in GitHub or a durable user-owned conversation that survives
195
+ the finite manager session. Store the PR, head, base, action, candidate,
196
+ decision context, durable decision location, and preserved candidate bytes or
197
+ refs in the compact record. The decision must never depend on a closed manager
198
+ chat. Send one deduplicated Telegram notification only when the recorded
199
+ `Notification policy` authorizes it, using
200
+ [axstack-relay](../../axstack-relay/SKILL.md) and telling the user where the
201
+ durable decision is actionable.
146
202
 
147
203
  Telegram delivery, a Telegram reply, or silence never authorizes an action.
148
- After a decision in the manager conversation, revalidate the exact candidate,
149
- head, base, event, authority, and remote state before acting. A changed input
150
- makes the old decision stale and holds that action. There are no token files,
151
- Telegram decision interpreter, or separate model gate.
204
+ After a decision, revalidate the exact candidate, head, base, event, authority,
205
+ and remote state before acting. A changed input makes the old decision stale
206
+ and holds that action. There are no token files, Telegram decision interpreter,
207
+ or separate model gate.
208
+
209
+ ## Finite-session teardown
210
+
211
+ After admission closes, settle every owned PR job and all descendants before the
212
+ manager session ends; active or unknown descendants keep their PR slot occupied
213
+ and must be reconciled rather than trusted from saved status. Then save durable
214
+ continuity, evidence locations, pending receipts, and user decisions before
215
+ self-close. Waiting PRs still occupy zero slots once their owned trees settle.
216
+
217
+ Cleanup of PR-job setup shells stays scoped to positively identified owned unused
218
+ setup shells: use the native exact-terminal close operation for each only.
219
+ Preserve dirty worktrees, unpushed candidates, review evidence, user-owned
220
+ terminals, unknown liveness, `user_takeover`, and ambiguous publication state.
221
+
222
+ For the manager pass only, verify native run/workspace identity, exclusive
223
+ automation ownership, no unsettled descendants, and a fresh terminal inventory
224
+ containing only this manager and its proven unused setup shells. No other pass
225
+ may target this workspace. If an unexpected terminal or user takeover is present,
226
+ do not bulk-close; preserve the workspace and report the hold at its durable
227
+ decision location. Never bulk-close a shared manager workspace or a PR-job worktree.
228
+
229
+ After saving continuity, use the version-matched native workspace retirement:
230
+ `terminal close --worktree id:<exact-native-workspace-id> --all --json`.
231
+ Copy the complete ID from the run/workspace receipt; never use a name, branch,
232
+ path-only selector, or `active` for this destructive operation.
233
+ Self-close is the final action; perform no record write or cleanup afterward.
234
+ A failed or uncertain close is not proof of retirement. The next admitted pass
235
+ reconciles prior retirement from native state before trusting saved intent.
236
+ Retire only positively identified completed pass resources; do not kill another
237
+ live or unknown manager. Remove an old pass worktree only with native cleanup
238
+ after terminal retirement is confirmed and its Git state is clean, with no
239
+ unpushed commits, retained evidence, children, or user-owned work. Never use
240
+ recursive shell deletion. Failed cleanup remains recorded, not silently forgotten.
241
+
242
+ The activation canary must additionally prove distinct workspace IDs per pass,
243
+ cross-workspace lane admission, self-retirement and absence after client reconnect,
244
+ and bounded retained worktrees over repeated passes. A shell-only close test does
245
+ not prove agent resume-record retirement. Do not activate on source checks alone.
152
246
 
153
247
  ## Recovery and limits
154
248
 
@@ -162,6 +256,6 @@ unambiguous work may proceed.
162
256
  Use only native schedules and Orca orchestration. Add no daemon, shell precheck,
163
257
  watchdog script, custom scheduler, cursor or pending sidecar, runtime database,
164
258
  workflow state machine, decision interpreter, or programmatic escalation gate.
165
- The live VPS activation, native reuse and busy-tick behavior, recovery path,
259
+ The live VPS activation, native fresh-session and overlapping-pass behavior, recovery path,
166
260
  nested dispatch depth for coordinator-launched leaves, and resource ceiling
167
261
  remain unverified until the canary succeeds.
@@ -110,8 +110,8 @@ differs from merged; human merges.
110
110
 
111
111
  ## Watch health
112
112
 
113
- The native review and watch managers reuse separate dedicated workspaces on
114
- staggered 15-minute schedules. Each admits at most five executing PR jobs;
113
+ Native review and watch lanes use fresh finite sessions in isolated per-pass
114
+ workspaces on staggered 15-minute schedules. Each admits at most five executing PR jobs;
115
115
  waiting PRs remain covered without reserving slots. Bounded PR jobs own their
116
116
  events, use per-PR worktrees, and settle after descendants settle. Build no
117
117
  custom scheduler, state engine, or legacy fallback. Details live in
@@ -1,9 +1,12 @@
1
1
  # Review manager prompt
2
2
 
3
- You are the reusable review manager in your dedicated Orca workspace. Enter
3
+ You are a fresh finite review-manager session in its isolated per-pass Orca workspace. Enter
4
4
  through the installed `axstack-review` skill; that skill loads its packaged
5
5
  `../axstack/references/automations.md` contract by relative reference. Discover
6
6
  every eligible peer-review event and invoke the skill through Orca for each
7
7
  admitted bounded PR job. Keep complete coverage separate from the five-job
8
8
  execution cap, preserve exact ownership and receipts, settle completed trees,
9
- and stay quiet when nothing changed. Never check out a PR branch here.
9
+ and stay quiet when nothing changed. Reconcile before admission, save durable
10
+ continuity outside this workspace, then retire only this pass workspace as the
11
+ final action under the contract's ownership guards. Reconcile the whole lane,
12
+ not just this workspace. Never check out a PR branch here.
@@ -1,10 +1,12 @@
1
1
  # Watch manager prompt
2
2
 
3
- You are the reusable watch manager in your dedicated Orca workspace. Enter
3
+ You are a fresh finite watch-manager session in its isolated per-pass Orca workspace. Enter
4
4
  through the installed `axstack-watch` skill; that skill loads its packaged
5
5
  `../axstack/references/automations.md` contract by relative reference. Discover
6
6
  every eligible own-PR event and invoke the skill through Orca for each admitted
7
7
  bounded PR job. Keep complete coverage separate from the five-job execution
8
8
  cap, preserve exact ownership, candidates, holds, and receipts, settle
9
- completed trees, and stay quiet when nothing changed. Never check out a PR
10
- branch here.
9
+ completed trees, and stay quiet when nothing changed. Reconcile before
10
+ admission, save durable continuity outside this workspace, then retire only this
11
+ pass workspace as the final action under the contract's ownership guards.
12
+ Reconcile the whole lane, not just this workspace. Never check out a PR branch here.
@@ -5,11 +5,13 @@ description: When a candidate PR needs final review, use axstack-review for conf
5
5
 
6
6
  # Review
7
7
 
8
+ Manual invocation does not enter the scheduled manager lifecycle; never close the user’s chat or workspace.
9
+
8
10
  Produce one evidence-bound verdict for an exact candidate revision using the
9
11
  review count and model routing required by its mode. Report within the
10
12
  requested authority; the human merges unless separately authorized otherwise.
11
13
 
12
- When the current session is the reusable review manager, load
14
+ When the current session is a fresh review-manager session, load
13
15
  [Native PR managers](../axstack/references/automations.md) and follow only its
14
16
  discovery, admission, recovery, and settlement branch. Do not review a PR,
15
17
  materialize `axstack-owner`, or check out a PR branch in the manager workspace.
@@ -276,7 +278,7 @@ private transport values or configuration.
276
278
 
277
279
  Under a manager PR job, credible serious risk found by a reviewer raises the
278
280
  standing internal prompt and dependent-action hold immediately in the compact
279
- run record and reusable manager's Orca conversation. The authorized
281
+ run record and a durable GitHub or user-owned conversation. The authorized
280
282
  `axstack-relay` notification points the user there; delivery or silence never
281
283
  authorizes action.
282
284
 
@@ -329,7 +331,7 @@ to the intended commit.
329
331
  For a peer PR selected under
330
332
  [Native PR managers](../axstack/references/automations.md), apply the same
331
333
  complete-review and exact-commit requirements. A serious-risk escalation holds
332
- submission in the reusable manager conversation. Otherwise `APPROVE` requires
334
+ submission at its durable decision location. Otherwise `APPROVE` requires
333
335
  no validated blocker and `REQUEST_CHANGES` requires at least one evidenced
334
336
  validated blocker. `INCOMPLETE`, unavailable inputs, unresolved disagreement,
335
337
  or unknown GitHub state submits nothing.
@@ -5,6 +5,8 @@ description: When babysitting an existing PR, use axstack-watch to monitor or ma
5
5
 
6
6
  # Watch
7
7
 
8
+ Manual invocation does not enter the scheduled manager lifecycle; never close the user’s chat or workspace.
9
+
8
10
  Leave each adopted PR with one accountable owner, current readiness evidence,
9
11
  and user-facing updates that name its current milestone and next wake or
10
12
  condition.
@@ -14,7 +16,7 @@ Its required edge loads [Shared lifecycle](../axstack/references/lifecycle.md),
14
16
  including the end-of-run audit hook. Reach other references only at the steps
15
17
  that name them.
16
18
 
17
- When the current session is the reusable watch manager, load
19
+ When the current session is a fresh watch-manager session, load
18
20
  [Native PR managers](../axstack/references/automations.md) and follow only its
19
21
  discovery, admission, recovery, and settlement branch. Do not adopt or repair a
20
22
  PR, materialize `axstack-owner`, or check out a PR branch in the manager
@@ -71,9 +73,9 @@ Read-only checks and updates to the already-owned local record need no runtime
71
73
  load. When the watch needs a new owner or automated observation, first read
72
74
  [Watch runtime](references/watch-runtime.md) and then
73
75
  [Orca runtime](../axstack/references/orca-runtime.md). Reconcile before creating
74
- anything. The native watch manager reuses one dedicated workspace on its
75
- staggered 15-minute schedule, covers every eligible own PR, and starts only
76
- bounded actionable-event jobs. Waiting PRs reserve no execution slots and
76
+ anything. Each native watch-manager pass starts a fresh finite session in an
77
+ isolated per-pass workspace on its staggered 15-minute schedule, covers
78
+ every eligible own PR, and starts only bounded actionable-event jobs. Waiting PRs reserve no execution slots and
77
79
  there is no watch deadline for manager automation. `axstack-monitor` stays an
78
80
  optional read-only observer that never sends. One read-only PR observation
79
81
  needs neither. The bounded PR coordinator is the live owner for its event;
@@ -127,8 +129,8 @@ the current revision, and a recorded hold or next owner where work remains.
127
129
  When a new actionable event is eligible under a recorded `Notification policy`,
128
130
  the owner may use the optional [axstack-relay](../axstack-relay/SKILL.md).
129
131
  The monitor never sends. The manager deduplicates authorized notifications;
130
- absent policy or failed relay uses its current Orca conversation and leaves
131
- every existing hold open.
132
+ absent policy or failed relay uses the recorded durable GitHub or user-owned
133
+ conversation and leaves every existing hold open.
132
134
 
133
135
  ## 5. State readiness precisely
134
136
 
@@ -140,9 +142,9 @@ observed state distinct from merged, and the human merges by default.
140
142
  ## 6. End and preserve continuity
141
143
 
142
144
  A bounded manager PR job ends as soon as its current event and every owned
143
- descendant settle. It returns exact receipts and remaining state to the
144
- reusable manager, releases proven resources, and never waits for merge or stops
145
- the manager's recurring schedule.
145
+ descendant settle. It returns exact receipts and remaining state to the logical
146
+ manager lane's durable continuity, releases proven resources, and never waits
147
+ for merge or stops the manager's recurring schedule.
146
148
 
147
149
  End a standalone watch early when all required PRs merge, at cancellation, or
148
150
  at its shared default 24 h deadline. There is no watch deadline for manager
@@ -36,9 +36,9 @@ exact new revision and base, all six angles, applicable acceptance, the reply
36
36
  body identities, and every affected boundary, with no unresolved material
37
37
  finding or urgent hold. Under a manager PR job, a serious-risk escalation
38
38
  preserves the local candidate and exact context, records the hold in the
39
- compact record and reusable manager conversation, and sends only an authorized
40
- deduplicated notification. Publication remains held until the user decides in
41
- that conversation and all exact inputs are revalidated.
39
+ compact record and a durable GitHub or user-owned conversation, and sends only
40
+ an authorized deduplicated notification. Publication remains held until the
41
+ user decides at that durable location and all exact inputs are revalidated.
42
42
 
43
43
  ## 3. Revalidate immediately before publication
44
44
 
@@ -13,10 +13,12 @@ stop task-owned registrations at completion, cancellation, or expiry.
13
13
 
14
14
  ## Native watch manager
15
15
 
16
- The separate native watch manager follows the
17
- [native PR-manager contract](../../axstack/references/automations.md). It reuses
18
- one dedicated workspace at minutes `7,22,37,52`, scans every eligible own PR,
19
- and admits at most five bounded actionable-event jobs. Waiting PRs stay covered
16
+ The separate native watch manager lane follows the
17
+ [native PR-manager contract](../../axstack/references/automations.md). Each pass
18
+ uses a new isolated workspace and fresh finite session at minutes `7,22,37,52`.
19
+ Continuity survives outside disposable workspaces; admission reconciles the
20
+ whole lane across workspaces. It scans every eligible own PR and
21
+ admits at most five bounded actionable-event jobs. Waiting PRs stay covered
20
22
  without reserving slots. Each job uses its own repository-parented worktree and
21
23
  settles with all descendants; no model, per-PR timer, or polling loop waits for
22
24
  CI, review, a user decision, or merge.
@@ -27,8 +29,8 @@ settings or source configuration are not runtime evidence. Preserve quiet
27
29
  unchanged behavior, exact-head event dedupe, ownership, complete discovery,
28
30
  and current authority.
29
31
 
30
- Before activation, canary same-session reuse, a busy scheduled tick, session
31
- loss and recovery, nested dispatch depth for coordinator-launched leaves, and
32
+ Before activation, canary fresh-session launch, an overlapping scheduled pass,
33
+ session loss and recovery, nested dispatch depth for coordinator-launched leaves, and
32
34
  total process and memory behavior. Until observed, those remain unverified; do
33
35
  not replace them with a precheck, watchdog, custom scheduler, state engine, or
34
36
  legacy fallback.