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 +3 -2
- package/docs/getting-started.md +5 -2
- package/docs/installation.md +7 -2
- 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-explain/SKILL.md +2 -1
- package/skills/axstack-explain/references/delivery.md +10 -14
- package/skills/axstack-explain/references/design.md +12 -35
- package/skills/axstack-explain/references/frontend-design/PROVENANCE.md +1 -2
- package/skills/axstack-explain/references/inline-pages.md +16 -12
- package/skills/axstack-explain/references/visual-qa.md +5 -2
- package/skills/axstack-publish/SKILL.md +13 -9
- package/src/capabilities.js +5 -14
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
|
|
26
|
-
on PATH.
|
|
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
|
package/docs/getting-started.md
CHANGED
|
@@ -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
|
|
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
|
|
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
|
package/docs/installation.md
CHANGED
|
@@ -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
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
18
|
-
author by plain prose with the reason.
|
|
19
|
-
For inline HTML pages and Publish article adaptations,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
|
|
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
|
|
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
|
-
|
|
11
|
-
|
|
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
|
-
|
|
24
|
-
|
|
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
|
-
|
|
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
|
|
63
|
-
|
|
64
|
-
|
|
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
|
-
|
|
68
|
-
|
|
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
|
|
package/src/capabilities.js
CHANGED
|
@@ -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
|
|
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
|
|
28
|
-
|
|
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: `
|
|
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;
|