axstack 0.50.2 → 0.51.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.
@@ -294,10 +294,11 @@ missing either holds this role without substitution, including Haiku 4.5.
294
294
  The `codex-only` assignments for these roles are unchanged.
295
295
  Scout adds `axstack-explore-codebase-luna` at Codex Luna xhigh in `mixed` and
296
296
  `codex-only`. Luna has an explicit null model in `claude-only`.
297
- The three `-sol` pair seats for auditor, research-code, and explore-execution
298
- use Sol high in `mixed` and `codex-only`; `claude-only` records intentional
299
- absences. The paired seats run independently on one brief and the driver
300
- reconciles their findings.
297
+ The `-sol` research-code and explore-execution pair seats use Terra high in
298
+ `mixed` and Sol high in `codex-only`; the auditor pair stays Sol high in both.
299
+ Their role IDs remain unchanged. `claude-only` records intentional absences.
300
+ The paired seats run independently on one brief and the driver reconciles
301
+ their findings.
301
302
 
302
303
  The mixed checker uses the Claude Sonnet class at low effort, resolved from
303
304
  saved capabilities. Mixed `axstack-research-x` uses `grok` with
package/docs/workflows.md CHANGED
@@ -140,14 +140,15 @@ and `codex-only`. In `claude-only`, Luna is intentionally absent.
140
140
  The mixed X route uses Grok.
141
141
  The mixed `axstack-auditor` uses Haiku 5.5 xhigh, pinned to `claude-haiku-5-5`;
142
142
  missing that ID or xhigh effort holds without substitution. The mixed
143
- `axstack-explainer-review` uses Sol medium; `axstack-explainer` pins
143
+ `axstack-explainer-review` uses Terra medium; `axstack-explainer` pins
144
144
  `claude-sonnet-5-5` high with class `sonnet`. Both roles cover every Explain
145
145
  visual, including chat Mermaid and anatomy figures.
146
146
  In `claude-only`, `axstack-auditor` uses the Claude Sonnet class at high effort.
147
- The new `-sol` auditor, research-code, and explore-execution seats use Sol high
148
- in `mixed` and `codex-only`; `claude-only` records each as intentionally absent.
149
- Dispatch the base and Sol seats independently on the same brief, then reconcile
150
- their findings per claim without averaging.
147
+ The `-sol` research-code and explore-execution seats use Terra high in `mixed`
148
+ and Sol high in `codex-only`; the auditor pair stays Sol high in both.
149
+ `claude-only` records each as intentionally absent. Their stable role IDs remain
150
+ unchanged. Dispatch the base and paired seats independently on the same brief,
151
+ then reconcile their findings per claim without averaging.
151
152
 
152
153
  The installed `<skills-dir>/axstack/roles.json` adds the selected preset name:
153
154
  `{ "version": 1, "preset": "<name>", "roles": [...] }`. The runtime reads it
@@ -162,7 +163,8 @@ Peer roles use the stable IDs `axstack-reviewer-primary` and
162
163
  `axstack-reviewer-peer`; their provider/class mappings come only from the
163
164
  selected preset and the ordered reviewer table above. The mixed peer coordinator and review-lane binding
164
165
  `axstack-owner` uses Sol high and never reviews. `axstack-reviewer-secondary`
165
- is used in the authored mapping and, alongside `axstack-reviewer-primary`,
166
+ uses Terra xhigh for Sol-authored candidates in `codex-only`. It is used
167
+ in the authored mapping and, alongside `axstack-reviewer-primary`,
166
168
  in codebase findings mode.
167
169
 
168
170
  The unavailable adviser in each single-provider preset stays explicitly
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "axstack",
3
- "version": "0.50.2",
3
+ "version": "0.51.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",
@@ -52,8 +52,8 @@
52
52
  "provider": "codex",
53
53
  "modeId": "full-access",
54
54
  "thinkingOptionId": "xhigh",
55
- "notes": "Eligible authored reviewer for a Sol-authored candidate. Never author or owner; review exact SHA and base across all six angles and acceptance.",
56
- "modelClass": "luna"
55
+ "notes": "Terra xhigh authored reviewer for a Sol-authored candidate. Never author or owner; review exact SHA and base across all six angles and acceptance.",
56
+ "modelClass": "terra"
57
57
  },
58
58
  {
59
59
  "id": "axstack-reviewer-peer",
@@ -102,12 +102,12 @@
102
102
  },
103
103
  {
104
104
  "id": "axstack-research-code-sol",
105
- "name": "Axstack research code Sol",
105
+ "name": "Axstack research code Terra",
106
106
  "provider": "codex",
107
107
  "modeId": "full-access",
108
108
  "thinkingOptionId": "high",
109
- "notes": "Independent Sol high research code investigator: verifies code behavior and executable evidence on the same bounded brief without cross-reading. Reports findings for driver reconciliation.",
110
- "modelClass": "sol"
109
+ "notes": "Independent Terra high research code investigator: verifies code behavior and executable evidence on the same bounded brief without cross-reading. Reports findings for driver reconciliation.",
110
+ "modelClass": "terra"
111
111
  },
112
112
  {
113
113
  "id": "axstack-research-web",
@@ -143,8 +143,8 @@
143
143
  "provider": "codex",
144
144
  "modeId": "full-access",
145
145
  "thinkingOptionId": "medium",
146
- "notes": "Independent Sol medium explanation reviewer: always reviews every visual. Reviews consequential or complex driver-written prose or on request. Checks the exact artifact for text and source fidelity. The browser interaction pass belongs to axstack-ui-verifier. Any artifact change invalidates its review. Resolve the class from saved T3 capabilities at run start; rejection and unavailable settings hold without substitution. Design review follows design.md hard rules and FRONTEND-DESIGN.md (calibration defaults, restraint and quality floor) for every inline HTML page and every Publish article adaptation. For inline pages the reviewer itself renders exact bytes with html_preview at 728px dark and 360px light as a non-publishing self-check. For Publish the reviewer opens axstack-ui-verifier PNGs at 728px dark and 360px light plus 390px mobile and 1440px desktop, covering all four widths in both themes with paths bound to the artifact SHA-256 and recorded before review. Inspect the 1440px desktop screenshot for balanced composition, intentional horizontal margins, bounded prose measure, typography, section spacing and chart legibility. Inspect the 360px and 390px mobile screenshots for gutters, readable text and chart labels. A page failing to look decent is a blocking design finding, repaired by the same author within the two-round visual limit. If only design findings remain after the second round, deliver the visual with each finding named. Never describe a remaining finding as fixed or a clean pass. Apply Delivery's normal holds for other failures and unknown renders. Chat Mermaid and anatomy keep their existing review.",
147
- "modelClass": "sol"
146
+ "notes": "Independent Terra medium explanation reviewer: always reviews every visual. Reviews consequential or complex driver-written prose or on request. Checks the exact artifact for text and source fidelity. The browser interaction pass belongs to axstack-ui-verifier. Any artifact change invalidates its review. Resolve the class from saved T3 capabilities at run start; rejection and unavailable settings hold without substitution. Design review follows design.md hard rules and FRONTEND-DESIGN.md (calibration defaults, restraint and quality floor) for every inline HTML page and every Publish article adaptation. For inline pages the reviewer itself renders exact bytes with html_preview at 728px dark and 360px light as a non-publishing self-check. For Publish the reviewer opens axstack-ui-verifier PNGs at 728px dark and 360px light plus 390px mobile and 1440px desktop, covering all four widths in both themes with paths bound to the artifact SHA-256 and recorded before review. Inspect the 1440px desktop screenshot for balanced composition, intentional horizontal margins, bounded prose measure, typography, section spacing and chart legibility. Inspect the 360px and 390px mobile screenshots for gutters, readable text and chart labels. A page failing to look decent is a blocking design finding, repaired by the same author within the two-round visual limit. If only design findings remain after the second round, deliver the visual with each finding named. Never describe a remaining finding as fixed or a clean pass. Apply Delivery's normal holds for other failures and unknown renders. Chat Mermaid and anatomy keep their existing review.",
147
+ "modelClass": "terra"
148
148
  },
149
149
  {
150
150
  "id": "axstack-ui-verifier",
@@ -185,12 +185,12 @@
185
185
  },
186
186
  {
187
187
  "id": "axstack-explore-execution-sol",
188
- "name": "Axstack execution explorer Sol",
188
+ "name": "Axstack execution explorer Terra",
189
189
  "provider": "codex",
190
190
  "modeId": "full-access",
191
191
  "thinkingOptionId": "high",
192
- "notes": "Independent Sol high execution explorer: runs authorized bounded runtime checks on the same brief without cross-reading. Reports findings for driver reconciliation.",
193
- "modelClass": "sol"
192
+ "notes": "Independent Terra high execution explorer: runs authorized bounded runtime checks on the same brief without cross-reading. Reports findings for driver reconciliation.",
193
+ "modelClass": "terra"
194
194
  },
195
195
  {
196
196
  "id": "axstack-auditor",
@@ -15,7 +15,7 @@
15
15
  | --- | --- | --- |
16
16
  | `mixed` | `codex/sol` | `axstack-reviewer-secondary` (`claude/opus` high) |
17
17
  | `mixed` | `claude/opus` | `axstack-reviewer-primary` (`codex/sol` high) |
18
- | `codex-only` | `codex/sol` | `axstack-reviewer-secondary` (`codex/luna` xhigh) |
18
+ | `codex-only` | `codex/sol` | `axstack-reviewer-secondary` (`codex/terra` xhigh) |
19
19
  | `claude-only` | `claude/opus` | `axstack-reviewer-secondary` (`claude/sonnet` high) |
20
20
  - `axstack-advisor-astra`/`axstack-advisor-opus` advise and author candidates;
21
21
  `axstack-arena-candidate-grok` adds a family.
@@ -24,7 +24,7 @@
24
24
  `axstack-auditor` audits; `axstack-checker` reports discrepancies.
25
25
  - `axstack-explainer` authors every visual Explain delivers, including pages,
26
26
  chat Mermaid and anatomy figures; mixed pins Sonnet 5.5 high exactly.
27
- - `axstack-explainer-review` always reviews every visual; `codex/sol` medium in mixed.
27
+ - `axstack-explainer-review` always reviews every visual; `codex/terra` medium in mixed.
28
28
  Consequential or complex driver-written prose keeps its review rule; every
29
29
  whiteboard defense is consequential, in chat too.
30
30
  - `axstack-diligence`: read-only [diligence checks](diligence.md) for every authored PR
@@ -45,9 +45,10 @@
45
45
  `axstack-explore-codebase-luna` per facet in mixed (Haiku high + Luna
46
46
  xhigh) and codex-only (Sol high + Luna xhigh). Claude-only requires
47
47
  the Haiku high base seat per facet.
48
- - Sol pairs `axstack-auditor-sol`/`axstack-research-code-sol`/
48
+ - Sol pairs (stable `-sol` IDs) `axstack-auditor-sol`/`axstack-research-code-sol`/
49
49
  `axstack-explore-execution-sol`: `codex/sol` high in
50
- mixed/codex-only; intentionally absent in claude-only. Dispatch each
50
+ mixed/codex-only; intentionally absent in claude-only. In mixed,
51
+ research-code and explore-execution use `codex/terra` high instead. Dispatch each
51
52
  independently from its base seat on the same bounded brief without
52
53
  cross-reading. The driver reconciles findings per claim, never averages.
53
54
  Record intentional absence and continue with Sonnet alone.
@@ -109,7 +109,7 @@ counts with denominators plus the evidence behind the count:
109
109
  | --- | --- | --- |
110
110
  | `mixed` | `codex/sol` | `axstack-reviewer-secondary` (`claude/opus` high) |
111
111
  | `mixed` | `claude/opus` | `axstack-reviewer-primary` (`codex/sol` high) |
112
- | `codex-only` | `codex/sol` | `axstack-reviewer-secondary` (`codex/luna` xhigh) |
112
+ | `codex-only` | `codex/sol` | `axstack-reviewer-secondary` (`codex/terra` xhigh) |
113
113
  | `claude-only` | `claude/opus` | `axstack-reviewer-secondary` (`claude/sonnet` high) |
114
114
  - Simplification applicability determinations evidenced / total candidate diffs,
115
115
  and complete simplification receipts / total candidates, broken down as
@@ -22,8 +22,8 @@ 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
25
- absent Sol pair and proceed with the base seat alone. A configured optional
26
- Sol pair that fails to launch is fenced, recorded `absent (<reason>)`, and
25
+ absent `-sol` pair and proceed with the base seat alone. A configured optional
26
+ `-sol` pair that fails to launch is fenced, recorded `absent (<reason>)`, and
27
27
  named once in the next read-back, then skipped without relay or substitution.
28
28
  In mixed fan-out retain a Codex and a Claude seat or hold the affected work.
29
29
 
@@ -55,13 +55,13 @@ is part of research.
55
55
 
56
56
  - `axstack-research-requirements`: requirements and intent.
57
57
  - `axstack-research-code`: code behavior.
58
- - `axstack-research-code-sol`: independent Sol code investigation.
58
+ - `axstack-research-code-sol`: independent code investigation (Terra high in mixed, Sol high in codex-only).
59
59
  - `axstack-research-web`: web and external sources.
60
60
  - `axstack-research-x`: X (Twitter) posts and threads via Grok; cite post URLs and dates.
61
61
  - For broad codebase mapping, use `axstack-scout`.
62
62
  Never dispatch `axstack-explore-codebase` directly for broad mapping.
63
63
  - `axstack-explore-execution`: execution and runtime traces.
64
- - `axstack-explore-execution-sol`: independent Sol execution investigation.
64
+ - `axstack-explore-execution-sol`: independent execution investigation (Terra high in mixed, Sol high in codex-only).
65
65
 
66
66
  When dispatching `axstack-research-code` or `axstack-explore-execution`,
67
67
  dispatch its `-sol` pair independently on the same bounded brief without
@@ -36,7 +36,7 @@ This section applies to peer and authored PR modes.
36
36
  | --- | --- | --- |
37
37
  | `mixed` | `codex/sol` | `axstack-reviewer-secondary` (`claude/opus` high) |
38
38
  | `mixed` | `claude/opus` | `axstack-reviewer-primary` (`codex/sol` high) |
39
- | `codex-only` | `codex/sol` | `axstack-reviewer-secondary` (`codex/luna` xhigh) |
39
+ | `codex-only` | `codex/sol` | `axstack-reviewer-secondary` (`codex/terra` xhigh) |
40
40
  | `claude-only` | `claude/opus` | `axstack-reviewer-secondary` (`claude/sonnet` high) |
41
41
 
42
42
  The diligence receipt is separate and does not count as a reviewer receipt.
package/src/roles.js CHANGED
@@ -6,12 +6,12 @@ const PROVIDER_BOUNDS = Object.freeze({
6
6
 
7
7
  const CLASS_PROVIDERS = Object.freeze({
8
8
  fable: 'claude', opus: 'claude', sonnet: 'claude', haiku: 'claude',
9
- astra: 'codex', sol: 'codex', luna: 'codex',
9
+ astra: 'codex', sol: 'codex', luna: 'codex', terra: 'codex',
10
10
  });
11
11
 
12
12
  export function deriveModelClass(model) {
13
13
  if (typeof model !== 'string') return null;
14
- return model.match(/^gpt-(\d+(?:\.\d+)*)-(astra|sol|luna)$/)?.[2]
14
+ return model.match(/^gpt-(\d+(?:\.\d+)*)-(astra|sol|luna|terra)$/)?.[2]
15
15
  ?? model.match(/^claude-(fable|opus|sonnet|haiku)-/)?.[1]
16
16
  ?? null;
17
17
  }
@@ -22,7 +22,7 @@ const AUTHORED_ROUTES = Object.freeze({
22
22
  'claude/opus': ['axstack-reviewer-primary', 'codex/sol', 'high'],
23
23
  },
24
24
  'codex-only': {
25
- 'codex/sol': ['axstack-reviewer-secondary', 'codex/luna', 'xhigh'],
25
+ 'codex/sol': ['axstack-reviewer-secondary', 'codex/terra', 'xhigh'],
26
26
  },
27
27
  'claude-only': {
28
28
  'claude/opus': ['axstack-reviewer-secondary', 'claude/sonnet', 'high'],