docs: re-measure cartridge counts and .so build status (2026-04-30)#42
Merged
hyperpolymath merged 1 commit intomainfrom Apr 30, 2026
Merged
docs: re-measure cartridge counts and .so build status (2026-04-30)#42hyperpolymath merged 1 commit intomainfrom
hyperpolymath merged 1 commit intomainfrom
Conversation
Sweeps the date-stamped historical statements that PR #40 deliberately left out of scope (because they were measurements taken on 2026-04-25 and substituting blind would have been wrong). Now re-measured against the actual repo state on 2026-04-30 after `just build` produced 111 shared libraries from 115 cartridge directories. Files updated: TOPOLOGY.md L4 "Updated 2026-04-25. 112 cartridges across 6 tiers." -> "Updated 2026-04-30. 115 cartridges across 6 tiers (111 with `.so` built, 4 pending)." TEST-NEEDS.md L124 "112 cartridges loaded ... as of 2026-04-25" -> "115 cartridges loaded ... as of 2026-04-30 (111 with `.so` built; the 4 without are database-mcp, echidna-llm-mcp, lang-mcp, orchestrator-lsp-mcp)" ROADMAP.adoc v1.0.1 - cartridge.json + mod.js coverage checkboxes: bumped 112 -> 115 and re-dated 2026-04-30 - "Re-run cartridge matrix build/tests": now [x] (build re-run done; test re-run still deferred and called out) - "Refresh repo documentation claims": now [x] (PR #40 + this PR cover the canonical surfaces) ROADMAP.adoc v1.1.0 ("JS cartridge dispatch") "99 of 106 cartridges use mod.js, not Zig .so" -> "4 of 115 cartridges still use mod.js" — gap closed substantially since the original measurement. docs/ARCHITECTURE.md L138 "Once all 112 cartridges have verified .so builds" -> 115 + parenthetical re-measurement footnote. docs/ARCHITECTURE.md L209-212 (cartridge production status) "1 complete (boj-health), 111 in progress" -> the breakdown is now inverted: 111 with .so built, 4 not yet building. Updated text reflects this. docs/READINESS.md L75 (Cartridge fleet row) Bumped (106) -> (115). Built-libs ratio refreshed (103/106 -> 111/115). Re-assessed date 2026-05-28 -> 2026-04-30. Honestly noted that README counts, FFI test counts, and per-directory annotation were NOT re-verified in this sweep (those numbers are still the last-documented values; flagged for a separate readiness sweep). What this PR deliberately does NOT do: * Re-run mix test / zig test / FFI test counts. The numbers in READINESS.md (113 FFI tests, 178 core tests, 4 believe_me, etc.) haven't been re-measured. They're left as last-documented values with a flag in the row text. Re-running tests is a separate follow-up — see ROADMAP "test re-run still deferred". * Re-count per-directory READMEs (the 393 number). That's a static annotation count; would need a small audit script. * Touch the 4 not-yet-building cartridges (database-mcp, echidna-llm-mcp, lang-mcp, orchestrator-lsp-mcp). Their build failures are out of scope; flagged here so the next investigator has a starting list. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Merged
3 tasks
hyperpolymath
added a commit
that referenced
this pull request
Apr 30, 2026
… mix path in service unit (#43) ## Summary Three of the four sub-parts of the deferred cleanup ledger from PR #40's out-of-scope list. The fourth (port the 6 `.ts` cartridge adapters to AffineScript→typed-wasm) is delegated to a scheduled remote agent that fires 2026-05-07 and runs **one cartridge per pass**, so it stays opportunistic and reviewable. ## Changes | File | Fix | |---|---| | `.github/workflows/hypatia-scan.yml` | Adds job-level `GITHUB_TOKEN` env (Hypatia CLI calls `gh api` for Dependabot lookups; without the token it logs `Dependabot alerts unavailable: GITHUB_TOKEN not set` and the job exits non-zero). Adds `security-events: read` permission. | | `.github/workflows/rsr-antipattern.yml` | "use ReScript instead" → "use AffineScript→typed-wasm instead". Header comment + Allows banner updated to reflect estate-wide language policy 2026-04-30 (RS/TS/JS default is AffineScript; ReScript transitional / adapter-shim only). | | `.github/workflows/ts-blocker.yml` | "port to Zig or ReScript" / "use Zig or ReScript instead" → "Zig (systems) or AffineScript→typed-wasm (application)". Underlying detection unchanged. | | `elixir/boj-rest.service` | Replace hardcoded `ExecStart=/usr/bin/mix` (which is apt's 1.14, fails `mix.exs` `~> 1.15` check on Ubuntu 24.04 LTS) with `ExecStart=mix run --no-halt`. Adds `Environment=PATH` with asdf shims, cargo bin, `~/.local/bin`. Adds `ASDF_DIR` + `ASDF_DATA_DIR` so asdf shims work under systemd's clean env. Bumps cartridge-count comment 112 → 115. | ## Why these specifically PR #40 (spec drift) merged on 2026-04-30 surfaced four follow-up cleanups; this PR closes three of them. The fourth (`.ts` → AffineScript ports) was deliberately scheduled rather than rushed — verifying AffineScript readiness for each cartridge is genuinely per-cartridge work and the scheduled agent does it one at a time. The `boj-rest.service` fix in particular was discovered the hard way during the maintainer's install: the deployed unit needed a hand-patch (`~/.config/systemd/user/boj-rest.service`) to point at `~/.asdf/installs/elixir/1.18.4-otp-25/bin/mix`. Persisting the fix to the source template (with `%h` systemd-substitution + asdf shim PATH) means the next person installing on a fresh Ubuntu doesn't repeat the dance. The three pre-existing CI failures that were blocking PRs #40, #41, #42 are likely partially closed by this PR: - **Hypatia** — should now pass with `GITHUB_TOKEN` wired up. - **TS/JS Blocker** and **antipattern-check** — will *still* fail on the 6 `.ts` cartridge adapters (`academic-workflow-mcp`, `bofig-mcp`, `ephapax-mcp`, `fireflag-mcp`, `hesiod-mcp`, `sanctify-mcp`). Those are the scheduled agent's work. Admin-merge-without-CI is still expected for this PR. ## Test plan - [ ] CI shows Hypatia passing on this branch (GITHUB_TOKEN now available). - [ ] Diff visual review for the policy text — make sure no instance of "use ReScript instead" remains in the workflow files. - [ ] After merge, fresh install on a clean Ubuntu 24.04 LTS host with asdf + the toolchain-pins from PR #41: `bash setup.sh && just doctor && just deps && just build && just install-service` — confirm `boj-rest.service` starts cleanly without the `(Mix) You're trying to run :boj_rest on Elixir v1.14.0` error that was previously hit. ## Out of scope - The 6 `.ts` → AffineScript ports (scheduled, one per week from 2026-05-07, routine `trig_01X9BreihRW4AU5BdELY2QBY`). - Re-running mix test / FFI tests for grade re-validation (READINESS.md still lists the last-documented numbers per the re-measurement PR #42). - The 4 cartridges still without `.so` (`database-mcp`, `echidna-llm-mcp`, `lang-mcp`, `orchestrator-lsp-mcp`) — listed in #42 for follow-up. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
Summary
Re-measures the date-stamped historical statements PR #40 deliberately left out of scope (because they were measurements taken on 2026-04-25 and substituting blind would have been wrong). Now refreshed against the actual repo state on 2026-04-30 after
just buildproduced 111 of 115 cartridge.solibraries.Numbers refreshed
TOPOLOGY.mdL4.sobuilt, 4 pending)."TEST-NEEDS.mdL124ROADMAP.adocv1.0.1 (4 checkboxes)ROADMAP.adocv1.1.0mod.js"mod.js" — the gap closed substantiallydocs/ARCHITECTURE.mdL138.sobuilds"docs/ARCHITECTURE.mdL209–212.sobuilt, 4 not yet building" — actually inverts the breakdowndocs/READINESS.mdL75The 4 cartridges still without
.so:database-mcp,echidna-llm-mcp,lang-mcp,orchestrator-lsp-mcp. Flagged in three places so the next investigator has a starting list.What this PR deliberately does NOT do
READINESS.md(113 FFI tests,178 core tests,4 believe_me, etc.) are last-documented values, not re-measured. The row text inREADINESS.mdhonestly notes this. Test re-run is a separate follow-up.just builderrors are out of scope here; flagged for a follow-up.Test plan
.tsfiles, Hypatia missing GITHUB_TOKEN; admin merge expected, same as those).🤖 Generated with Claude Code