axstack 0.42.0 → 0.42.2
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/references/design.md +9 -1
- package/skills/axstack-explain/references/visual-qa.md +6 -1
- package/skills/axstack-publish/SKILL.md +4 -1
- 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.42.
|
|
3
|
+
"version": "0.42.2",
|
|
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 bound to the artifact SHA-256 and recorded before review. 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 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
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 bound to the artifact SHA-256 and recorded before review. 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 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
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 bound to the artifact SHA-256 and recorded before review. 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 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.",
|
|
156
156
|
"modelClass": "sol"
|
|
157
157
|
},
|
|
158
158
|
{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Design
|
|
2
2
|
|
|
3
|
-
Apply precedence in this order: 1) Axstack page rules 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.
|
|
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
4
|
Inline pages favour restraint; published articles may vary boldly within levels 1–3.
|
|
5
5
|
|
|
6
6
|
Named tells:
|
|
@@ -26,4 +26,12 @@ Published articles use system font stacks.
|
|
|
26
26
|
Never use font files or network requests.
|
|
27
27
|
Never keep design notes or history across pages; frontend-design's note-keeping hint does not apply.
|
|
28
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
|
+
|
|
29
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).
|
|
@@ -7,7 +7,12 @@ 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.
|
|
9
9
|
For Publish, the reviewer opens `axstack-ui-verifier` PNGs at 728px dark and
|
|
10
|
-
360px light
|
|
10
|
+
360px light plus 390px mobile and 1440px desktop, covering all four widths in both themes,
|
|
11
|
+
with paths bound to the artifact SHA-256 and recorded before review.
|
|
12
|
+
Inspect the 1440px desktop screenshot for balanced composition, intentional horizontal margins,
|
|
13
|
+
bounded prose measure, typography, section spacing and chart legibility.
|
|
14
|
+
Inspect the 360px and 390px mobile screenshots for gutters, readable text and chart labels.
|
|
15
|
+
Check every width and theme for clipping and horizontal scroll, recording defects and observations.
|
|
11
16
|
The driver forwards those paths and SHA-256; changed bytes require fresh screenshots and review.
|
|
12
17
|
Apply [Delivery](delivery.md)'s one-round design repair, disclosed cosmetic exception and unknown-render holds.
|
|
13
18
|
Chat Mermaid, anatomy and explicitly requested standalone HTML files keep their existing review and Visual QA.
|
|
@@ -42,6 +42,8 @@ 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.
|
|
45
47
|
|
|
46
48
|
Send the article adaptation, including art direction and standalone light/dark theme,
|
|
47
49
|
to `axstack-explainer` with a bounded brief.
|
|
@@ -52,7 +54,8 @@ honor an explicit user theme request.
|
|
|
52
54
|
Theme adaptation changes bytes: save `final.html`, its byte count and SHA-256,
|
|
53
55
|
then rerun the referenced Explain page checks on these final bytes.
|
|
54
56
|
Before independent review, have `axstack-ui-verifier` preview these exact bytes with
|
|
55
|
-
Playwright MCP at 728px dark and 360px light
|
|
57
|
+
Playwright MCP at 728px dark and 360px light plus 390px mobile and 1440px desktop,
|
|
58
|
+
covering all four widths in both themes, and record screenshots with paths,
|
|
56
59
|
their artifact SHA-256 and the Explain QA results.
|
|
57
60
|
Require a fresh independent `axstack-explainer-review` on the final bytes.
|
|
58
61
|
The driver forwards the verifier PNG paths and bound artifact SHA-256 for the
|
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;
|