Skip to content

Commit ee7ca98

Browse files
hyperpolymathclaude
andcommitted
chore: add UX infrastructure (quickstart, doctor, setup)
Added by ux-rollout.jl batch script. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 59aa1fc commit ee7ca98

4 files changed

Lines changed: 113 additions & 14 deletions

File tree

Justfile

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -299,26 +299,36 @@ clean-all: clean
299299
# TEST & QUALITY
300300
# ═══════════════════════════════════════════════════════════════════════════════
301301

302-
# Run all tests
302+
# Run all tests — ReScript parser tests + Zig FFI tests
303303
test *args:
304-
@echo "Running tests..."
305-
# TODO: Replace with your test command
306-
# Examples:
307-
# cargo test {{args}}
308-
# mix test {{args}}
309-
# zig build test {{args}}
310-
# deno test {{args}}
311-
@echo "Tests passed!"
304+
@echo "Running ReScript parser tests..."
305+
rescript build
306+
node tests/parser/ParserTests.mjs
307+
@echo ""
308+
@echo "Running Zig FFI tests..."
309+
cd ffi/zig && zig build test
310+
@echo ""
311+
@echo "All tests passed!"
312312

313313
# Run tests with verbose output
314314
test-verbose:
315-
@echo "Running tests (verbose)..."
316-
# TODO: Replace with verbose test command
315+
@echo "Running all tests (verbose)..."
316+
rescript build
317+
node tests/parser/ParserTests.mjs
318+
cd ffi/zig && zig build test
319+
node tests/smoke/e2e-smoke.mjs
317320

318-
# Smoke test
321+
# End-to-end smoke test — parse example, verify ABI correspondence
319322
test-smoke:
320-
@echo "Smoke test..."
321-
# TODO: Add basic sanity checks
323+
@echo "Running E2E smoke test..."
324+
rescript build
325+
node tests/smoke/e2e-smoke.mjs
326+
327+
# Type-check Idris2 ABI modules (formal proofs)
328+
check-abi:
329+
@echo "Type-checking Idris2 ABI modules..."
330+
cd src/abi && idris2 --build typed-wasm.ipkg
331+
@echo "All 9 ABI modules type-check successfully."
322332

323333
# Run all quality checks
324334
quality: fmt-check lint test
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Intentfile (A2ML Canonical)
3+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath)
4+
5+
@abstract:
6+
Declared intent and purpose for Typed Wasm.
7+
@end
8+
9+
## Purpose
10+
11+
Typed Wasm — // SPDX-License-Identifier: PMPL-1.0-or-later
12+
13+
## Anti-Purpose
14+
15+
This project is NOT:
16+
- A fork or wrapper around another tool
17+
- A monorepo (unless explicitly structured as one)
18+
19+
## If In Doubt
20+
21+
If you are unsure whether a change is in scope, ask.
22+
Sensitive areas: ABI definitions, license headers, CI workflows.

contractiles/must/Mustfile.a2ml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Mustfile (A2ML Canonical)
3+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath)
4+
5+
@abstract:
6+
Physical State contract for Typed Wasm. Baseline UX Manifesto invariants
7+
that MUST hold at all times.
8+
@end
9+
10+
@requires:
11+
- section: Core-Files
12+
- section: Banned
13+
@end
14+
15+
## Core-Files
16+
17+
### license-present
18+
- description: LICENSE file must exist
19+
- run: test -f LICENSE
20+
- severity: critical
21+
22+
### readme-present
23+
- description: README must exist
24+
- run: test -f README.adoc || test -f README.md
25+
- severity: critical
26+
27+
## Banned
28+
29+
### no-hardcoded-paths
30+
- description: No hardcoded developer paths
31+
- run: "! grep -rn '/home/hyper\|/mnt/eclipse' --include='*.rs' --include='*.res' --include='*.ex' --include='*.gleam' --include='*.zig' --include='*.sh' . 2>/dev/null | grep -v '.git/' | grep -v 'ux-rollout.jl' | head -1"
32+
- severity: critical
33+
34+
### no-dockerfiles
35+
- description: No Dockerfiles (use Containerfile)
36+
- run: test ! -f Dockerfile
37+
- severity: warning
38+
39+
### no-makefiles
40+
- description: No Makefiles (use Justfile)
41+
- run: test ! -f Makefile
42+
- severity: warning

contractiles/trust/Trustfile.a2ml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Trustfile (A2ML Canonical)
3+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath)
4+
5+
@abstract:
6+
Trust and provenance verification for Typed Wasm.
7+
Maximal trust by default — LLM may read, build, test, lint, format.
8+
@end
9+
10+
@trust-level: maximal
11+
@trust-boundary: repo
12+
@trust-actions: [read, build, test, lint, format]
13+
@trust-deny: [delete-branch, force-push, modify-ci-secrets, publish]
14+
15+
## Integrity
16+
17+
### license-content
18+
- description: LICENSE contains expected SPDX identifier
19+
- run: grep -q 'SPDX\|License\|MIT\|Apache\|PMPL\|MPL' LICENSE
20+
- severity: critical
21+
22+
### no-secrets-committed
23+
- description: No .env or credential files in repo
24+
- run: test ! -f .env && test ! -f credentials.json && test ! -f .env.local
25+
- severity: critical

0 commit comments

Comments
 (0)