axstack 0.20.0 → 0.20.1
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 +8 -4
- package/docs/workflows.md +18 -8
- package/package.json +1 -1
- package/skills/axstack/references/automations.md +68 -34
- package/skills/axstack/references/lifecycle.md +2 -2
- package/skills/axstack/references/review-manager-prompt.md +3 -2
- package/skills/axstack/references/watch-manager-prompt.md +4 -3
- package/skills/axstack-review/SKILL.md +3 -3
- package/skills/axstack-watch/SKILL.md +9 -9
- package/skills/axstack-watch/references/repair-publication.md +3 -3
- package/skills/axstack-watch/references/watch-runtime.md +6 -5
package/README.md
CHANGED
|
@@ -114,11 +114,15 @@ 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
|
|
118
|
-
|
|
117
|
+
Two logical native PR-manager lanes run on staggered 15-minute schedules. Each
|
|
118
|
+
pass uses a fresh finite session in its persistent dedicated 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.
|
|
121
|
-
|
|
121
|
+
scheduler, queue engine, or decision interpreter. Sessions reconcile before
|
|
122
|
+
admission, save durable continuity and decisions, clean only positively
|
|
123
|
+
identified owned unused setup shells, and self-close as their final action.
|
|
124
|
+
Native fresh-session, overlapping-pass, recovery, and VPS resource behavior
|
|
125
|
+
require a canary before activation.
|
|
122
126
|
|
|
123
127
|
Mobile completion/reply behavior remains unverified. Structural checks and
|
|
124
128
|
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
|
|
177
|
-
|
|
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,25 @@ 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
|
|
186
|
-
minutes `0,15,30,45` and watch at `7,22,37,52`. Each
|
|
187
|
-
|
|
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 persistent dedicated 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 before admission. A
|
|
194
|
+
confirmed same-lane manager makes the new duplicate do no work or shared-record
|
|
195
|
+
write and close only itself. Normal teardown settles descendants, saves durable
|
|
196
|
+
continuity and decisions, closes only positively identified owned unused setup
|
|
197
|
+
shell terminals, then self-closes as the final action. It never blanket-closes
|
|
198
|
+
the workspace or cleans preserved candidates, evidence, user sessions, unknown
|
|
199
|
+
liveness, `user_takeover`, or ambiguous publication state.
|
|
200
|
+
|
|
192
201
|
Requested reviews cover any accessible repository; automatic repairs retain
|
|
193
202
|
their `defi-com/monorepo` and `defi-com/mobile` scope. Orca owns schedules,
|
|
194
|
-
|
|
203
|
+
sessions, Tasks, and Dispatches. Axstack adds no custom scheduler, queue engine,
|
|
195
204
|
cursor files, polling loop, or historical runtime fallback.
|
|
196
205
|
|
|
197
206
|
## Automations
|
|
@@ -200,8 +209,9 @@ The review and watch managers use short packaged prompts that load the current
|
|
|
200
209
|
relative contract and invoke `axstack-review` or `axstack-watch`. Bounded jobs
|
|
201
210
|
publish ordinary exact-head review verdicts or reviewed fast-forward repairs;
|
|
202
211
|
the human merges. Exceptional security, permanent-on-chain, or architectural
|
|
203
|
-
decisions remain
|
|
204
|
-
|
|
212
|
+
decisions remain actionable in GitHub or a durable user-owned conversation
|
|
213
|
+
after manager self-close, with an authorized deduplicated Telegram notification.
|
|
214
|
+
The current operational contract is
|
|
205
215
|
`skills/axstack/references/automations.md`.
|
|
206
216
|
|
|
207
217
|
## Run record and evidence
|
package/package.json
CHANGED
|
@@ -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
|
|
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,29 @@ 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
|
|
17
|
-
workspace
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
16
|
+
Each scheduled pass starts a fresh finite manager session in its persistent
|
|
17
|
+
dedicated workspace; the workspace and saved continuity persist, but the
|
|
18
|
+
manager chat does not. A manager never checks out a PR branch in that
|
|
19
|
+
workspace. Missed slots do not replay a backlog; the next ordinary pass
|
|
20
|
+
discovers current state. The two short packaged prompts sit beside this file
|
|
21
|
+
and discover these rules by relative link instead of copying them.
|
|
22
|
+
|
|
23
|
+
This is prompt policy, not proof that Orca starts a fresh session or prevents
|
|
24
|
+
overlapping passes. Before activation a native canary must prove fresh-session
|
|
25
|
+
launch, overlapping-pass behavior, recovery after session loss, nested
|
|
26
|
+
dispatch depth for coordinator-launched leaves, and total process and memory
|
|
27
|
+
effects. A firing timestamp proves neither delivery nor useful completion.
|
|
28
|
+
|
|
29
|
+
## Session admission
|
|
30
|
+
|
|
31
|
+
Reconcile saved state, current GitHub state, and native Orca Tasks, Dispatches,
|
|
32
|
+
sessions, and liveness in the dedicated workspace before discovery or
|
|
33
|
+
admission. A confirmed live manager for the same lane remains authoritative.
|
|
34
|
+
The new duplicate does no PR work, makes no shared-record write, touches
|
|
35
|
+
nothing owned by the live manager, and closes only itself as its final action.
|
|
36
|
+
Unknown liveness blocks admission and shared-record writes; it does not
|
|
37
|
+
authorize takeover, cleanup, or a duplicate manager. Preserve `user_takeover`
|
|
38
|
+
and other user-owned sessions.
|
|
27
39
|
|
|
28
40
|
## Discovery and coverage
|
|
29
41
|
|
|
@@ -74,8 +86,8 @@ a slot settles; repeatedly changing PRs cannot starve older unserved work.
|
|
|
74
86
|
|
|
75
87
|
## Per-PR jobs
|
|
76
88
|
|
|
77
|
-
The
|
|
78
|
-
coordinator owns only its admitted event. Do not create a second live owner or
|
|
89
|
+
The logical manager lane owns ongoing discovery and continuity across finite
|
|
90
|
+
sessions; the bounded PR coordinator owns only its admitted event. Do not create a second live owner or
|
|
79
91
|
writer for the same PR. Reuse an existing valid per-PR worktree, owner, and
|
|
80
92
|
unchanged receipts before creating anything. Otherwise create one separate
|
|
81
93
|
Orca worktree per PR job, parented to that repository's primary worktree, and
|
|
@@ -85,19 +97,23 @@ handles the current actionable event, returns exact receipts, then settles.
|
|
|
85
97
|
Settlement returns continuity to the manager rather than retaining an idle PR
|
|
86
98
|
coordinator. Reviewers retain the isolation required by `axstack-review`.
|
|
87
99
|
|
|
88
|
-
An unchanged exact head and event creates no job
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
100
|
+
An unchanged exact head and unchanged event identity creates no job; an
|
|
101
|
+
unchanged exact head with a new event identity remains actionable. Event
|
|
102
|
+
identity includes the applicable review ID and body digest, check identity and
|
|
103
|
+
result, or other current GitHub event receipt. Dedupe from current GitHub state,
|
|
104
|
+
native Orca Task and Dispatch state, and the existing compact run record; do
|
|
105
|
+
not create machine cursor files or a queue engine. Record enough to resume: PR,
|
|
106
|
+
head, base, event identity, mode, owner and worker receipts, candidate,
|
|
92
107
|
publication receipt, hold, and next action. GitHub remains authoritative for
|
|
93
108
|
open state, revisions, reviews, checks, and merge state.
|
|
94
109
|
|
|
95
110
|
When the current event is handled, settle and release owned native resources.
|
|
96
|
-
Preserve
|
|
97
|
-
user-owned work until
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
111
|
+
Preserve dirty worktrees, unpushed candidates, review evidence, pending
|
|
112
|
+
external results, and user-owned work until durability and ownership are
|
|
113
|
+
proven. Unknown liveness, `user_takeover`, and ambiguous publication likewise
|
|
114
|
+
forbid cleanup. Here a pending external result means an unconfirmed publication
|
|
115
|
+
or send outcome, not pending CI. Waiting state belongs in GitHub and the compact
|
|
116
|
+
record, never in an idle model, per-PR timer, or polling loop.
|
|
101
117
|
|
|
102
118
|
## Review and repair authority
|
|
103
119
|
|
|
@@ -137,18 +153,36 @@ boundary.
|
|
|
137
153
|
## Exceptional decisions and notifications
|
|
138
154
|
|
|
139
155
|
A credible security concern, permanent on-chain state change, or architecture
|
|
140
|
-
decision is held in
|
|
141
|
-
head, base, action, candidate,
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
156
|
+
decision is held in GitHub or a durable user-owned conversation that survives
|
|
157
|
+
the finite manager session. Store the PR, head, base, action, candidate,
|
|
158
|
+
decision context, durable decision location, and preserved candidate bytes or
|
|
159
|
+
refs in the compact record. The decision must never depend on a closed manager
|
|
160
|
+
chat. Send one deduplicated Telegram notification only when the recorded
|
|
161
|
+
`Notification policy` authorizes it, using
|
|
162
|
+
[axstack-relay](../../axstack-relay/SKILL.md) and telling the user where the
|
|
163
|
+
durable decision is actionable.
|
|
146
164
|
|
|
147
165
|
Telegram delivery, a Telegram reply, or silence never authorizes an action.
|
|
148
|
-
After a decision
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
166
|
+
After a decision, revalidate the exact candidate, head, base, event, authority,
|
|
167
|
+
and remote state before acting. A changed input makes the old decision stale
|
|
168
|
+
and holds that action. There are no token files, Telegram decision interpreter,
|
|
169
|
+
or separate model gate.
|
|
170
|
+
|
|
171
|
+
## Finite-session teardown
|
|
172
|
+
|
|
173
|
+
After admission closes, settle every owned PR job and all descendants before the
|
|
174
|
+
manager session ends; active or unknown descendants keep their PR slot occupied
|
|
175
|
+
and must be reconciled rather than trusted from saved status. Then save durable
|
|
176
|
+
continuity, evidence locations, pending receipts, and user decisions before
|
|
177
|
+
self-close. Waiting PRs still occupy zero slots once their owned trees settle.
|
|
178
|
+
|
|
179
|
+
Cleanup is scoped to positively identified owned unused setup shells: use the
|
|
180
|
+
version-matched native exact-terminal close operation for each such terminal only.
|
|
181
|
+
Never blanket-close a workspace. Preserve dirty worktrees, unpushed candidates,
|
|
182
|
+
review evidence, user-owned terminals, unknown liveness, `user_takeover`, and
|
|
183
|
+
ambiguous publication state. Close the finite manager's own exact terminal
|
|
184
|
+
through the native guide. Self-close is the final action; perform no record
|
|
185
|
+
write, cleanup, or other work afterward.
|
|
152
186
|
|
|
153
187
|
## Recovery and limits
|
|
154
188
|
|
|
@@ -162,6 +196,6 @@ unambiguous work may proceed.
|
|
|
162
196
|
Use only native schedules and Orca orchestration. Add no daemon, shell precheck,
|
|
163
197
|
watchdog script, custom scheduler, cursor or pending sidecar, runtime database,
|
|
164
198
|
workflow state machine, decision interpreter, or programmatic escalation gate.
|
|
165
|
-
The live VPS activation, native
|
|
199
|
+
The live VPS activation, native fresh-session and overlapping-pass behavior, recovery path,
|
|
166
200
|
nested dispatch depth for coordinator-launched leaves, and resource ceiling
|
|
167
201
|
remain unverified until the canary succeeds.
|
|
@@ -110,8 +110,8 @@ differs from merged; human merges.
|
|
|
110
110
|
|
|
111
111
|
## Watch health
|
|
112
112
|
|
|
113
|
-
|
|
114
|
-
staggered 15-minute schedules. Each admits at most five executing PR jobs;
|
|
113
|
+
Native review and watch lanes use fresh finite sessions in persistent dedicated
|
|
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,10 @@
|
|
|
1
1
|
# Review manager prompt
|
|
2
2
|
|
|
3
|
-
You are
|
|
3
|
+
You are a fresh finite review-manager session in its persistent dedicated 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.
|
|
9
|
+
and stay quiet when nothing changed. Reconcile before admission, save durable
|
|
10
|
+
continuity, then self-close as the final action. Never check out a PR branch here.
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
# Watch manager prompt
|
|
2
2
|
|
|
3
|
-
You are
|
|
3
|
+
You are a fresh finite watch-manager session in its persistent dedicated 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.
|
|
10
|
-
|
|
9
|
+
completed trees, and stay quiet when nothing changed. Reconcile before
|
|
10
|
+
admission, save durable continuity, then self-close as the final action. Never
|
|
11
|
+
check out a PR branch here.
|
|
@@ -9,7 +9,7 @@ Produce one evidence-bound verdict for an exact candidate revision using the
|
|
|
9
9
|
review count and model routing required by its mode. Report within the
|
|
10
10
|
requested authority; the human merges unless separately authorized otherwise.
|
|
11
11
|
|
|
12
|
-
When the current session is
|
|
12
|
+
When the current session is a fresh review-manager session, load
|
|
13
13
|
[Native PR managers](../axstack/references/automations.md) and follow only its
|
|
14
14
|
discovery, admission, recovery, and settlement branch. Do not review a PR,
|
|
15
15
|
materialize `axstack-owner`, or check out a PR branch in the manager workspace.
|
|
@@ -276,7 +276,7 @@ private transport values or configuration.
|
|
|
276
276
|
|
|
277
277
|
Under a manager PR job, credible serious risk found by a reviewer raises the
|
|
278
278
|
standing internal prompt and dependent-action hold immediately in the compact
|
|
279
|
-
run record and
|
|
279
|
+
run record and a durable GitHub or user-owned conversation. The authorized
|
|
280
280
|
`axstack-relay` notification points the user there; delivery or silence never
|
|
281
281
|
authorizes action.
|
|
282
282
|
|
|
@@ -329,7 +329,7 @@ to the intended commit.
|
|
|
329
329
|
For a peer PR selected under
|
|
330
330
|
[Native PR managers](../axstack/references/automations.md), apply the same
|
|
331
331
|
complete-review and exact-commit requirements. A serious-risk escalation holds
|
|
332
|
-
submission
|
|
332
|
+
submission at its durable decision location. Otherwise `APPROVE` requires
|
|
333
333
|
no validated blocker and `REQUEST_CHANGES` requires at least one evidenced
|
|
334
334
|
validated blocker. `INCOMPLETE`, unavailable inputs, unresolved disagreement,
|
|
335
335
|
or unknown GitHub state submits nothing.
|
|
@@ -14,7 +14,7 @@ Its required edge loads [Shared lifecycle](../axstack/references/lifecycle.md),
|
|
|
14
14
|
including the end-of-run audit hook. Reach other references only at the steps
|
|
15
15
|
that name them.
|
|
16
16
|
|
|
17
|
-
When the current session is
|
|
17
|
+
When the current session is a fresh watch-manager session, load
|
|
18
18
|
[Native PR managers](../axstack/references/automations.md) and follow only its
|
|
19
19
|
discovery, admission, recovery, and settlement branch. Do not adopt or repair a
|
|
20
20
|
PR, materialize `axstack-owner`, or check out a PR branch in the manager
|
|
@@ -71,9 +71,9 @@ Read-only checks and updates to the already-owned local record need no runtime
|
|
|
71
71
|
load. When the watch needs a new owner or automated observation, first read
|
|
72
72
|
[Watch runtime](references/watch-runtime.md) and then
|
|
73
73
|
[Orca runtime](../axstack/references/orca-runtime.md). Reconcile before creating
|
|
74
|
-
anything.
|
|
75
|
-
staggered 15-minute schedule, covers
|
|
76
|
-
bounded actionable-event jobs. Waiting PRs reserve no execution slots and
|
|
74
|
+
anything. Each native watch-manager pass starts a fresh finite session in one
|
|
75
|
+
persistent dedicated workspace on its staggered 15-minute schedule, covers
|
|
76
|
+
every eligible own PR, and starts only bounded actionable-event jobs. Waiting PRs reserve no execution slots and
|
|
77
77
|
there is no watch deadline for manager automation. `axstack-monitor` stays an
|
|
78
78
|
optional read-only observer that never sends. One read-only PR observation
|
|
79
79
|
needs neither. The bounded PR coordinator is the live owner for its event;
|
|
@@ -127,8 +127,8 @@ the current revision, and a recorded hold or next owner where work remains.
|
|
|
127
127
|
When a new actionable event is eligible under a recorded `Notification policy`,
|
|
128
128
|
the owner may use the optional [axstack-relay](../axstack-relay/SKILL.md).
|
|
129
129
|
The monitor never sends. The manager deduplicates authorized notifications;
|
|
130
|
-
absent policy or failed relay uses
|
|
131
|
-
every existing hold open.
|
|
130
|
+
absent policy or failed relay uses the recorded durable GitHub or user-owned
|
|
131
|
+
conversation and leaves every existing hold open.
|
|
132
132
|
|
|
133
133
|
## 5. State readiness precisely
|
|
134
134
|
|
|
@@ -140,9 +140,9 @@ observed state distinct from merged, and the human merges by default.
|
|
|
140
140
|
## 6. End and preserve continuity
|
|
141
141
|
|
|
142
142
|
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
|
-
|
|
145
|
-
the manager's recurring schedule.
|
|
143
|
+
descendant settle. It returns exact receipts and remaining state to the logical
|
|
144
|
+
manager lane's durable continuity, releases proven resources, and never waits
|
|
145
|
+
for merge or stops the manager's recurring schedule.
|
|
146
146
|
|
|
147
147
|
End a standalone watch early when all required PRs merge, at cancellation, or
|
|
148
148
|
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
|
|
40
|
-
deduplicated notification. Publication remains held until the
|
|
41
|
-
that
|
|
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,11 @@ 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
|
|
16
|
+
The separate native watch manager lane follows the
|
|
17
17
|
[native PR-manager contract](../../axstack/references/automations.md). It reuses
|
|
18
|
-
one dedicated workspace
|
|
19
|
-
|
|
18
|
+
one persistent dedicated workspace while each scheduled pass uses a fresh
|
|
19
|
+
finite session at minutes `7,22,37,52`. It scans every eligible own PR and
|
|
20
|
+
admits at most five bounded actionable-event jobs. Waiting PRs stay covered
|
|
20
21
|
without reserving slots. Each job uses its own repository-parented worktree and
|
|
21
22
|
settles with all descendants; no model, per-PR timer, or polling loop waits for
|
|
22
23
|
CI, review, a user decision, or merge.
|
|
@@ -27,8 +28,8 @@ settings or source configuration are not runtime evidence. Preserve quiet
|
|
|
27
28
|
unchanged behavior, exact-head event dedupe, ownership, complete discovery,
|
|
28
29
|
and current authority.
|
|
29
30
|
|
|
30
|
-
Before activation, canary
|
|
31
|
-
loss and recovery, nested dispatch depth for coordinator-launched leaves, and
|
|
31
|
+
Before activation, canary fresh-session launch, an overlapping scheduled pass,
|
|
32
|
+
session loss and recovery, nested dispatch depth for coordinator-launched leaves, and
|
|
32
33
|
total process and memory behavior. Until observed, those remain unverified; do
|
|
33
34
|
not replace them with a precheck, watchdog, custom scheduler, state engine, or
|
|
34
35
|
legacy fallback.
|