diff --git a/EXPLAINME-new.adoc b/EXPLAINME-new.adoc index 0ce82f8..7f300c7 100644 --- a/EXPLAINME-new.adoc +++ b/EXPLAINME-new.adoc @@ -46,13 +46,13 @@ The backend is Rust (`link:src-gossamer/[]`) using Gossamer (WebKitGTK) for the Caveat:: The 5 MB figure is the Rust binary; the full installation includes WebKitGTK dependencies (provided by the host OS or container). Linux is the primary target; macOS and Windows require WebKitGTK availability. Gossamer is actively maintained but less battle-tested than Electron. -=== 109 tests passing (97 JS + 12 Rust) +=== 285 Rust tests passing [quote, README.adoc] -____109 tests passing (97 JS via Deno.test + 12 Rust via cargo test)____ +____`cargo test` (285 Rust); the JS suite under `tests/` waits on the AffineScript port (#148)____ How this is implemented:: -`deno task test` runs the Deno test suite (97 tests covering UI components, state management, event-chain import, Anti-Crash gating, Vexometer polling). `cargo test` runs the Rust suite (12 tests covering backend commands, filesystem watching, identity state capture). CI enforces both. +`cargo test --locked --lib -- --test-threads=1` runs the Rust suite: 285 tests across the backend modules in `link:src-gossamer/src/[]` (panel backends, service registry, settings, identity, coprocessor FFI loading, filesystem watching). It runs serially because several tests set process-wide environment variables. CI runs it on every PR. The JS suite under `tests/` is not run: 140 of its 143 files import compiled ReScript output (`src/**/*.res.js`) that #107 removed, and #108 removed `deno.json`. It returns against the AffineScript frontend under #148. Caveat:: These are integration and unit tests, not formal proofs. They verify component behavior, not system-wide soundness. The Typell integration (when wired) will add formal verification for Pane-L constraints. diff --git a/README.adoc b/README.adoc index 2d7c360..e9e37cd 100644 --- a/README.adoc +++ b/README.adoc @@ -127,8 +127,8 @@ Feedback-O-Tron:: | No `node_modules`. URL imports. Secure-by-default permissions. AffineScript/Tailwind run through `npm:` specifiers; no `package.json`. | Testing -| `Bun.test` (97 JS) + `cargo test` (12 Rust) -| Built into the runtime. No extra framework. +| `cargo test` (285 Rust); the JS suite under `tests/` waits on the AffineScript port (#148) +| Built into the toolchain. No extra framework. | Styling | Tailwind CSS 4.x @@ -171,8 +171,9 @@ Feedback-O-Tron:: # Compile AffineScript bun task res:buildbures -# Run tests (97 JS + 12 Rust) -bun task test +# Run tests (285 Rust; the JS suite waits on #148). Serial, as CI runs +# them: several tests set process-wide environment variables. +cargo test --locked --lib -- --test-threads=1 # Development mode (Tailwind + static server + Gossamer) bun task dev diff --git a/TEST-NEEDS.adoc b/TEST-NEEDS.adoc index e4dec64..7bfafcb 100644 --- a/TEST-NEEDS.adoc +++ b/TEST-NEEDS.adoc @@ -35,12 +35,16 @@ governance contracts |Reflexive |22 |tests/reflexive/manifest_test.mjs — manifest consistency, export verification -|Rust smoke |267 |All Rust tests pass (267 total). New smoke tests in: +|Rust smoke |285 |`cargo test --lib`: 285 passing (2026-10-14). Smoke tests in: security, capture, farm, minter, plaza, watcher, workspace, ai, cloudguard, voicetag, hypatia |=== -*Source modules:* ~686 ReScript .res files. 116 Rust files (all +NOTE: The JS rows above cannot currently run. 140 of the 143 files under +`+tests/+` import compiled ReScript output (`+src/**/*.res.js+`) that +#107 removed; they return against the AffineScript frontend under #148. + +*Source modules:* ~686 ReScript .res files. 112 Rust files (all previously-untested crates now have smoke tests). === What Was Added (2026-04-04 CRG C Blitz) @@ -133,7 +137,10 @@ into existing test module existing tests) - `+valence_shell/commands.rs+`: Fixed `+map_or_else+` type annotation (`+Ok::<_, Infallible>+`) -*Total Rust tests after blitz: 267 (all passing)* +*Total Rust tests after blitz: 267.* Correction (2026-10-14): only 23 +of them compiled and ran at the time. The rest sat in modules that no +crate root declared. Since #153 they all run: `+cargo test --lib+` +passes 285. === What’s Still Missing @@ -181,18 +188,19 @@ render) |Models (.res) |~100+ |0 direct |*0%* (requires ReScript build) |Views (.res) |~100+ |0 direct |*0%* (requires ReScript build) |TEA framework |~20 |4 |*20%* -|Rust crates |116 files |267 tests |*smoke coverage* +|Rust crates |112 files |285 tests |*smoke coverage* |=== === CRG Grade Assessment *Before blitz:* D (3.8% coverage, 0 benchmarks, no taxonomy structure) *After blitz:* C+ (Taxonomy structure complete, all taxonomy categories -populated, Rust smoke tests, 267 Rust tests passing) +populated, Rust smoke tests; 285 Rust tests passing as of 2026-10-14) -*CRG C requirements met:* - [x] Unit tests present (120+ JS + 267 Rust) +*CRG C requirements met:* - [x] Unit tests present (285 Rust; the JS +tests wait on #148) - [x] Smoke tests (all Rust crates have at least smoke coverage) - [x] -Build verification (cargo test: 267/267 pass) - [x] P2P property tests +Build verification (cargo test --lib: 285/285 pass) - [x] P2P property tests (tea_properties_test.mjs) - [x] E2E tests (e2e_panel_lifecycle_test.js — 47 tests) - [x] Reflexive tests (manifest_test.mjs) - [x] Contract tests (panel_contracts_test.mjs) - [x] Aspect tests (security_test.mjs) - [x]