Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions EXPLAINME-new.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
9 changes: 5 additions & 4 deletions README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
22 changes: 15 additions & 7 deletions TEST-NEEDS.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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]
Expand Down
Loading