axstack 0.42.1 → 0.43.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 CHANGED
@@ -22,8 +22,9 @@ coordination. You can start at the phase you need.
22
22
  ## Prerequisites
23
23
 
24
24
  Axstack supports only Linux hosts. You need Bun >=1.3.14, Git, the GitHub
25
- CLI (`gh`), and T3 Code `0.0.46-nightly.20261003.2610` or newer
26
- on PATH. The providers selected by your preset must be available inside T3.
25
+ CLI (`gh`), and T3 Code stable `0.1.0` or newer
26
+ on PATH. Nightly and other prerelease builds are unsupported. The providers
27
+ selected by your preset must be available inside T3.
27
28
 
28
29
  Choose one explicit preset (each contains all role IDs): [mixed](profiles/presets/mixed.json)
29
30
  (recommended), [codex-only](profiles/presets/codex-only.json), or
@@ -9,7 +9,10 @@ For the mental model, read [concepts](concepts.md); for other journeys, use
9
9
  ## Prepare your host
10
10
 
11
11
  You need Bun >=1.3.14, Git, the GitHub CLI, and
12
- T3 Code `0.0.46-nightly.20261003.2610` or newer. These executables must be on PATH.
12
+ T3 Code stable `0.1.0` or newer. These executables must be on PATH.
13
+ Nightly and other prerelease builds are unsupported. Install or update T3 from
14
+ its stable channel, ensure the stable `t3` executable is on PATH, and rerun
15
+ `axstack check` if this prerequisite fails. Check does not install or switch T3.
13
16
  The providers required by your chosen preset must be available inside T3.
14
17
  See [installation](installation.md) for harness paths and
15
18
  [host operations](host-operations.md) for provider and project setup.
@@ -37,7 +40,7 @@ A successful check exits 0. Its four capability rows mean:
37
40
  | `bun` | The running Bun version meets the floor. |
38
41
  | `git` | Git's version command succeeds. |
39
42
  | `gh` | The GitHub CLI's version command succeeds. |
40
- | `t3` | T3's version command succeeds and meets the floor. |
43
+ | `t3` | T3's version command succeeds and reports stable >=0.1.0. |
41
44
 
42
45
  The `gh stack` extension is needed only for preexisting native stacks; ordinary
43
46
  PRs/chains use Git and `gh pr`. With this harness target, check also reports the
@@ -8,7 +8,7 @@ does not dispatch agents, edit T3 settings, run a scheduler, or maintain a
8
8
  workflow database.
9
9
 
10
10
  Requirements: Bun >=1.3.14, Git, `gh`, and a running
11
- T3 Code `0.0.46-nightly.20261003.2610` or newer. The driver is a T3 thread
11
+ T3 Code stable `0.1.0` or newer. The driver is a T3 thread
12
12
  with the `t3-code` MCP. See the [T3 runtime boundary](../skills/axstack/references/t3-runtime.md).
13
13
  Axstack has no runtime package dependencies. Filesystem access uses Bun-backed
14
14
  `node:fs` and `node:fs/promises`. Vendored anatomy code runs with Bun;
@@ -129,7 +129,12 @@ legacy native-stack operations, which probe `gh stack --help` separately:
129
129
  | `bun` | The `bun` row reports the already-validated running version, because Bun below 1.3.14 exits 1 before any row is printed. |
130
130
  | `git` | `git --version` succeeds. |
131
131
  | `gh` | `gh --version` succeeds. |
132
- | `t3` | `t3 --version` succeeds and its output meets the T3 version floor. |
132
+ | `t3` | `t3 --version` succeeds and reports a stable release >=0.1.0; nightly and other prerelease builds fail. |
133
+
134
+ For an old, nightly, prerelease or malformed T3 version, install or update T3 Code
135
+ from its stable channel, ensure the stable `t3` executable is on PATH, and rerun
136
+ `axstack check`. Check only probes capabilities; it never installs T3 or changes
137
+ its update channel or settings.
133
138
 
134
139
  `--bundle` additionally validates the bundle and reports its skill-file count
135
140
  and preset names; it does not compare every installed skill's bytes.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "axstack",
3
- "version": "0.42.1",
3
+ "version": "0.43.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",
@@ -151,7 +151,7 @@
151
151
  "provider": "claude",
152
152
  "modeId": "bypassPermissions",
153
153
  "thinkingOptionId": "high",
154
- "notes": "Independent 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. T3 resolves Claude classes from saved capabilities; a Claude rejection holds. Design review follows design.md 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. Apply Delivery's one design-only repair round within the two-round limit, disclosed cosmetic exception and unknown-render holds. Chat Mermaid and anatomy keep their existing review.",
154
+ "notes": "Independent 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. T3 resolves Claude classes from saved capabilities; a Claude rejection holds. 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.",
155
155
  "modelClass": "sonnet"
156
156
  },
157
157
  {
@@ -151,7 +151,7 @@
151
151
  "provider": "codex",
152
152
  "modeId": "full-access",
153
153
  "thinkingOptionId": "xhigh",
154
- "notes": "Independent 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 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. Apply Delivery's one design-only repair round within the two-round limit, disclosed cosmetic exception and unknown-render holds. Chat Mermaid and anatomy keep their existing review.",
154
+ "notes": "Independent 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.",
155
155
  "modelClass": "luna"
156
156
  },
157
157
  {
@@ -152,7 +152,7 @@
152
152
  "provider": "codex",
153
153
  "modeId": "full-access",
154
154
  "thinkingOptionId": "medium",
155
- "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 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. Apply Delivery's one design-only repair round within the two-round limit, disclosed cosmetic exception and unknown-render holds. Chat Mermaid and anatomy keep their existing review.",
155
+ "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.",
156
156
  "modelClass": "sol"
157
157
  },
158
158
  {
@@ -61,7 +61,8 @@ Dispatch every visual Explain delivers to `axstack-explainer` with a bounded
61
61
  evidence brief, including inline pages, chat Mermaid and anatomy figures.
62
62
  The `axstack-explainer` loads [design.md](references/design.md) and reads
63
63
  [FRONTEND-DESIGN.md](references/frontend-design/FRONTEND-DESIGN.md) for every inline HTML page
64
- and every Publish article adaptation.
64
+ and every Publish article adaptation, using frontend-design as the sole design authority
65
+ subject to design.md's hard rules.
65
66
  Never load either reference for chat Mermaid or anatomy figures.
66
67
  Explicitly requested standalone HTML files keep their existing review and Visual QA.
67
68
  Plain-prose answers stay driver-written; other phases retain their own Mermaid
@@ -14,22 +14,18 @@ naming the held page and the reason.
14
14
  Whiteboard-defense plain prose still requires `axstack-explainer-review`.
15
15
  If a required author or reviewer seat is unavailable, hold the visual and
16
16
  answer in plain prose naming the held visual.
17
- Replace a visual still failing checks after two repair rounds with the same
18
- author by plain prose with the reason.
19
- For inline HTML pages and Publish article adaptations, apply [design.md](design.md):
20
- a named tell is blocking for one design-only repair round with the same author,
21
- counting within the two-round visual limit.
22
- Never start a second design-only round.
23
- A cosmetic tell remaining in fresh exact-byte renders becomes a disclosed
24
- non-blocking design exception, recorded in evidence and named in delivery.
25
- Never describe the exception as fixed or a clean design pass.
26
- This exception never waives source-fidelity, security, asset, theme, layout,
27
- accessibility, interaction or publication requirements.
28
- A tell causing any such defect keeps that defect's normal hold and repair rules.
17
+ Except for design-only findings below, replace a visual still failing checks after
18
+ two repair rounds with the same author by plain prose with the reason.
19
+ For inline HTML pages and Publish article adaptations, judge the exact-byte renders
20
+ against [FRONTEND-DESIGN.md](frontend-design/FRONTEND-DESIGN.md), including its calibration defaults,
21
+ restraint and quality floor, plus [design.md](design.md)'s hard rules.
22
+ A page failing to look decent is a blocking design finding, repaired by the same author within the two-round visual limit.
23
+ If only design findings remain after the second round, deliver the visual with each finding named and recorded in evidence.
24
+ Never describe a remaining finding as fixed or a clean pass.
25
+ Hard-rule, fidelity, security, asset, theme, accessibility, layout-defect, interaction
26
+ and publication failures keep their normal holds and repair rules.
29
27
  An unavailable, unreadable or stale render leaves design review unknown and holds
30
28
  the visual or publication; inline delivery may use the plain-prose fallback above.
31
- An unknown check is never a tell that expires after one round.
32
- Overall look is advisory.
33
29
 
34
30
  The driver never writes a substitute visual.
35
31
  Each repair round returns findings to the same author and rechecks the exact final bytes.
@@ -1,37 +1,14 @@
1
1
  # Design
2
2
 
3
- Apply precedence in this order: 1) Axstack page rules for the output kind plus this file's subject, colour, motion, font and no-notes rules, 2) source fidelity, 3) named tells, 4) frontend-design for approach and everything else.
4
- Inline pages favour restraint; published articles may vary boldly within levels 1–3.
5
-
6
- Named tells:
7
- - Eyebrow labels or tiny tracked caps.
8
- - A single styled accent word.
9
- - Gradients, glass or resting shadows.
10
- - Emoji or decorative blobs.
11
- - Rows of identical cards or bordered boxes.
12
- - More than two typefaces or five sizes.
13
- - Body text outside full ink or default left alignment.
14
-
15
- Diagram edges and arrows, timeline order, tables and code paths are content, not ornament.
16
- Anatomy follows its kit.
17
- A behaviour required by a higher-priority rule is never a tell.
18
-
19
- The actual subject and question determine structure.
20
- Never stop to confirm the subject.
21
- Inline colour: `--background` is ground, `--foreground` is ink, `--muted-foreground` serves only secondary text, `--ring` is the single accent.
22
- Published articles may use a small named palette checked in light and dark.
23
- Motion is static by default; any animation is CSS-only and respects reduced motion.
24
- Inline pages use only T3 font variables.
25
- Published articles use system font stacks.
26
- Never use font files or network requests.
27
- Never keep design notes or history across pages; frontend-design's note-keeping hint does not apply.
28
-
29
- ## Standalone Publish layout
30
-
31
- Give standalone Publish articles mobile gutters, a bounded prose measure and intentional horizontal margins for balanced desktop composition.
32
- Centre the reading column or use a deliberate asymmetric layout that balances the whole viewport.
33
- Set readable body typography and line height, clear heading hierarchy and generous section spacing for standalone articles.
34
- Size chart labels, values, units and spacing for legibility at mobile and desktop widths in both themes.
35
- Choose dimensions and rhythm for the article's content; the inline T3 frame supplies its own surrounding space.
36
-
37
- Credit: [taste-skill](https://github.com/Leonxlnx/taste-skill/tree/f624f37a) (MIT, `Leonxlnx/taste-skill` at `f624f37a`) and [frontend-design](frontend-design/PROVENANCE.md).
3
+ [FRONTEND-DESIGN.md](frontend-design/FRONTEND-DESIGN.md) is the sole design authority for every visual choice — palette, typography, layout, spacing, structure, motion and self-critique — on every inline HTML page and every Publish article adaptation.
4
+ These hard rules win on conflict.
5
+
6
+ - Never load network resources or font files. Inline pages use T3 font variables or system font stacks. Published articles use system font stacks.
7
+ - Inline pages follow the live T3 theme: derive every colour from T3 theme variables — ground from `--background`, ink from `--foreground`, all other colours via `color-mix()` with them or T3 semantic/chart variables (`--muted-foreground`, `--accent`, `--success`, `--warning`, `--destructive`, `--info`, `--chart-1`…`--chart-6`). Keep every colour legible in light and dark. `var()` fallbacks are allowed for standalone viewing. Never switch inline palettes on `prefers-color-scheme`; T3's theme leaves that query unchanged. Never redefine T3's own variables in inline pages. Published articles support light and dark via `prefers-color-scheme` outside T3.
8
+ - Keep pages responsive down to 360px with visible keyboard focus, reduced motion respected and sufficient contrast in both themes.
9
+ - Never stop to confirm the subject: the brief and evidence are the subject.
10
+ - Never keep design notes or history across pages. This overrides frontend-design's note hint.
11
+ - Source fidelity beats any design choice: diagram edges, order, tables and code paths show the source.
12
+ - For non-anatomy inline pages only, follow [inline-pages.md](inline-pages.md): its Embed fit and Page rules sections also win on conflict. Anatomy follows its own kit.
13
+
14
+ Credit: [frontend-design](frontend-design/PROVENANCE.md).
@@ -9,5 +9,4 @@ Commit: `41bbe19d1a1a7eaab5e7bb9050a417e5c6cffc8f`
9
9
  Git blob: `f433b1a53f5b830a205fd2df78e2b34974656c7b`.
10
10
 
11
11
  License: Apache-2.0; the complete upstream licence accompanies this reference.
12
- This payload is not registered as a skill. Axstack's owned design guidance
13
- sets precedence and scope in `../design.md`.
12
+ This payload is not registered as a skill. Axstack's hard rules live in `../design.md`.
@@ -7,21 +7,25 @@ The driver publishes the page in its own thread.
7
7
 
8
8
  Use T3 theme variables and follow the live theme.
9
9
  Only an explicit user theme request overrides the page theme.
10
- Use `--background`, `--foreground`, `--muted-foreground`, `--ring`,
11
- `--font-sans`, and `--font-mono` for their named purposes.
12
-
13
- Use fluid width, with zero outer horizontal padding.
14
- Never use an outer frame, banner, or viewport heights.
15
- Anatomy may retain its figure card as an inner panel with at least 16px padding
16
- and `var(--radius)`; its page wrapper still has zero gutters and no background.
17
- Let content set the page height. Use fixed chart heights.
18
- Set frame `height` to the larger contentHeight of the two previews, capped at 2000.
10
+ For inline pages other than anatomy, follow [design.md](design.md) for the theme rule and visual design authority.
11
+ Anatomy follows its own kit.
19
12
 
20
13
  Choose the page shape from its content rather than a fixed template.
21
14
  Map stages to a connected diagram, sequence to a timeline, comparison to side
22
- by side or table, and separate equal items to a list.
23
- Prefer diagrams and timelines. Avoid grids of bordered boxes.
24
- Keep borders minimal and use color only where it has meaning.
15
+ by side or table, and separate equal items to a list; frontend-design can refine this content-shape mapping guidance.
16
+
17
+ ## Embed fit
18
+
19
+ The T3 frame is borderless on the thread background, with its left edge aligned to reply text.
20
+ Use fluid width with zero horizontal padding on the outermost element.
21
+ Never add an outer card, border or banner title.
22
+ A banner title means an outer header block or band; an ordinary page heading is allowed.
23
+ Keep html, body and the outermost element without a background colour.
24
+ Give any inner box with its own background at least 16px padding on every side and `var(--radius)` corners.
25
+ Anatomy may retain its figure card as an inner panel with at least 16px padding and `var(--radius)`; its page wrapper still has zero gutters and no background.
26
+ Never use viewport heights.
27
+ Let content set the page height. Use fixed chart heights.
28
+ Set frame `height` to the larger contentHeight of the two previews, capped at 2000.
25
29
 
26
30
  ## Page rules
27
31
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  For inline pages, follow [Inline pages](inline-pages.md) instead of this checklist.
4
4
 
5
- Design review against [design.md](design.md) covers every inline HTML page and every Publish article adaptation.
5
+ Design review against [design.md](design.md) hard rules and [FRONTEND-DESIGN.md](frontend-design/FRONTEND-DESIGN.md) covers every inline HTML page and every Publish article adaptation, including its calibration defaults, restraint and quality floor.
6
6
  For inline pages, the reviewer itself renders exact bytes with `html_preview` at
7
7
  728px dark and 360px light as a non-publishing self-check.
8
8
  This supplements the driver's required previews and any verifier pass.
@@ -14,7 +14,10 @@ bounded prose measure, typography, section spacing and chart legibility.
14
14
  Inspect the 360px and 390px mobile screenshots for gutters, readable text and chart labels.
15
15
  Check every width and theme for clipping and horizontal scroll, recording defects and observations.
16
16
  The driver forwards those paths and SHA-256; changed bytes require fresh screenshots and review.
17
- Apply [Delivery](delivery.md)'s one-round design repair, disclosed cosmetic exception and unknown-render holds.
17
+ A page failing to look decent is a blocking design finding, repaired by the same author within the two-round visual limit.
18
+ If only design findings remain after the second round, deliver the visual with each finding named.
19
+ Never describe a remaining finding as fixed or a clean pass.
20
+ Follow [Delivery](delivery.md) for other failure holds and unknown-render holds.
18
21
  Chat Mermaid, anatomy and explicitly requested standalone HTML files keep their existing review and Visual QA.
19
22
  Interaction checks remain with `axstack-ui-verifier`; source-fidelity review is unchanged.
20
23
 
@@ -42,12 +42,10 @@ to remove private paths, IDs, credentials, prompts, messages and internal record
42
42
  For public mode, run Explain's [self-contained asset check](../axstack-explain/references/inline-pages.md#check-the-exact-bytes).
43
43
  Reuse Explain's [page rules](../axstack-explain/references/inline-pages.md#page-rules)
44
44
  and [Visual QA](../axstack-explain/references/visual-qa.md) for checks and verifier routing.
45
- [Inline zero-padding embed rules](../axstack-explain/references/inline-pages.md#shape-and-theme) apply only to T3 frames.
46
- Use [design.md](../axstack-explain/references/design.md) for standalone Publish layout.
47
45
 
48
46
  Send the article adaptation, including art direction and standalone light/dark theme,
49
47
  to `axstack-explainer` with a bounded brief.
50
- The explainer follows Explain's [design guidance](../axstack-explain/references/design.md)
48
+ The explainer loads and follows Explain's [design guidance](../axstack-explain/references/design.md)
51
49
  and reads [frontend-design](../axstack-explain/references/frontend-design/FRONTEND-DESIGN.md).
52
50
  Require inline defaults and `prefers-color-scheme` so the article works outside T3;
53
51
  honor an explicit user theme request.
@@ -59,13 +57,19 @@ covering all four widths in both themes, and record screenshots with paths,
59
57
  their artifact SHA-256 and the Explain QA results.
60
58
  Require a fresh independent `axstack-explainer-review` on the final bytes.
61
59
  The driver forwards the verifier PNG paths and bound artifact SHA-256 for the
62
- reviewer's design review against design.md, alongside source-fidelity review.
63
- Apply Explain's [Delivery](../axstack-explain/references/delivery.md) one-round design repair
64
- and disclosed cosmetic exception; that exception leaves all other requirements binding.
60
+ reviewer's design review against FRONTEND-DESIGN.md (calibration defaults, restraint
61
+ and quality floor) plus design.md's hard rules, alongside source-fidelity review.
62
+ A page failing to look decent is a blocking design finding, repaired by the same author within the two-round visual limit.
63
+ If only design findings remain after the second round, deliver the visual with each finding named and recorded in evidence.
64
+ Never describe a remaining finding as fixed or a clean pass.
65
+ Follow Explain's [Delivery](../axstack-explain/references/delivery.md) for normal holds
66
+ on hard-rule, fidelity, security, asset, theme, accessibility, layout-defect,
67
+ interaction and publication failures.
65
68
  Any subsequent byte change invalidates checks and review: repeat this step.
66
- Hold publication while any required check or review is missing or failed.
67
- Unavailable, unreadable or stale renders leave design review unknown and hold publication;
68
- unknown is never passed or a cosmetic exception.
69
+ Hold publication while any required check or review is missing or failed, except for
70
+ the design-only delivery after the second round above.
71
+ Unavailable, unreadable or stale renders leave design review unknown and hold publication.
72
+ Never treat unknown design review as a pass.
69
73
 
70
74
  ## 3. Publish from the driver
71
75
 
@@ -1,6 +1,6 @@
1
1
  // Host capability checks. Injected execution keeps tests off live runtimes.
2
2
  export const BUN_FLOOR = '1.3.14';
3
- export const T3_FLOOR = '0.0.46-nightly.20261003.2610';
3
+ export const T3_FLOOR = '0.1.0';
4
4
 
5
5
  export const PROBE_LIMITATIONS = [
6
6
  'T3 orchestration MCP readiness, provider auth, models and effort are verified by driver preflight inside a T3 thread, never from the binary probe.',
@@ -13,7 +13,7 @@ const CHECK_LABELS = {
13
13
  bun: 'bun >= 1.3.14 runtime',
14
14
  git: 'git CLI',
15
15
  gh: 'gh CLI',
16
- 't3-binary': `T3 Code CLI >= ${T3_FLOOR}`,
16
+ 't3-binary': `T3 Code CLI stable >= ${T3_FLOOR}`,
17
17
  };
18
18
 
19
19
  // Ordinary PRs need Git and gh; legacy native-stack operations probe separately.
@@ -24,22 +24,13 @@ export const PROBE_COMMANDS = {
24
24
  };
25
25
 
26
26
  function validT3Version(stdout) {
27
- const match = /^(?:t3\s+)?v?(\d+\.\d+\.\d+)(?:-nightly\.(\d{8})(?:\.(\d+))?)?$/.exec(stdout.trim());
28
- const [floorVersion, floorNightly] = T3_FLOOR.split('-nightly.');
29
- const [floorDate, floorBuild] = floorNightly.split('.');
30
- if (!match || !meetsFloor(match[1], floorVersion)) return false;
31
- if (!match[2]) return true;
32
- const date = match[2];
33
- const iso = `${date.slice(0, 4)}-${date.slice(4, 6)}-${date.slice(6, 8)}`;
34
- const parsed = new Date(`${iso}T00:00:00Z`);
35
- return Number.isFinite(parsed.getTime()) && parsed.toISOString().slice(0, 10) === iso
36
- && (match[1] !== floorVersion || date > floorDate || (date === floorDate && match[3] !== undefined
37
- && Number(match[3]) >= Number(floorBuild)));
27
+ const match = /^(?:t3\s+)?v?((?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*))$/.exec(stdout.trim());
28
+ return !!match && meetsFloor(match[1], T3_FLOOR);
38
29
  }
39
30
 
40
31
  function validateT3Result(result) {
41
32
  if (!result?.ok || validT3Version(String(result.stdout ?? ''))) return result;
42
- return { ok: false, stdout: `requires T3 >= ${T3_FLOOR}; got ${String(result.stdout ?? '').trim() || 'malformed version'}` };
33
+ return { ok: false, stdout: `Install T3 Code stable >= ${T3_FLOOR} on PATH; rerun axstack check. Got: ${String(result.stdout ?? '').trim() || 'malformed version'}` };
43
34
  }
44
35
 
45
36
  // Pure semver-floor comparison over numeric prefix segments ("1.3.14" style;