axstack 0.20.13 → 0.20.15
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 +9 -8
- package/docs/installation.md +14 -11
- package/docs/workflows.md +48 -30
- package/package.json +1 -1
- package/profiles/presets/claude-only.json +1 -1
- package/profiles/presets/codex-only.json +1 -1
- package/profiles/presets/mixed.json +1 -1
- package/skills/axstack/references/automations.md +25 -47
- package/skills/axstack/references/candidate-publication.md +9 -12
- package/skills/axstack/references/lifecycle.md +23 -22
- package/skills/axstack/references/orca-runtime.md +32 -6
- package/skills/axstack/references/routing.md +8 -5
- package/skills/axstack/references/run-record.md +1 -1
- package/skills/axstack/references/simplify-diff.md +51 -0
- package/skills/axstack-audit/SKILL.md +4 -0
- package/skills/axstack-implement/SKILL.md +16 -5
- package/skills/axstack-relay/SKILL.md +9 -8
- package/skills/axstack-review/SKILL.md +118 -20
- package/skills/axstack-spec/SKILL.md +9 -6
- package/skills/axstack-tickets/SKILL.md +6 -4
- package/skills/axstack-watch/SKILL.md +32 -41
- package/skills/axstack-watch/references/repair-publication.md +13 -17
- package/skills/axstack-watch/references/watch-runtime.md +79 -28
- package/src/capabilities.js +9 -3
- package/skills/axstack/references/watch-manager-prompt.md +0 -12
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ scheduler, or runtime database to operate. Orca is the only supported runtime.
|
|
|
20
20
|
| Turn agreed scope into a specification | `axstack-spec` |
|
|
21
21
|
| Break a specification into executable tickets | `axstack-tickets` |
|
|
22
22
|
| Build an approved task with tests and independent review | `axstack-implement` |
|
|
23
|
-
| Review a pull request | `axstack-review` |
|
|
23
|
+
| Review a pull request or bounded existing code | `axstack-review` |
|
|
24
24
|
| Monitor or maintain an existing PR | `axstack-watch` |
|
|
25
25
|
| Diagnose a bug and establish a failing check | `axstack-debug` |
|
|
26
26
|
| Answer a bounded question with sources | `axstack-research` |
|
|
@@ -46,7 +46,8 @@ need to manually coordinate every agent or repeat an approval that is still vali
|
|
|
46
46
|
## Quick start
|
|
47
47
|
|
|
48
48
|
You need Bun >=1.3.14, Git, the GitHub CLI (`gh`), the `gh stack` extension,
|
|
49
|
-
and a running Orca with its `orca-cli` and `
|
|
49
|
+
and a running Orca with its `orca-cli`, `orchestration`, and `orca-linear`
|
|
50
|
+
guides available.
|
|
50
51
|
The agents selected by your preset must also be available in Orca.
|
|
51
52
|
|
|
52
53
|
Install the CLI and skills for your harness. For example, for Codex:
|
|
@@ -68,7 +69,9 @@ Then open an Orca chat and ask for the relevant skill:
|
|
|
68
69
|
$axstack-align Help me scope account recovery.
|
|
69
70
|
$axstack-implement Build the task we agreed on.
|
|
70
71
|
$axstack-review Review this pull request: <PR URL>
|
|
72
|
+
$axstack-review Find issues in <paths> at <commit SHA>.
|
|
71
73
|
$axstack-watch Monitor this PR without making changes: <PR URL>
|
|
74
|
+
$axstack-watch Watch every PR raised by this chat until all merge or close
|
|
72
75
|
```
|
|
73
76
|
|
|
74
77
|
Use `--harness claude`, `opencode`, or `antigravity` for another supported
|
|
@@ -107,11 +110,10 @@ model is unavailable. See [workflow and routing details](docs/workflows.md).
|
|
|
107
110
|
## Optional PR automation
|
|
108
111
|
|
|
109
112
|
Manual review and watch work independently of scheduled automation.
|
|
110
|
-
For recurring
|
|
111
|
-
|
|
112
|
-
authorized repair events.
|
|
113
|
+
For recurring peer review, Axstack defines one optional native Orca review manager.
|
|
114
|
+
Own-PR observation and authorized repair remain user-driven through `axstack-watch`. Its chat-run mode can use one optional same-host native Orca observer per Run, about every ten minutes, to report new PR events internally to the original chat. The chat alone directs repairs and publication. Activation needs a live host canary; source and install checks do not prove it is running.
|
|
113
115
|
|
|
114
|
-
The
|
|
116
|
+
The review manager uses a 15-minute schedule. Each pass uses a fresh finite
|
|
115
117
|
session in an isolated workspace and admits eligible actionable PR events within
|
|
116
118
|
measured host capacity. Waiting PRs remain tracked without consuming
|
|
117
119
|
execution slots, so a large open-PR backlog does not require an idle agent per PR.
|
|
@@ -121,8 +123,7 @@ release capacity only after native descendant settlement. Uncertain execution
|
|
|
121
123
|
teardown pauses the lane; settled evidence cleanup does not occupy a slot.
|
|
122
124
|
|
|
123
125
|
Scheduling is opt-in and requires host-specific runtime validation before
|
|
124
|
-
activation. Installing Axstack does not turn it on.
|
|
125
|
-
explicitly allowed repositories; automation never merges for you.
|
|
126
|
+
activation. Installing Axstack does not turn it on. The review automation never merges for you.
|
|
126
127
|
See [PR-manager setup and safety](skills/axstack/references/automations.md).
|
|
127
128
|
|
|
128
129
|
## Documentation
|
package/docs/installation.md
CHANGED
|
@@ -6,7 +6,8 @@ does not dispatch agents, edit Orca settings, run a scheduler, or maintain a
|
|
|
6
6
|
workflow database.
|
|
7
7
|
|
|
8
8
|
Requirements: Bun >=1.3.14, Git, `gh`, the `gh stack` extension, and a running
|
|
9
|
-
Orca whose version-matched `orchestration` and `orca-
|
|
9
|
+
Orca whose version-matched `orchestration`, `orca-cli`, and `orca-linear`
|
|
10
|
+
guides are available.
|
|
10
11
|
There are no runtime dependencies. Filesystem access uses Bun-backed `node:fs`
|
|
11
12
|
and `node:fs/promises`; no other Node runtime contract is introduced.
|
|
12
13
|
|
|
@@ -83,7 +84,8 @@ axstack check [--bundle <dir>] [--instructions <file>] [--skills-dir <dir>|--har
|
|
|
83
84
|
```
|
|
84
85
|
|
|
85
86
|
The check separates Bun/Git/`gh stack` availability, resolved Orca executable,
|
|
86
|
-
runtime readiness, required
|
|
87
|
+
runtime readiness, required `orchestration`, `orca-cli`, and `orca-linear`
|
|
88
|
+
guide discovery, and bundle validity.
|
|
87
89
|
With an instruction target, it separately reports whether the marker block is
|
|
88
90
|
owned, missing, unowned, edited, or bound to a different path.
|
|
89
91
|
It must honor Orca's executable-resolution rules, including the Linux screen
|
|
@@ -227,15 +229,16 @@ not prove that a running harness reloaded them.
|
|
|
227
229
|
## Runtime guide discovery
|
|
228
230
|
|
|
229
231
|
The installed Axstack bundle does not own or copy Orca's guides. At an action
|
|
230
|
-
boundary, the skill resolves one Orca executable and loads
|
|
231
|
-
version-matched `orchestration`
|
|
232
|
-
loaded only for the
|
|
233
|
-
to fall back or invent commands.
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
232
|
+
boundary, the skill resolves one Orca executable and loads the operation's
|
|
233
|
+
version-matched `orchestration`, `orca-cli`, or `orca-linear` guide. Review
|
|
234
|
+
automation guidance is loaded only for the scheduled review branch. Missing
|
|
235
|
+
discovery is a setup gap, not a reason to fall back or invent commands. Guide
|
|
236
|
+
discovery does not prove an operation works; Linear documents, provider/model
|
|
237
|
+
routing, and live automation behavior need separate preflights.
|
|
238
|
+
|
|
239
|
+
Installation creates no production schedule and adds no custom scheduler. Chat-run PR watch requires a separately validated same-host native Orca automation, installed preset and effective observer model/effort, same-Run report delivery, safe original-driver wake, and own-automation stop/readback. Installed bytes alone do not activate it.
|
|
240
|
+
The optional review manager requires a separate native canary before activation;
|
|
241
|
+
installed guidance does not prove live behavior.
|
|
239
242
|
|
|
240
243
|
## Historical migration
|
|
241
244
|
|
package/docs/workflows.md
CHANGED
|
@@ -21,6 +21,11 @@ Direct routes need no spec ceremony:
|
|
|
21
21
|
behavior; complex visuals receive exact-artifact QA where applicable.
|
|
22
22
|
- `axstack-improve` returns a small ranked set of evidenced improvement
|
|
23
23
|
candidates without editing code.
|
|
24
|
+
- Manual `axstack-review` can inspect existing code at an exact revision within
|
|
25
|
+
a named scope. Both configured peer reviewers inspect six lenses independently;
|
|
26
|
+
the driver reports validated defects and risks, improvement opportunities,
|
|
27
|
+
unverified leads, and `COMPLETE` or `INCOMPLETE` coverage. This report does
|
|
28
|
+
not approve a PR or publish findings.
|
|
24
29
|
- `axstack-debug` builds a red loop, diagnoses to root cause, escalates hard
|
|
25
30
|
bugs through adviser-directed investigator fan-out, and hands off a
|
|
26
31
|
classified repair without landing a change.
|
|
@@ -79,9 +84,12 @@ provider defaults, or installed tools, and no model is substituted silently.
|
|
|
79
84
|
|
|
80
85
|
Immediately before dispatch, delivery processing, settlement, recovery, or
|
|
81
86
|
handoff, load the shared `skills/axstack/references/orca-runtime.md`. It resolves
|
|
82
|
-
one Orca executable, loads
|
|
83
|
-
`
|
|
84
|
-
|
|
87
|
+
one Orca executable, then loads only the version-matched guide needed by the
|
|
88
|
+
operation: `orchestration` for Run/Task/Dispatch supervision, `orca-cli` for
|
|
89
|
+
worktrees, automations, handoff, and publication, and `orca-linear` for Linear
|
|
90
|
+
issues. Axstack follows current command help and named conditional references;
|
|
91
|
+
guide availability is not exercised runtime support. It does not vendor the
|
|
92
|
+
guides or restate a competing command protocol.
|
|
85
93
|
|
|
86
94
|
All subagent, delegated-worker, reviewer, and cross-harness work goes through Orca
|
|
87
95
|
orchestration via the `orca` CLI (`orca-cli` / `orchestration` guides). Do not use a
|
|
@@ -123,7 +131,10 @@ session and evidence remain valid.
|
|
|
123
131
|
- `axstack-spec` writes observable acceptance, exclusions, decisions, and one
|
|
124
132
|
user-approved revision baseline. Linear is the default authoritative store;
|
|
125
133
|
GitHub Issues and repository Markdown are explicit alternatives. A GitHub
|
|
126
|
-
baseline pins the issue URL and approved body digest.
|
|
134
|
+
baseline pins the issue URL and approved body digest. Linear document
|
|
135
|
+
operations preflight the current `orca-linear` guide and command help; a
|
|
136
|
+
missing native operation holds only that operation without MCP fallback or a
|
|
137
|
+
store switch.
|
|
127
138
|
- `axstack-tickets` maps user-visible capabilities to dependency-aware internal
|
|
128
139
|
tasks. Linear is the default selected store with access preflight; GitHub
|
|
129
140
|
Issues is an explicit external-tracker alternative and repository Markdown
|
|
@@ -135,17 +146,17 @@ session and evidence remain valid.
|
|
|
135
146
|
confirms the remote SHA before review. Local green and CI green remain
|
|
136
147
|
separate evidence.
|
|
137
148
|
- `axstack-review` gives peer PRs two isolated same-brief reviewers and authored
|
|
138
|
-
PRs one eligible cross-family/preset-mapped reviewer.
|
|
149
|
+
PRs one eligible cross-family/preset-mapped reviewer. Every reviewer runs in
|
|
150
|
+
a separate candidate-child worktree, with private evidence preserved before
|
|
151
|
+
removal. All cover security,
|
|
139
152
|
correctness, integration, requirements, design, and simplicity. Report-only
|
|
140
153
|
never publishes; authorized submission binds the exact commit.
|
|
141
154
|
- `axstack-watch` adopts an existing PR under observation-only, peer, or
|
|
142
155
|
authorized-maintenance scope. A changed head or comment is an event, not
|
|
143
|
-
repair authority.
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
SHA receives the actual-author-provenance review, and the exact candidate
|
|
148
|
-
lands by fast-forward `git push` after final readback.
|
|
156
|
+
repair authority. Within an implementation run, fixes return to the original
|
|
157
|
+
author and follow its publish-before-review loop. Manual adopted-PR repair
|
|
158
|
+
reviews the exact local SHA and reply bodies before `gh stack` publication
|
|
159
|
+
and remote readback.
|
|
149
160
|
- `axstack-audit` separates execution outcome, procedure, and measurement
|
|
150
161
|
coverage with evidenced denominators; it proposes but never self-edits.
|
|
151
162
|
- `axstack-cleanup` distinguishes settled-Dispatch release, exact unused-shell
|
|
@@ -176,8 +187,10 @@ keeps the current owner and a resumable record.
|
|
|
176
187
|
|
|
177
188
|
Serious security, downtime, data-loss, and major-design risks are raised in a
|
|
178
189
|
prompt immediately and hold dependent dangerous work. This is not a runtime
|
|
179
|
-
gate. An applicable `Notification policy` may use `axstack-relay
|
|
180
|
-
|
|
190
|
+
gate. An applicable `Notification policy` may use `axstack-relay` for serious
|
|
191
|
+
risk immediately or a genuine blocker needing user intervention after bounded
|
|
192
|
+
safe recovery. Questions, spec approvals, progress, CI pending, merge-ready,
|
|
193
|
+
merged, and completion stay in Orca. The relay normally delivers one-way
|
|
181
194
|
through native `hermes send`: it checks CLI lookup and the configured target,
|
|
182
195
|
binds the recipient, deduplicates on the run record, and records the returned
|
|
183
196
|
`message_id`. PR-manager notifications point the user to GitHub or a durable
|
|
@@ -187,15 +200,20 @@ authority. Delivery failure never clears the underlying hold.
|
|
|
187
200
|
Healthy watch observations remain quiet. The optional `axstack-monitor` is a
|
|
188
201
|
read-only observer for standalone watches and never sends.
|
|
189
202
|
|
|
190
|
-
##
|
|
203
|
+
## Chat-run PR watch
|
|
191
204
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
205
|
+
Use `axstack-watch` chat-run mode to watch every PR raised by this chat's Run, including later verified publications and PRs the driver explicitly adopts. One same-host native Orca automation observes about every ten minutes in fresh finite read-only sessions and reports new current-state events to the original Run. The initiating chat alone routes repairs, review, publication, and notifications. Independent PRs can repair in parallel with one writer per PR; stack ancestor changes invalidate child evidence. Unchanged complete passes stay quiet. An incomplete scan leaves readiness `UNKNOWN`.
|
|
206
|
+
|
|
207
|
+
The watch lasts until all member PRs merge or close, or you cancel it. Stop requires readback that its own automation is disabled; worker settlement and run archive are separate driver steps. Run-created implementation candidates are published and read back before independent authored review. Adopted own-PR maintenance candidates receive independent exact-local-SHA review before driver publication and remote readback. The human merges. Source and installed instructions do not prove scheduled observation, driver wake, or live activation; those require same-host native canary receipts.
|
|
208
|
+
|
|
209
|
+
## Optional native peer-review automation
|
|
210
|
+
|
|
211
|
+
The optional native review manager runs at minutes `0,15,30,45`. Each
|
|
212
|
+
scheduled pass uses a fresh finite session in a new isolated workspace, scans complete
|
|
195
213
|
discovery pages, and admits eligible actionable PR events within measured host
|
|
196
|
-
capacity
|
|
197
|
-
owned descendants settle. Each job uses one repository-parented worktree;
|
|
198
|
-
PR branches in
|
|
214
|
+
capacity. Waiting PRs stay covered and consume no slot after
|
|
215
|
+
owned descendants settle. Each job uses one repository-parented worktree; the
|
|
216
|
+
manager never checks out PR branches in its own workspace.
|
|
199
217
|
|
|
200
218
|
Every pass reconciles saved, GitHub, and native Orca state across all same-lane
|
|
201
219
|
workspaces before admission. A
|
|
@@ -203,9 +221,10 @@ confirmed same-lane manager makes the new duplicate do no work or shared-record
|
|
|
203
221
|
write and close only itself. Normal teardown settles descendants, saves durable
|
|
204
222
|
continuity and decisions outside disposable workspaces, then retires its own
|
|
205
223
|
verified isolated pass workspace as the final action. It never bulk-closes a
|
|
206
|
-
shared manager workspace or a PR-job worktree, or cleans preserved
|
|
224
|
+
shared manager workspace or a PR-job worktree, or cleans preserved
|
|
207
225
|
evidence, user sessions, unknown liveness, `user_takeover`, or ambiguous
|
|
208
|
-
publication state. Manual review
|
|
226
|
+
publication state. Manual review and user-driven `axstack-watch` remain outside
|
|
227
|
+
this scheduled lifecycle.
|
|
209
228
|
|
|
210
229
|
One natively ordered successor may recover an exact positively completed
|
|
211
230
|
predecessor whose terminal survived, but only after matching its automation,
|
|
@@ -229,18 +248,17 @@ teardown pauses the lane; retained evidence or cleanup metadata does not consume
|
|
|
229
248
|
a slot after positive full-tree settlement. Once settled, an unchanged held
|
|
230
249
|
event remains deduplicated while unrelated eligible PRs continue.
|
|
231
250
|
|
|
232
|
-
Requested reviews cover any accessible repository
|
|
233
|
-
their `defi-com/monorepo` and `defi-com/mobile` scope. Orca owns schedules,
|
|
251
|
+
Requested peer reviews cover any accessible repository. Orca owns schedules,
|
|
234
252
|
sessions, Tasks, and Dispatches. Axstack adds no custom scheduler, queue engine,
|
|
235
253
|
cursor files, polling loop, or historical runtime fallback.
|
|
236
254
|
|
|
237
|
-
##
|
|
255
|
+
## Review automation
|
|
238
256
|
|
|
239
|
-
The review
|
|
240
|
-
relative contract and
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
decisions remain actionable in GitHub or a durable user-owned conversation
|
|
257
|
+
The review manager uses one short packaged prompt that loads the current
|
|
258
|
+
relative contract and invokes `axstack-review`. Bounded jobs publish ordinary
|
|
259
|
+
exact-head review verdicts; the human merges. Manual adopted-PR maintenance
|
|
260
|
+
uses `axstack-watch` with local-SHA review before authorized publication.
|
|
261
|
+
Exceptional security, permanent-on-chain, or architectural decisions remain actionable in GitHub or a durable user-owned conversation
|
|
244
262
|
after manager self-close, with an authorized deduplicated Telegram notification.
|
|
245
263
|
The current operational contract is
|
|
246
264
|
`skills/axstack/references/automations.md`.
|
package/package.json
CHANGED
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
"model": "claude-sonnet-5",
|
|
153
153
|
"modeId": "bypassPermissions",
|
|
154
154
|
"thinkingOptionId": "low",
|
|
155
|
-
"notes": "Optional independent read-only observer for a standalone PR watch. Reads GitHub, feedback, and checks, persists event IDs, and wakes the owner only for a new actionable event. Never sends, authors, reviews, replies, or acts as either reusable PR manager. Healthy snapshots stay quiet."
|
|
155
|
+
"notes": "Optional independent read-only observer for a standalone PR watch. Reads GitHub, feedback, and checks, persists event IDs, and wakes the owner only for a new actionable event. Never sends, authors, reviews, replies, or acts as either reusable PR manager. Healthy snapshots stay quiet. Chat-run mode: one same-host native read-only observer per Run; fresh finite passes report precise deltas internally to the original Run/driver and may disable/read back only their own automation at verified stop. No repair, dispatch, public notification, or replacement coordinator. Effective scheduled model/effort and wake require live proof."
|
|
156
156
|
},
|
|
157
157
|
{
|
|
158
158
|
"id": "axstack-auditor",
|
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
"model": "gpt-6-sol",
|
|
153
153
|
"modeId": "full-access",
|
|
154
154
|
"thinkingOptionId": "low",
|
|
155
|
-
"notes": "Optional independent read-only observer for a standalone PR watch. Reads GitHub, feedback, and checks, persists event IDs, and wakes the owner only for a new actionable event. Never sends, authors, reviews, replies, or acts as either reusable PR manager. Healthy snapshots stay quiet."
|
|
155
|
+
"notes": "Optional independent read-only observer for a standalone PR watch. Reads GitHub, feedback, and checks, persists event IDs, and wakes the owner only for a new actionable event. Never sends, authors, reviews, replies, or acts as either reusable PR manager. Healthy snapshots stay quiet. Chat-run mode: one same-host native read-only observer per Run; fresh finite passes report precise deltas internally to the original Run/driver and may disable/read back only their own automation at verified stop. No repair, dispatch, public notification, or replacement coordinator. Effective scheduled model/effort and wake require live proof."
|
|
156
156
|
},
|
|
157
157
|
{
|
|
158
158
|
"id": "axstack-auditor",
|
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
"model": "claude-opus-5-5",
|
|
153
153
|
"modeId": "bypassPermissions",
|
|
154
154
|
"thinkingOptionId": "medium",
|
|
155
|
-
"notes": "Optional independent read-only observer for a standalone PR watch. Reads GitHub, feedback, and checks, persists event IDs, and wakes the owner only for a new actionable event. Never sends, authors, reviews, replies, or acts as either reusable PR manager. Healthy snapshots stay quiet."
|
|
155
|
+
"notes": "Optional independent read-only observer for a standalone PR watch. Reads GitHub, feedback, and checks, persists event IDs, and wakes the owner only for a new actionable event. Never sends, authors, reviews, replies, or acts as either reusable PR manager. Healthy snapshots stay quiet. Chat-run mode: one same-host native read-only observer per Run; fresh finite passes report precise deltas internally to the original Run/driver and may disable/read back only their own automation at verified stop. No repair, dispatch, public notification, or replacement coordinator. Effective scheduled model/effort and wake require live proof."
|
|
156
156
|
},
|
|
157
157
|
{
|
|
158
158
|
"id": "axstack-auditor",
|
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
# Native
|
|
1
|
+
# Native peer-review manager
|
|
2
2
|
|
|
3
|
-
Read this
|
|
3
|
+
Read this for the optional native Orca peer-review automation. The historical
|
|
4
4
|
automation specs and plans describe retired designs and are not instructions.
|
|
5
5
|
|
|
6
6
|
## Topology and schedules
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
- **Review manager:** runs at minutes `0,15,30,45` and invokes
|
|
11
|
-
[axstack-review](../../axstack-review/SKILL.md) for eligible peer reviews.
|
|
12
|
-
- **Watch manager:** runs at minutes `7,22,37,52` and invokes
|
|
13
|
-
[axstack-watch](../../axstack-watch/SKILL.md) for eligible own-PR watch or
|
|
14
|
-
repair events.
|
|
8
|
+
The review manager runs at minutes `0,15,30,45` and invokes
|
|
9
|
+
[axstack-review](../../axstack-review/SKILL.md) for eligible peer reviews.
|
|
15
10
|
|
|
16
11
|
Use a new isolated workspace for every scheduled pass, with one fresh finite
|
|
17
12
|
manager session. Configure native repo-created worktree mode against the
|
|
@@ -21,8 +16,8 @@ launch; the manager must not move itself from a shared launch workspace.
|
|
|
21
16
|
Keep lane continuity and evidence outside disposable manager workspaces at
|
|
22
17
|
the configured durable absolute paths. A manager never checks out a PR branch
|
|
23
18
|
in its pass workspace. Missed slots do not replay a backlog; the next ordinary pass
|
|
24
|
-
discovers current state. The
|
|
25
|
-
and
|
|
19
|
+
discovers current state. The short packaged review prompt sits beside this file
|
|
20
|
+
and discovers these rules by relative link instead of copying them.
|
|
26
21
|
|
|
27
22
|
Provision one explicit absolute continuity path per automation ID in the
|
|
28
23
|
scheduled prompt. Follow [Run record](run-record.md) for its contents; the
|
|
@@ -136,32 +131,26 @@ only when its body ends with
|
|
|
136
131
|
or a retained legacy receipt proves that provenance; otherwise never replace
|
|
137
132
|
it automatically.
|
|
138
133
|
|
|
139
|
-
The watch manager covers every open non-draft PR authored by self. It may
|
|
140
|
-
repair only `defi-com/monorepo` and `defi-com/mobile`; PRs elsewhere remain
|
|
141
|
-
observed but read-only. Preserve deploy-on-push exclusions, lowest-first stack
|
|
142
|
-
dependencies, and existing ownership boundaries. Peer code is always
|
|
143
|
-
read-only.
|
|
144
|
-
|
|
145
134
|
Coverage is not execution. Waiting for CI, a reviewer, a user decision, or a
|
|
146
135
|
merge occupies no execution slot after owned work and descendants settle.
|
|
147
|
-
|
|
136
|
+
Review waiting state never reserves a slot and no job stays active merely until a
|
|
148
137
|
PR merges or closes. Thirty open PRs, including ten settled waiting PRs, are
|
|
149
138
|
all scanned; those ten occupy zero slots.
|
|
150
139
|
|
|
151
140
|
## Admission and fairness
|
|
152
141
|
|
|
153
|
-
The review manager
|
|
142
|
+
The review manager admits all eligible actionable PR events
|
|
154
143
|
that measured host capacity can support across ticks. Before each admission,
|
|
155
|
-
inspect available memory, CPU load, and active worker trees across
|
|
144
|
+
inspect available memory, CPU load, and active worker trees across the host;
|
|
156
145
|
account for the whole proposed worker tree, dependencies, spending limits, and
|
|
157
146
|
exclusive ownership. Report unavailable metrics as unknown; use the remaining
|
|
158
147
|
host evidence rather than treating a missing metric alone as a blocker. Defer
|
|
159
148
|
an event when observed pressure or uncertain headroom cannot support its whole
|
|
160
149
|
tree, record the reason, and remeasure on the next pass. Do not use a fixed
|
|
161
|
-
PR-job count or reserve
|
|
150
|
+
PR-job count or reserve a fixed slot.
|
|
162
151
|
|
|
163
|
-
A slot covers one bounded PR event and remains occupied while its
|
|
164
|
-
|
|
152
|
+
A slot covers one bounded PR event and remains occupied while its reviewers
|
|
153
|
+
or other owned descendants are active or unsettled. Leaf workers do
|
|
165
154
|
not create recursive teams. Settlement of the PR job and every descendant
|
|
166
155
|
frees the slot even while the PR stays open.
|
|
167
156
|
|
|
@@ -180,10 +169,12 @@ writer for the same PR. Reuse an existing valid per-PR worktree, owner, and
|
|
|
180
169
|
unchanged receipts before creating anything. Otherwise create one separate
|
|
181
170
|
Orca worktree per PR job, parented to that repository's primary worktree, and
|
|
182
171
|
pin the observed head and base. The bounded PR coordinator loads the
|
|
183
|
-
|
|
172
|
+
review skill, launches only the reviewers that skill owns,
|
|
184
173
|
handles the current actionable event, returns exact receipts, then settles.
|
|
185
174
|
Settlement returns continuity to the manager rather than retaining an idle PR
|
|
186
|
-
coordinator. Reviewers retain the isolation required by `axstack-review
|
|
175
|
+
coordinator. Reviewers retain the isolation required by `axstack-review`:
|
|
176
|
+
each runs in a separate Orca child worktree, keeps its probes and evidence
|
|
177
|
+
inside that worktree, and preserves required evidence before removal.
|
|
187
178
|
|
|
188
179
|
Give each job a private job-local temporary directory under its per-PR
|
|
189
180
|
worktree, following the ownership, containment, and cleanup checks in the
|
|
@@ -194,12 +185,12 @@ containment is uncertain.
|
|
|
194
185
|
|
|
195
186
|
An unchanged exact head and unchanged event identity creates no job; an
|
|
196
187
|
unchanged exact head with a new event identity remains actionable. Event
|
|
197
|
-
identity includes the applicable review ID and body digest,
|
|
198
|
-
|
|
188
|
+
identity includes the applicable review ID and body digest, request identity, or other current GitHub event
|
|
189
|
+
receipt. Dedupe from current GitHub state,
|
|
199
190
|
native Orca Task and Dispatch state, and the existing compact run record; do
|
|
200
191
|
not create machine cursor files or a queue engine. Record enough to resume: PR,
|
|
201
|
-
head, base, event identity, mode, owner and worker receipts,
|
|
202
|
-
|
|
192
|
+
head, base, event identity, mode, owner and worker receipts, verdict,
|
|
193
|
+
submission receipt, hold, and next action. GitHub remains authoritative for
|
|
203
194
|
open state, revisions, reviews, checks, and merge state.
|
|
204
195
|
|
|
205
196
|
## Held job settlement
|
|
@@ -236,10 +227,10 @@ lane before another pass can admit work rather than accumulating active passes
|
|
|
236
227
|
or claiming capacity from an uncertain process tree.
|
|
237
228
|
|
|
238
229
|
When the current event is handled, settle and release owned native resources.
|
|
239
|
-
Preserve dirty worktrees,
|
|
230
|
+
Preserve dirty worktrees, unarchived review evidence, pending
|
|
240
231
|
external results, and user-owned work until durability and ownership are
|
|
241
232
|
proven. Unknown liveness, `user_takeover`, and ambiguous publication likewise
|
|
242
|
-
forbid cleanup. Here a pending external result means an unconfirmed
|
|
233
|
+
forbid cleanup. Here a pending external result means an unconfirmed review submission
|
|
243
234
|
or send outcome, not pending CI. Waiting state belongs in GitHub and the compact
|
|
244
235
|
record, never in an idle model, per-PR timer, or polling loop.
|
|
245
236
|
Follow the [private evidence archive](evidence-archive.md) when evidence is the
|
|
@@ -251,7 +242,7 @@ read back the archive and compact receipt, then follow
|
|
|
251
242
|
the reviewer checkout before merge. This does not release active jobs or manager
|
|
252
243
|
pass workspaces.
|
|
253
244
|
|
|
254
|
-
## Review
|
|
245
|
+
## Review authority
|
|
255
246
|
|
|
256
247
|
Peer review follows `axstack-review` peer mode: two isolated configured
|
|
257
248
|
reviewers inspect the exact head and base. Complete review may publish the
|
|
@@ -269,21 +260,8 @@ private or local artifacts. Write the local HTML copy under the established
|
|
|
269
260
|
`review-PR-<num>.html` reserved for `defi-com/monorepo`. Never publish a
|
|
270
261
|
`COMMENT` review. An ambiguous submission is looked up before retry.
|
|
271
262
|
|
|
272
|
-
An own PR becomes actionable for repair only when a failing check has a base
|
|
273
|
-
check-run with the same name and producing app identity observed passing (or a
|
|
274
|
-
legacy status has the same context), or when a new current-head
|
|
275
|
-
`CHANGES_REQUESTED` review has both an unhandled review ID and an unhandled body
|
|
276
|
-
digest. Missing, pending, or same-name/different-app base evidence holds repair.
|
|
277
|
-
A new head or generic event grants no repair authority by itself.
|
|
278
|
-
|
|
279
|
-
Authorized own-PR repair follows `axstack-watch`: produce the smallest repair
|
|
280
|
-
in the per-PR worktree, obtain the actual-author-provenance reviewer pairing,
|
|
281
|
-
and publish only a reviewed fast-forward repair push after exact-current
|
|
282
|
-
candidate, head, base, event, allowlist, deploy, and remote readback receipts.
|
|
283
|
-
Reconcile an ambiguous review or push result before any retry.
|
|
284
|
-
|
|
285
263
|
No manager, coordinator, or worker may merge, close, force-push, rebase,
|
|
286
|
-
restack, broaden scope, or
|
|
264
|
+
restack, broaden scope, or mutate a PR branch. Human merge remains the
|
|
287
265
|
boundary.
|
|
288
266
|
|
|
289
267
|
## Exceptional decisions and notifications
|
|
@@ -314,7 +292,7 @@ self-close. Waiting PRs still occupy zero slots once their owned trees settle.
|
|
|
314
292
|
|
|
315
293
|
Cleanup of PR-job setup shells stays scoped to positively identified owned unused
|
|
316
294
|
setup shells: use the native exact-terminal close operation for each only.
|
|
317
|
-
Preserve dirty worktrees,
|
|
295
|
+
Preserve dirty worktrees, unarchived review evidence, user-owned
|
|
318
296
|
terminals, unknown liveness, `user_takeover`, and ambiguous publication state.
|
|
319
297
|
Never classify all dirt as evidence. If explicitly classified evidence is the
|
|
320
298
|
last retention reason, apply and verify the [private evidence archive](evidence-archive.md),
|
|
@@ -30,16 +30,13 @@ remote confirmation. Reviewers inspect a detached immutable checkout of the
|
|
|
30
30
|
confirmed candidate SHA and pinned base, never only the movable branch name.
|
|
31
31
|
Any author repair creates a new revision and repeats this boundary.
|
|
32
32
|
|
|
33
|
-
##
|
|
33
|
+
## Immutable checkout shape
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
watch skill's repair-publication reference immediately before the fast-forward
|
|
44
|
-
push. Ordinary workflows keep the remote confirmation above; the
|
|
45
|
-
exception never applies outside a manager PR job.
|
|
35
|
+
The immutable checkout is an Orca worktree of the already-registered repo:
|
|
36
|
+
`ORCA worktree create --repo id:<repoId> --name review-<pr>-<sha7> --json`,
|
|
37
|
+
then `git checkout --detach <candidate SHA>` inside it. Never materialize it
|
|
38
|
+
as a `git clone` into a temp directory followed by `orca repo add`; each
|
|
39
|
+
`repo add` registers a duplicate top-level repo and leaves a stale record once
|
|
40
|
+
the directory is gone. Release preparation uses a `release/<version>` worktree
|
|
41
|
+
of the same registered repo the same way. Release the checkout with
|
|
42
|
+
`ORCA worktree rm` after its receipt is recorded.
|
|
@@ -13,25 +13,25 @@ binding state and receipts to exact revisions.
|
|
|
13
13
|
merge is default.
|
|
14
14
|
- Author: exactly one writer per candidate; accepted fixes return there.
|
|
15
15
|
Workers launch no recursive teams.
|
|
16
|
-
- Reviewers: peer = two
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- Automation review
|
|
21
|
-
[
|
|
16
|
+
- Reviewers: peer = two configured roles with the same brief and isolated first
|
|
17
|
+
pass; authored = one eligible role from author provenance. Each uses a
|
|
18
|
+
separate Orca child worktree, keeps evidence there, and preserves it before
|
|
19
|
+
removal. Owner and author never review.
|
|
20
|
+
- Automation review manager and monitors: see
|
|
21
|
+
[Review automation health](#review-automation-health).
|
|
22
22
|
- Auditor (`axstack-auditor`): report-only; never edits, merges, activates, or
|
|
23
23
|
audits itself.
|
|
24
24
|
|
|
25
|
-
Prefer parallel independent bounded work; no redundant workers.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
covers theme/size; queue via `gh stack`.
|
|
25
|
+
Prefer parallel independent bounded work; no redundant workers. Fanout is dependency- and
|
|
26
|
+
capacity-driven within host/spending limits. [PR shape](pr-shape.md) covers
|
|
27
|
+
theme/size; queue dependencies through `gh stack`.
|
|
29
28
|
|
|
30
29
|
## Ownership
|
|
31
30
|
|
|
32
|
-
The PR owner
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
The PR owner is accountable for candidate, fixes, evidence, monitoring; a
|
|
32
|
+
chat-run observer reports only to its driver. Peer code stays read-only.
|
|
33
|
+
Missing or idle sessions never transfer ownership.
|
|
34
|
+
Owned work enters review via the revision-bound
|
|
35
35
|
[candidate-publication boundary](candidate-publication.md).
|
|
36
36
|
|
|
37
37
|
## Native handoff and resume
|
|
@@ -63,12 +63,13 @@ receipts/timers, unresolved decisions, next action, and transfer ownership/gap.
|
|
|
63
63
|
Store receipt references, not raw output, in the [Run record](run-record.md).
|
|
64
64
|
|
|
65
65
|
- Session receipt: actual agent/workspace IDs, requested provider/model and
|
|
66
|
-
role; reuse on resume
|
|
66
|
+
role; reuse on resume.
|
|
67
67
|
- Acceptance receipt: sender/recipient, accepted scope/authority, timestamp,
|
|
68
68
|
and ownership session receipt.
|
|
69
|
-
- Review receipt: mode,
|
|
69
|
+
- Review receipt: mode, provenance, reviewer, SHA/base,
|
|
70
70
|
verdict (`APPROVE | REQUEST_CHANGES | INCOMPLETE`), coverage, limitations and
|
|
71
|
-
findings. Changed code needs a receipt
|
|
71
|
+
findings. Changed code needs a new receipt. Codebase: revision/scope,
|
|
72
|
+
`COMPLETE | INCOMPLETE` coverage, no PR verdict.
|
|
72
73
|
- Submission receipt: actual commit, review, remote confirmation; ambiguity
|
|
73
74
|
requires external lookup before retry.
|
|
74
75
|
- Audit receipt: scope, evidenced PASS/FAIL/UNKNOWN counts/denominators and
|
|
@@ -99,21 +100,21 @@ On `consumer_fenced`, reconcile the active coordinator rather than borrowing an
|
|
|
99
100
|
identity. Respect settlement protection including `user_takeover`.
|
|
100
101
|
|
|
101
102
|
No execution heartbeat or substitute scheduler is created by Axstack. Native
|
|
102
|
-
|
|
103
|
+
review automation follows [Review automation health](#review-automation-health).
|
|
103
104
|
Tracking grants no merge, release, model-substitution, or scope authority.
|
|
104
105
|
|
|
105
106
|
## Deadline (one rule for every owned timer)
|
|
106
107
|
|
|
107
108
|
The default 24-hour deadline covers standalone task-owned timers. Stop them at
|
|
108
|
-
deadline and preserve remaining work;
|
|
109
|
-
|
|
109
|
+
deadline and preserve remaining work; the review automation has no task-owned
|
|
110
|
+
deadline. A PR is merge-ready only with the applicable review receipt(s) at
|
|
110
111
|
its exact head; green CI or tests alone never make it merge-ready. Merge-ready
|
|
111
112
|
differs from merged; human merges.
|
|
112
113
|
|
|
113
|
-
##
|
|
114
|
+
## Review automation health
|
|
114
115
|
|
|
115
|
-
|
|
116
|
-
workspaces on
|
|
116
|
+
The native review manager uses fresh finite sessions in isolated per-pass
|
|
117
|
+
workspaces on a 15-minute schedule. It admits eligible actionable PR
|
|
117
118
|
events within measured host capacity; waiting PRs remain covered without
|
|
118
119
|
reserving slots. Bounded PR jobs own their
|
|
119
120
|
events, use per-PR worktrees, and settle after descendants settle. Build no
|
|
@@ -13,12 +13,24 @@ Resolve one Orca executable for the session and reuse it. Prefer
|
|
|
13
13
|
terminals, and otherwise `orca`. If the selected executable fails, report that
|
|
14
14
|
exact gap; never switch binaries silently.
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
Load only the selected executable's version-matched guides needed by the
|
|
17
|
+
operation through `skills get orchestration --json`,
|
|
18
|
+
`skills get orca-cli --json`, and `skills get orca-linear --json`.
|
|
19
|
+
`orchestration` owns Run, Task,
|
|
20
|
+
Dispatch, messaging, supervision,
|
|
21
|
+
settlement, and recovery. `orca-cli` owns worktrees, terminals, automations,
|
|
22
|
+
handoffs, and artifact publication; load its named conditional reference at
|
|
23
|
+
the matching action gate. `orca-linear` owns Linear issue reads and writes.
|
|
24
|
+
Follow returned schemas and current command help rather than copying their
|
|
25
|
+
procedures into Axstack. Guide discovery does not prove runtime support for a
|
|
26
|
+
particular operation: preflight that operation and report an advertised gap.
|
|
27
|
+
Missing discovery never authorizes legacy runtime use, a silent integration or
|
|
28
|
+
store fallback, or an Axstack dispatcher, daemon, scheduler, database, or
|
|
29
|
+
escalation engine.
|
|
30
|
+
|
|
31
|
+
Orca artifacts publish public-by-link output. They are not private evidence
|
|
32
|
+
storage and must never receive private evidence by default; sharing requires
|
|
33
|
+
explicit publication authority and the `orca-cli` publishing reference.
|
|
22
34
|
|
|
23
35
|
## Bind the configured role
|
|
24
36
|
|
|
@@ -43,6 +55,15 @@ readiness failure; because Align and Spec require both adviser receipts, either
|
|
|
43
55
|
null adviser still holds those phases. The current chat is the driver and has
|
|
44
56
|
no role row in any preset.
|
|
45
57
|
|
|
58
|
+
## Materialize checkouts as worktrees of the registered repo
|
|
59
|
+
|
|
60
|
+
Every reviewer, release, or worker checkout is `ORCA worktree create --repo
|
|
61
|
+
id:<repoId> ...` under the repo Orca already registers. `ORCA repo add` is a
|
|
62
|
+
one-time import of a new repository; running it on a clone of a registered
|
|
63
|
+
repo creates a second top-level repo record, so it never materializes a
|
|
64
|
+
checkout. See [Candidate publication](candidate-publication.md) for the
|
|
65
|
+
detached immutable review checkout.
|
|
66
|
+
|
|
46
67
|
## Supervise one authoritative attempt
|
|
47
68
|
|
|
48
69
|
For supervised work, use the orchestration guide's native Run, Task, and
|
|
@@ -63,6 +84,11 @@ running worker. Lineage is presentation and reconciliation state, never
|
|
|
63
84
|
authority: it grants nothing, and a correct parent never substitutes for the
|
|
64
85
|
Task, Dispatch, and receipt evidence above.
|
|
65
86
|
|
|
87
|
+
Every reviewer gets a separate Orca child worktree parented to the candidate.
|
|
88
|
+
Keep that reviewer's probes and private evidence inside its worktree, with no
|
|
89
|
+
first-pass cross-read. Preserve the required evidence in the private run record
|
|
90
|
+
before removal; untracked files never prove a reviewer worktree disposable.
|
|
91
|
+
|
|
66
92
|
An `input_accepted` stage proves only that input reached the terminal. Require
|
|
67
93
|
`turn_started` plus runtime/session inspection before treating the agent as
|
|
68
94
|
started, and verify the requested role independently before trusting its work.
|