docs+build: re-derive status from the code (λδ, bridge, CI, PWA) and fix the Justfile#46
Merged
Conversation
… dead recipes A clean checkout could not go straight to `just test`: the UI tests import generated *.res.js and the wasm bindings, so type-checking failed with four TS2307 errors. Declare the real dependencies (test -> build -> build-wasm). Both builds are incremental; a warm no-op costs ~0.45s, so the chain is not a tax on the inner loop. Add `test-rust` for the Rust-only loop. `just check` ran a weaker clippy than rust-ci.yml (no --all-targets, no --features wasm, and from core/ rather than the workspace root), so it could pass locally while CI failed. Mirror the workflow exactly. `just doctor` did not check the wasm toolchain — the one thing that actually blocks the browser build. Check the wasm32 target and compare the wasm-bindgen CLI against the wasm-bindgen crate in Cargo.lock, since a version mismatch fails the build with a confusing schema error; report the exact fix command. `crg-grade` and `crg-badge` were dead on arrival: they used Make-style `$$(...)`, but just passes `$` through unescaped, so `$$` expanded to the shell PID and `(` was a syntax error under sh. Both failed 100% of the time. Rewrite as bash shebang recipes, matching the wiki-sync style already in this file. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…I, and PWA TOPOLOGY.md predated the three LambdaDelta merges (#35, #36, #43) and never mentioned λδ at all. Because it is the status source, every downstream doc inherited its figures — including the wiki landed in #45. Re-derive the countable facts from the tree and correct the cascade. TOPOLOGY was understating the project on six axes: - λδ substrate absent entirely. It is built, not planned: reader, value model, evaluator + Budget sandbox, hygienic macros, multimethods, prelude, and the notebook host seam — ~3,400 LOC excl. tests, ~64% of the core, its largest subsystem. Added as its own dashboard row. - "12 passing unit tests" -> 90 (81 unit + 3 exchange + 2 golden + 2 property + 2 doc). - WASM bridge "40%, in progress" -> wired and exercised. Main.res loads the wasm at boot, WasmStore binds 21 of 31 exports, and ui-ci runs a TEA<->WASM contract test against the real bundle. - CI "10%, landing in a parallel workstream" -> rust-ci.yml and ui-ci.yml have been load-bearing since #22, SHA-pinned and green on main. - Web/PWA "no service worker yet (planned)" -> service worker, webmanifest and icon ship and are registered in Main.res (#27). - UI "no drag-and-drop; GraphView placeholder" -> note drag is implemented and GraphView renders a circular layout. Overall ~35% -> ~65%. The critical path has moved off the WASM bridge and onto the UI surface: 10 exports are unbound in ReScript, including both λδ entry points, so the substrate is reachable from JS but nothing calls it. Also corrects a mixed-basis error this author introduced in #45: λδ was reported as "~76% of the core" by dividing 4,049 LOC (with tests) by 5,344 (without). Like-for-like it is 3,407/5,344 = ~64%. READINESS: the facts were wrong (12 tests, "no UI tests yet", "product CI landing"). Corrected. All three Path-to-C criteria now appear met; the grade is assigned by audit, so it is left at D with a re-audit flag rather than self-promoted — `just crg-badge` publishes that letter. ROADMAP: every item in the "current sequencing" block has shipped. Marked done and replaced with the actual next sequencing. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
🔍 Hypatia Security ScanFindings: 68 issues detected
View findings[
{
"reason": "Issue in scorecard.yml",
"type": "missing_workflow",
"file": "scorecard.yml",
"action": "create",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "Issue in boj-build.yml",
"type": "missing_timeout_minutes",
"file": "boj-build.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in casket-pages.yml",
"type": "missing_timeout_minutes",
"file": "casket-pages.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in casket-pages.yml",
"type": "missing_timeout_minutes",
"file": "casket-pages.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in codeql.yml",
"type": "missing_timeout_minutes",
"file": "codeql.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in dogfood-gate.yml",
"type": "missing_timeout_minutes",
"file": "dogfood-gate.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in dogfood-gate.yml",
"type": "missing_timeout_minutes",
"file": "dogfood-gate.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in dogfood-gate.yml",
"type": "missing_timeout_minutes",
"file": "dogfood-gate.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in dogfood-gate.yml",
"type": "missing_timeout_minutes",
"file": "dogfood-gate.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in dogfood-gate.yml",
"type": "missing_timeout_minutes",
"file": "dogfood-gate.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
}
]Powered by Hypatia Neurosymbolic CI/CD Intelligence |
hyperpolymath
marked this pull request as ready for review
July 17, 2026 04:11
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Why
TOPOLOGY.mdpredated the three LambdaDelta merges (#35, #36, #43) and never mentioned λδ. Because it is the status source, every downstream doc inherited its stale figures — including the wiki landed in #45. This re-derives the countable facts from the tree and corrects the cascade, then fixes the Justfile gaps found along the way.TOPOLOGY was understating the project on six axes
Main.resloads the wasm at boot,WasmStorebinds 21 of 31 exports, ui-ci runs a TEA↔WASM contract test against the real bundlerust-ci.yml+ui-ci.ymlload-bearing since #22, SHA-pinned, green on mainMain.res:88, #27)View.res:397); GraphView renders a circular layoutOverall ~35% → ~65%. The critical path has moved off the WASM bridge onto the UI surface: 10 exports are unbound in ReScript, including both λδ entry points (
lambdadeltaEval,evalLambdadelta) — the substrate is reachable from JS but nothing calls it.Also corrects a mixed-basis error I introduced in #45: λδ was reported as "~76% of the core" by dividing 4,049 LOC (with tests) by 5,344 (without). Like-for-like it is 3,407/5,344 = ~64%.
Justfile
just testcould not work on a clean checkout — the UI tests import generated*.res.jsand the wasm bindings, so type-check failed with 4TS2307errors. Nowtest → build → build-wasm. Warm no-op costs ~0.45s, so it is not a tax on the inner loop; addedtest-rustfor the Rust-only loop.just checkwas weaker than CI (no--all-targets, no--features wasm, ran fromcore/) — it could pass locally while CI failed. Now mirrorsrust-ci.ymlexactly.just doctorignored the wasm toolchain — the one thing that actually blocks the browser build. Now checks the wasm32 target and compares the wasm-bindgen CLI againstCargo.lock, printing the exact fix command on drift.crg-gradeandcrg-badgewere dead on arrival — Make-style$$(...)under just/sh expanded$$to the shell PID, so(was a syntax error. They failed 100% of the time. Rewritten as bash shebang recipes.Verification
just check— pass (now compiles thewasmfeature, which the old one never did)just testfrom a fully cleaned tree (noweb/wasm, no*.res.js) — rebuilds and passes 90 Rust + 10 UIjust doctor,crg-grade(→D),crg-badge— all run; doctor's FAIL path verified by hiding wasm-bindgen fromPATHasciidoctorrenders README/ROADMAP/QUICKSTART-DEV clean;just wiki-sync drystill previews correctlyDeliberately not done — needs your call
READINESS.mdgrade D is probably stale. All three Path to C criteria now appear met (product CI on every PR ✅, UI tests in CI ✅, WASM bridge built + smoke-tested ✅). The grade is assigned by audit, so I corrected the facts and flagged a re-audit rather than self-promoting.just crg-badgepublishes that letter, so the badge is currently understating the project.must-spdx-headersis a broken gate (pre-existing, untouched here). It runsfind . | head -20, so it checks an arbitrary, readdir-order-dependent fifth of the tree and walks vendorednode_modules/. It currently fails on@rescript/react's own.resfiles — every tracked source file does have SPDX. Worse,contractile.justhas drifted from its source:contractiles/must/Mustfile.a2mlcontains nospdx-headersrule at all, and itsno-hardcoded-pathsrule (severity: critical) is missing from the generated file. Thecontractiletool isn't installed to regenerate, and this is your standards ecosystem — so I left it alone.🤖 Generated with Claude Code