axstack 0.35.0 → 0.36.0
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 +2 -1
- package/docs/installation.md +5 -0
- package/docs/workflows.md +10 -2
- package/package.json +1 -1
- package/profiles/presets/claude-only.json +18 -0
- package/profiles/presets/codex-only.json +18 -0
- package/profiles/presets/mixed.json +18 -0
- package/skills/axstack/references/role-roster.md +6 -1
- package/skills/axstack/references/ui-verification.md +1 -0
- package/skills/axstack-align/SKILL.md +5 -0
- package/skills/axstack-implement/SKILL.md +1 -0
- package/skills/axstack-improve/SKILL.md +3 -3
- package/skills/axstack-research/SKILL.md +2 -1
- package/skills/axstack-review/SKILL.md +10 -0
- package/skills/axstack-scout/SKILL.md +84 -0
- package/skills/axstack-verify/SKILL.md +2 -1
- package/skills/axstack-watch/SKILL.md +3 -0
- package/src/roles.js +2 -2
package/README.md
CHANGED
|
@@ -66,7 +66,7 @@ You make decisions at holds and substantial-spec approval.
|
|
|
66
66
|
Follow [getting started](docs/getting-started.md) for the full first-task journey
|
|
67
67
|
and [guides](docs/guides.md) for features, reviews, watches, debugging and releases.
|
|
68
68
|
|
|
69
|
-
## What you can do
|
|
69
|
+
## What you can do (19 skills)
|
|
70
70
|
|
|
71
71
|
| Layer | Skill | What it does |
|
|
72
72
|
| --- | --- | --- |
|
|
@@ -86,6 +86,7 @@ and [guides](docs/guides.md) for features, reviews, watches, debugging and relea
|
|
|
86
86
|
| Operate | [axstack-cleanup](skills/axstack-cleanup/SKILL.md) | Retire eligible completed agent resources. |
|
|
87
87
|
| Operate | [axstack-relay](skills/axstack-relay/SKILL.md) | Send an explicit message or authorized notification. |
|
|
88
88
|
| Understand | [axstack-research](skills/axstack-research/SKILL.md) | Answer one bounded question with sources. |
|
|
89
|
+
| Understand | [axstack-scout](skills/axstack-scout/SKILL.md) | Gather codebase evidence for an agent across several areas. |
|
|
89
90
|
| Understand | [axstack-explain](skills/axstack-explain/SKILL.md) | Explain a system and separate known behavior from gaps. |
|
|
90
91
|
| Understand | [axstack-diagram](skills/axstack-diagram/SKILL.md) | Draw SVG/CSS in inline pages, Mermaid for chat/GitHub/docs, or requested archify viewers. |
|
|
91
92
|
|
package/docs/installation.md
CHANGED
|
@@ -307,6 +307,11 @@ The `mixed` and `claude-only` presets assign `axstack-auditor`,
|
|
|
307
307
|
Activation requires that exact ID and high effort in saved T3 capabilities;
|
|
308
308
|
missing either holds these roles without substitution, including Haiku 4.5.
|
|
309
309
|
The `codex-only` assignments for these roles are unchanged.
|
|
310
|
+
Scout adds `axstack-explore-codebase-luna` at Codex Luna xhigh in `mixed` and
|
|
311
|
+
`codex-only`. The optional `axstack-explore-codebase-flash` seat uses
|
|
312
|
+
Antigravity `gemini-3.8-flash-medium` at medium effort in `mixed`.
|
|
313
|
+
The missing Scout seats have explicit null models: Luna and Flash in
|
|
314
|
+
`claude-only`, and Flash in `codex-only`.
|
|
310
315
|
The three `-sol` pair seats for auditor, research-code, and explore-execution
|
|
311
316
|
use Sol high in `mixed` and `codex-only`; `claude-only` records intentional
|
|
312
317
|
absences. The paired seats run independently on one brief and the driver
|
package/docs/workflows.md
CHANGED
|
@@ -29,6 +29,8 @@ Direct routes need no spec ceremony:
|
|
|
29
29
|
- [axstack-perf](../skills/axstack-perf/SKILL.md) routes performance work to
|
|
30
30
|
Debug, Improve, or Implement through the shared performance loop.
|
|
31
31
|
- `axstack-research` answers one bounded source-backed question.
|
|
32
|
+
- `axstack-scout` gathers cited codebase evidence for broad or unfamiliar
|
|
33
|
+
questions using independent, read-only seats.
|
|
32
34
|
- `axstack-correct` reports repeated mistakes and proposes stronger checks.
|
|
33
35
|
Only the user invokes it.
|
|
34
36
|
- `axstack-explain` separates implemented, intended, tested, live, and unknown
|
|
@@ -129,8 +131,11 @@ use the Claude Sonnet class at high effort. `axstack-explore-codebase` and
|
|
|
129
131
|
`axstack-monitor` adopt Haiku 5.5 high, with class `haiku` and exact pin
|
|
130
132
|
`claude-haiku-5-5`. Missing that ID or high effort in saved T3 capabilities
|
|
131
133
|
holds those roles without substitution. `codex-only` keeps its Codex
|
|
132
|
-
assignments for those roles.
|
|
133
|
-
|
|
134
|
+
assignments for those roles. Scout adds a Luna xhigh codebase seat in `mixed`
|
|
135
|
+
and `codex-only`, and an optional Antigravity Flash medium seat in `mixed`.
|
|
136
|
+
In `claude-only`, Luna and Flash are intentionally absent; Flash is also
|
|
137
|
+
intentionally absent in `codex-only`. Mixed web-google and X retain their
|
|
138
|
+
source-specific Antigravity and Grok routes.
|
|
134
139
|
The mixed `axstack-auditor` uses Haiku 5.5 xhigh, pinned to `claude-haiku-5-5`;
|
|
135
140
|
missing that ID or xhigh effort holds without substitution. The mixed
|
|
136
141
|
`axstack-explainer-review` uses Sol medium; `axstack-explainer` stays Sonnet high.
|
|
@@ -418,6 +423,9 @@ Proven verification is required for every own PR. Use the authored receipt:
|
|
|
418
423
|
Earlier-head red-to-green evidence in the PR's patch lineage counts only when
|
|
419
424
|
the reviewer records that it still applies to the final change.
|
|
420
425
|
An applicable `verify-<app>` passing result is required for the changed behavior.
|
|
426
|
+
The passing result must come from the reviewer's or `axstack-ui-verifier`'s local drive at that head.
|
|
427
|
+
The author's log alone never satisfies this requirement.
|
|
428
|
+
A preview URL never satisfies this requirement.
|
|
421
429
|
- Verification requires no limitation tagged `changed-behavior: unproven`.
|
|
422
430
|
The reviewer tags every limitation leaving changed behavior unexercised or
|
|
423
431
|
unverified, in whatever words, `changed-behavior: unproven`.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "axstack",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.36.0",
|
|
4
4
|
"description": "Axstack installer and setup CLI: installs owned chat skills and role data, configures supported harness settings, and checks T3 Code capabilities.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude-code",
|
|
@@ -173,6 +173,24 @@
|
|
|
173
173
|
"modelClass": "haiku",
|
|
174
174
|
"model": "claude-haiku-5-5"
|
|
175
175
|
},
|
|
176
|
+
{
|
|
177
|
+
"id": "axstack-explore-codebase-luna",
|
|
178
|
+
"name": "Axstack codebase explorer Luna (unavailable)",
|
|
179
|
+
"provider": "claude",
|
|
180
|
+
"model": null,
|
|
181
|
+
"modeId": "bypassPermissions",
|
|
182
|
+
"thinkingOptionId": "xhigh",
|
|
183
|
+
"notes": "Intentional single-provider absence: Luna Scout seat is unavailable in claude-only."
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"id": "axstack-explore-codebase-flash",
|
|
187
|
+
"name": "Axstack codebase explorer Flash (unavailable)",
|
|
188
|
+
"provider": "claude",
|
|
189
|
+
"model": null,
|
|
190
|
+
"modeId": "bypassPermissions",
|
|
191
|
+
"thinkingOptionId": "medium",
|
|
192
|
+
"notes": "Intentional single-provider absence: Flash Scout seat is unavailable in claude-only."
|
|
193
|
+
},
|
|
176
194
|
{
|
|
177
195
|
"id": "axstack-explore-execution",
|
|
178
196
|
"name": "Axstack execution explorer",
|
|
@@ -172,6 +172,24 @@
|
|
|
172
172
|
"notes": "Codebase mapper: explores repository structure and interfaces for research and handoff context. Resolve the class from saved T3 capabilities at run start; rejection and unavailable settings hold without substitution.",
|
|
173
173
|
"modelClass": "sol"
|
|
174
174
|
},
|
|
175
|
+
{
|
|
176
|
+
"id": "axstack-explore-codebase-luna",
|
|
177
|
+
"name": "Axstack codebase explorer Luna",
|
|
178
|
+
"provider": "codex",
|
|
179
|
+
"modeId": "full-access",
|
|
180
|
+
"thinkingOptionId": "xhigh",
|
|
181
|
+
"notes": "Independent read-only Luna Scout facet explorer. Searches the whole repository on the same brief without cross-reading; reports evidence for driver reconciliation. Unavailable model or effort holds without substitution.",
|
|
182
|
+
"modelClass": "luna"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"id": "axstack-explore-codebase-flash",
|
|
186
|
+
"name": "Axstack codebase explorer Flash (unavailable)",
|
|
187
|
+
"provider": "codex",
|
|
188
|
+
"model": null,
|
|
189
|
+
"modeId": "full-access",
|
|
190
|
+
"thinkingOptionId": "medium",
|
|
191
|
+
"notes": "Intentional single-provider absence: Flash Scout seat is unavailable in codex-only."
|
|
192
|
+
},
|
|
175
193
|
{
|
|
176
194
|
"id": "axstack-explore-execution",
|
|
177
195
|
"name": "Axstack execution explorer",
|
|
@@ -173,6 +173,24 @@
|
|
|
173
173
|
"modelClass": "haiku",
|
|
174
174
|
"model": "claude-haiku-5-5"
|
|
175
175
|
},
|
|
176
|
+
{
|
|
177
|
+
"id": "axstack-explore-codebase-luna",
|
|
178
|
+
"name": "Axstack codebase explorer Luna",
|
|
179
|
+
"provider": "codex",
|
|
180
|
+
"modeId": "full-access",
|
|
181
|
+
"thinkingOptionId": "xhigh",
|
|
182
|
+
"notes": "Independent read-only Luna Scout facet explorer. Searches the whole repository on the same brief without cross-reading; reports evidence for driver reconciliation. Unavailable model or effort holds without substitution.",
|
|
183
|
+
"modelClass": "luna"
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"id": "axstack-explore-codebase-flash",
|
|
187
|
+
"name": "Axstack codebase explorer Flash",
|
|
188
|
+
"provider": "antigravity",
|
|
189
|
+
"model": "gemini-3.8-flash-medium",
|
|
190
|
+
"modeId": "full-access",
|
|
191
|
+
"thinkingOptionId": "medium",
|
|
192
|
+
"notes": "Optional read-only Scout breadth seat: searches the whole repository for missed boundaries and counterexamples. Reports evidence for driver reconciliation without cross-reading."
|
|
193
|
+
},
|
|
176
194
|
{
|
|
177
195
|
"id": "axstack-explore-execution",
|
|
178
196
|
"name": "Axstack execution explorer",
|
|
@@ -41,6 +41,10 @@
|
|
|
41
41
|
or high effort holds these roles without substitution.
|
|
42
42
|
`axstack-monitor`: standalone watch never sends; chat-run watch: bounded
|
|
43
43
|
internal reports to its Run and original driver.
|
|
44
|
+
- Scout requires `axstack-explore-codebase` and
|
|
45
|
+
`axstack-explore-codebase-luna` per facet in mixed (Haiku high + Luna
|
|
46
|
+
xhigh) and codex-only (Sol high + Luna xhigh). Claude-only requires
|
|
47
|
+
the Haiku high base seat per facet.
|
|
44
48
|
- Sol pairs `axstack-auditor-sol`/`axstack-research-code-sol`/
|
|
45
49
|
`axstack-explore-execution-sol`: `codex/sol` high in
|
|
46
50
|
mixed/codex-only; intentionally absent in claude-only. Dispatch each
|
|
@@ -50,7 +54,8 @@
|
|
|
50
54
|
- Optional seats: `axstack-arena-candidate-grok`,
|
|
51
55
|
`axstack-arena-candidate-antigravity`, `axstack-research-web-google`,
|
|
52
56
|
`axstack-research-x`, `axstack-checker`, `axstack-research-code-sol`,
|
|
53
|
-
`axstack-explore-execution-sol`, `axstack-auditor-sol
|
|
57
|
+
`axstack-explore-execution-sol`, `axstack-auditor-sol`,
|
|
58
|
+
`axstack-explore-codebase-flash`.
|
|
54
59
|
Always dispatch optional seats when configured and available. Only a
|
|
55
60
|
launch failure, trust/login prompt, or prompt block makes one absent:
|
|
56
61
|
fence the attempt, record `absent (<reason>)`, name it once in the next
|
|
@@ -47,6 +47,7 @@ If a PR changes a mapped feature, its author updates the feature file in the sam
|
|
|
47
47
|
For a missing skill, add "suggest `axstack-verify create`" to the receipt's `Unverified:` line.
|
|
48
48
|
Never generate a verification skill automatically.
|
|
49
49
|
For a broken or stale recipe, report the gap.
|
|
50
|
+
Report a broken or stale recipe as a `low` finding naming `axstack-verify maintain`.
|
|
50
51
|
Never let a broken or stale recipe waive existing acceptance obligations.
|
|
51
52
|
Keep browser recipes tool-neutral for the verifier.
|
|
52
53
|
|
|
@@ -149,6 +149,11 @@ approval; record chosen document names and paths once per run.
|
|
|
149
149
|
gaps. For substantial work, this summary becomes part of the draft spec in
|
|
150
150
|
`axstack-spec`; spec approval is the one human checkpoint. Included and
|
|
151
151
|
excluded work must be distinguishable, and no open item may appear settled.
|
|
152
|
+
When scope changes runnable behavior, the read-back records a Verification decision.
|
|
153
|
+
For an applicable `verify-<app>` skill, record the features that cover the change.
|
|
154
|
+
For a missing skill, the plan always includes `axstack-verify create` as the first PR.
|
|
155
|
+
Skipping this first PR requires plain AGREE from both `axstack-advisor-astra` and `axstack-advisor-opus` that a verification skill is unnecessary.
|
|
156
|
+
Record both advisers' reason in the Verification decision.
|
|
152
157
|
2. Classify the result with the shared
|
|
153
158
|
[proportional scope identity](../axstack/references/routing.md#proportional-scope-identity):
|
|
154
159
|
- For work clarified as small, return a **small-change intent** handoff with
|
|
@@ -175,6 +175,7 @@ If a PR changes a mapped feature, its author updates the feature file in the sam
|
|
|
175
175
|
For a missing skill, add "suggest `axstack-verify create`" to the receipt's `Unverified:` line.
|
|
176
176
|
Never generate a verification skill automatically.
|
|
177
177
|
For a broken or stale recipe, report the gap.
|
|
178
|
+
Report a broken or stale recipe as a `low` finding naming `axstack-verify maintain`.
|
|
178
179
|
Never let a broken or stale recipe waive existing acceptance obligations.
|
|
179
180
|
Keep browser recipes tool-neutral for the verifier.
|
|
180
181
|
|
|
@@ -16,9 +16,9 @@ improvement is a valid result.
|
|
|
16
16
|
Before acting, load [Standing contracts](../axstack/references/contracts.md),
|
|
17
17
|
then follow its lifecycle and audit pointers. Immediately before any useful
|
|
18
18
|
role dispatch, load the [T3 runtime
|
|
19
|
-
sequence](../axstack/references/t3-runtime.md).
|
|
20
|
-
`axstack-
|
|
21
|
-
|
|
19
|
+
sequence](../axstack/references/t3-runtime.md). For broad codebase mapping,
|
|
20
|
+
use `axstack-scout`. Use `axstack-research-code` only when its specialization
|
|
21
|
+
materially helps. Do not create a new profile.
|
|
22
22
|
When dispatching `axstack-research-code`, dispatch `axstack-research-code-sol`
|
|
23
23
|
independently on the same bounded brief without cross-reading. The driver
|
|
24
24
|
reconciles findings per claim and never averages them. Record an intentionally
|
|
@@ -50,7 +50,8 @@ is part of research.
|
|
|
50
50
|
- `axstack-research-web`: web and external sources.
|
|
51
51
|
- `axstack-research-web-google`: Google-Search-grounded web sources via Gemini/Antigravity.
|
|
52
52
|
- `axstack-research-x`: X (Twitter) posts and threads via Grok; cite post URLs and dates.
|
|
53
|
-
-
|
|
53
|
+
- For broad codebase mapping, use `axstack-scout`.
|
|
54
|
+
Never dispatch `axstack-explore-codebase` directly for broad mapping.
|
|
54
55
|
- `axstack-explore-execution`: execution and runtime traces.
|
|
55
56
|
- `axstack-explore-execution-sol`: independent Sol execution investigation.
|
|
56
57
|
|
|
@@ -330,6 +330,14 @@ This section applies to peer and authored PR modes.
|
|
|
330
330
|
mode-required receipt records concrete evidence and consequences, coverage,
|
|
331
331
|
limitations, and findings without a finding quota.
|
|
332
332
|
|
|
333
|
+
If a `verify-<app>` skill covers affected behavior, the authored reviewer runs its base-revision Launch and Doctor against the pinned final head in its detached checkout.
|
|
334
|
+
For an `axstack-verify create` PR, the reviewer drives the candidate's recipe because the base has none.
|
|
335
|
+
The author never performs this review drive.
|
|
336
|
+
The reviewer drives each affected feature and records that drive as the `Final-head check`.
|
|
337
|
+
Delegate browser drives to `axstack-ui-verifier` with the feature file path.
|
|
338
|
+
Running the applicable surface counts as spin-up; a CLI run qualifies.
|
|
339
|
+
Use loopback and isolated instances under [axstack-verify](../axstack-verify/SKILL.md#isolate-every-attempt).
|
|
340
|
+
|
|
333
341
|
For each finding, name its defect class and list every instance of that
|
|
334
342
|
class in the pinned diff and dependent surfaces: callers, sibling docs,
|
|
335
343
|
README, and tests. A later instance of an already-named class is a coverage
|
|
@@ -393,6 +401,7 @@ Authored receipt requirements:
|
|
|
393
401
|
Report Coverage: COMPLETE | INCOMPLETE with covered angles, acceptance and executable evidence.
|
|
394
402
|
Tag each limitation leaving changed behavior unexercised or unverified, in whatever words, changed-behavior: unproven.
|
|
395
403
|
Record Final-head check: <command> -> <log path> for a check the reviewer ran at the final head; keep the log in the run's evidence folder.
|
|
404
|
+
Applicable verify-<app>: Final-head check records the reviewer's local drive of each affected feature at the pinned final head. Use n/a — <reason> when no skill covers the affected behavior.
|
|
396
405
|
Record a Safety fact: about the change itself rather than the review process.
|
|
397
406
|
Rate each non-agent comment at the current head above low | low | addressed | uncertain.
|
|
398
407
|
Re-rate each non-agent comment at every new head.
|
|
@@ -420,6 +429,7 @@ Verdict: <APPROVE | REQUEST_CHANGES | INCOMPLETE>
|
|
|
420
429
|
Coverage: COMPLETE | INCOMPLETE — <angles + acceptance + executable evidence checked>
|
|
421
430
|
Limitations: <unverified boundaries + why; tag each limitation leaving changed behavior unexercised or unverified, in whatever words, changed-behavior: unproven>
|
|
422
431
|
Final-head check: <command> -> <log path> — <check the reviewer ran at the final head; log kept in the run's evidence folder>
|
|
432
|
+
Applicable verify-<app>: <Final-head check records the reviewer's local drive of each affected feature at the pinned final head>. Use n/a — <reason> when no skill covers the affected behavior.
|
|
423
433
|
Findings: <severity + evidence + consequence each>
|
|
424
434
|
Revert: <declared line + diff-based assessment in authored mode>
|
|
425
435
|
Agent-authored comment and thread IDs: <receipt-recorded IDs or none>
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: axstack-scout
|
|
3
|
+
description: When an agent needs codebase evidence across several areas or unfamiliar code, use axstack-scout to gather cited findings.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Scout
|
|
7
|
+
|
|
8
|
+
On driver entry, sweep under [Workspace hygiene](../axstack/references/workspace-hygiene.md); dispatched workers do not sweep.
|
|
9
|
+
For every dispatch brief, name its private `<run dir>/evidence/<dispatch>/` folder.
|
|
10
|
+
|
|
11
|
+
Before acting, load [Standing contracts](../axstack/references/contracts.md)
|
|
12
|
+
and follow its lifecycle and audit pointers. Immediately before dispatch,
|
|
13
|
+
read the [T3 runtime boundary](../axstack/references/t3-runtime.md) and
|
|
14
|
+
[Role roster](../axstack/references/role-roster.md). A Scout call from an
|
|
15
|
+
ordinary chat creates a run with `run-init`.
|
|
16
|
+
|
|
17
|
+
## 1. Bound the exploration
|
|
18
|
+
|
|
19
|
+
Use Scout for questions spanning several codebase areas, unfamiliar code, or
|
|
20
|
+
claims that something does not exist. A single factual lookup stays in the
|
|
21
|
+
current chat. Ordinary file reading also stays in the current chat.
|
|
22
|
+
Only a driver or PR owner dispatches Scout. Workers, authors and reviewers
|
|
23
|
+
request exploration from their driver; they do not launch a fan-out.
|
|
24
|
+
|
|
25
|
+
Split the question into 1–3 facets, with each facet searching the whole
|
|
26
|
+
repository for its concern, such as definitions, callers, tests or config.
|
|
27
|
+
Facet briefs must never restrict the search to one directory. Scale by facet
|
|
28
|
+
count; keep every required seat within each facet.
|
|
29
|
+
|
|
30
|
+
## 2. Dispatch independent seats
|
|
31
|
+
|
|
32
|
+
Use the run's selected preset and role snapshot. Give seats for one facet the
|
|
33
|
+
same brief without cross-reading; the optional Flash seat searches the whole
|
|
34
|
+
question for missed boundaries and counterexamples.
|
|
35
|
+
|
|
36
|
+
- In mixed, each facet requires an independent Haiku and Luna pair: one
|
|
37
|
+
`axstack-explore-codebase` (Haiku 5.5 high) and one
|
|
38
|
+
`axstack-explore-codebase-luna` (Luna xhigh).
|
|
39
|
+
- In codex-only, each facet requires an independent Sol and Luna pair:
|
|
40
|
+
`axstack-explore-codebase` (Sol high) and
|
|
41
|
+
`axstack-explore-codebase-luna` (Luna xhigh).
|
|
42
|
+
- In claude-only, each facet requires one Haiku seat:
|
|
43
|
+
`axstack-explore-codebase` (Haiku 5.5 high).
|
|
44
|
+
|
|
45
|
+
In mixed, dispatch one optional `axstack-explore-codebase-flash` for the Scout
|
|
46
|
+
call, for at most seven seats across three facets.
|
|
47
|
+
|
|
48
|
+
Sol and Luna agreement is not cross-family corroboration. An unavailable or
|
|
49
|
+
rejected required seat holds Scout without substitution. The first dispatch
|
|
50
|
+
for each provider/model/effort must reach a running or completed run before
|
|
51
|
+
siblings launch, and its rejection stops siblings of that configuration.
|
|
52
|
+
|
|
53
|
+
A Flash launch failure, trust/login prompt, or prompt block records
|
|
54
|
+
`absent (<reason>)` and Scout continues with the required seats. Fence the
|
|
55
|
+
failed attempt and name its absence once in the next read-back. A Flash model
|
|
56
|
+
missing from saved capabilities holds that seat under the existing unavailable
|
|
57
|
+
model rule, without substitution. A Flash hold covers only the Flash seat,
|
|
58
|
+
and Scout returns the other seats' summary while naming that hold. An
|
|
59
|
+
uncertain dispatch is reconciled, not recorded absent.
|
|
60
|
+
|
|
61
|
+
## 3. Pin evidence and report
|
|
62
|
+
|
|
63
|
+
Pin each brief to the working tree's content identity. Content identity pins
|
|
64
|
+
HEAD SHA, SHA-256 of `git diff --binary HEAD` when dirty, and a path and
|
|
65
|
+
SHA-256 for each untracked, non-ignored file from
|
|
66
|
+
`git ls-files -o --exclude-standard`. Ignored files are outside the search
|
|
67
|
+
scope. Seats search the pinned working tree. Each seat is read-only and
|
|
68
|
+
writes only to its private evidence folder.
|
|
69
|
+
|
|
70
|
+
Each seat report has at most about 15 claims, each labeled `verified`,
|
|
71
|
+
`inference`, or `unverified` using Research labels. Every present claim
|
|
72
|
+
cites `file:line` evidence. A not-found claim says `not found in <scope>`
|
|
73
|
+
and includes the exact search command, scope, and content identity; it never
|
|
74
|
+
claims absence beyond that scope.
|
|
75
|
+
|
|
76
|
+
The driver reconciles per claim without averaging and names disagreements.
|
|
77
|
+
Cross-family agreement corroborates but does not prove a claim. Before
|
|
78
|
+
relying on an answer-changing not-found claim, the driver rechecks its search.
|
|
79
|
+
Reuse findings only while content identity, including untracked file contents,
|
|
80
|
+
is unchanged; any identity change requires re-scouting all facets still needed.
|
|
81
|
+
|
|
82
|
+
Return a compact summary to the driver and store seat reports in the run's
|
|
83
|
+
evidence folder. Scout adds no mandatory gate to other phases; they may use
|
|
84
|
+
its evidence when useful.
|
|
@@ -69,7 +69,8 @@ Keep that folder outside scratch selected for deletion.
|
|
|
69
69
|
Clean up owned resources by literal absolute paths.
|
|
70
70
|
Follow [Safe deletion](../axstack/references/workspace-hygiene.md#safe-deletion).
|
|
71
71
|
|
|
72
|
-
For a peer PR, read the Launch recipe and helpers from the base revision and execute against the pinned candidate.
|
|
72
|
+
For a peer PR or a review run, read the Launch recipe and helpers from the base revision and execute against the pinned candidate.
|
|
73
|
+
For an `axstack-verify create` PR, the reviewer drives the candidate's recipe because the base has none.
|
|
73
74
|
Keep trusted base helpers separate from the candidate's recipe files.
|
|
74
75
|
Bind evidence to the served SHA.
|
|
75
76
|
Report an unavailable candidate run as unverified.
|
|
@@ -278,6 +278,9 @@ Proven verification is required for every own PR. Use the authored receipt:
|
|
|
278
278
|
Earlier-head red-to-green evidence in the PR's patch lineage counts only when
|
|
279
279
|
the reviewer records that it still applies to the final change.
|
|
280
280
|
An applicable `verify-<app>` passing result is required for the changed behavior.
|
|
281
|
+
The passing result must come from the reviewer's or `axstack-ui-verifier`'s local drive at that head.
|
|
282
|
+
The author's log alone never satisfies this requirement.
|
|
283
|
+
A preview URL never satisfies this requirement.
|
|
281
284
|
- Verification requires no limitation tagged `changed-behavior: unproven`.
|
|
282
285
|
The reviewer tags every limitation leaving changed behavior unexercised or
|
|
283
286
|
unverified, in whatever words, `changed-behavior: unproven`.
|
package/src/roles.js
CHANGED
|
@@ -92,8 +92,8 @@ export function assessRoleReadiness(roles, preset) {
|
|
|
92
92
|
(preset === 'mixed' && role.id === 'axstack-research-x' && role.provider === 'grok') ||
|
|
93
93
|
(preset === 'mixed' && role.id === 'axstack-arena-candidate-grok' && role.provider === 'grok') ||
|
|
94
94
|
(preset === 'mixed' && role.id === 'axstack-arena-candidate-antigravity' && role.provider === 'antigravity') ||
|
|
95
|
-
(preset === 'codex-only' && ['axstack-advisor-opus', 'axstack-escalation-fable', 'axstack-arena-judge-opus', 'axstack-research-web-google', 'axstack-research-x', 'axstack-arena-candidate-grok', 'axstack-arena-candidate-antigravity'].includes(role.id)) ||
|
|
96
|
-
(preset === 'claude-only' && ['axstack-advisor-astra', 'axstack-arena-judge-astra', 'axstack-research-web-google', 'axstack-research-x', 'axstack-arena-candidate-grok', 'axstack-arena-candidate-antigravity', 'axstack-auditor-sol', 'axstack-research-code-sol', 'axstack-explore-execution-sol'].includes(role.id))
|
|
95
|
+
(preset === 'codex-only' && ['axstack-advisor-opus', 'axstack-escalation-fable', 'axstack-arena-judge-opus', 'axstack-research-web-google', 'axstack-research-x', 'axstack-arena-candidate-grok', 'axstack-arena-candidate-antigravity', 'axstack-explore-codebase-flash'].includes(role.id)) ||
|
|
96
|
+
(preset === 'claude-only' && ['axstack-advisor-astra', 'axstack-arena-judge-astra', 'axstack-research-web-google', 'axstack-research-x', 'axstack-arena-candidate-grok', 'axstack-arena-candidate-antigravity', 'axstack-auditor-sol', 'axstack-research-code-sol', 'axstack-explore-execution-sol', 'axstack-explore-codebase-luna', 'axstack-explore-codebase-flash'].includes(role.id))
|
|
97
97
|
);
|
|
98
98
|
for (const role of roles) {
|
|
99
99
|
if (!bounds.has(role.provider)) {
|