Phase log 61: CI fixes, dependency bumps, and making the phase numbering true again
Date: 2026-10-09. Version 0.39.0 (unchanged; agents never bump).
Goal
User pasted three CI failure analyses and asked for all to be fixed, then to bump npm packages, fix the README, record phases 34-42 in memory, and remove stale claims.
Current Progress (with evidence)
.github/workflows/exporters.ymlline 418, jobgrafana-probe: apt install nowlibsqlcipher-dev mold. Cause:.cargo/config.tomlpasses-fuse-ld=moldfor x86_64-unknown-linux-gnu and the job had no mold, so rustc failedcollect2: fatal error: cannot find 'ld'. The pasted advice (build-essential) was wrong: gccldis not what is invoked. ci.yml, build.yml and docs.yml already install mold. Not run in CI yet.envv-server/tests/nodes_e2e.rs: 10 sites changed frompath=\"{}\"to the TOML literal stringpath='{}'. Windows temp paths contain\U..., an invalid TOML escape in a basic string. Rejected alternative from the paste: replace\with/(works but edits every call site's data; literal string is a one-character change). Linux:cargo test -p envv-server --test nodes_e2e18 passed. Windows unverified until CI runs..github/workflows/build.ymlartifact download: attempts 3 -> 5, backoffi*20s->i*30s. The HTTP 500 "Request body length does not match content-length" is a transient GitHub error; the existing loop already retried. Rejected: the pasted rewrite (same loop plus2>/dev/null, which would hide the error text).- npm: bumped in-range via one
npm install --save-dev pkg@verper package: @playwright/test 1.64.0, @tauri-apps/cli 2.12.1, @types/node 26.6.4, eslint 10.12.0, globals 17.13.0, jsdom 30.1.2, prettier 3.9.9, typescript-eslint 8.71.1, simple-icons 16.34.0.npm updateand any multi-package install crash withCannot read properties of null (reading 'edgesOut'). vitest and @vitest/coverage-v8 stay 4.1.10 (their 4.1.11 pair fails the same way). Majors skipped: vite 5->8, typescript 5.9->7, vitest 4->5, js-yaml 4->5.npm run check: 88 files, 1497 tests passed after the bumps. - README line 13: "Phases 1 to 39" -> "1 to 40" (the table already had 40). Prettier check passes.
- AGENTS.md: intro now says 0.39.0 / Phases 1-40 done and explains that
Phase Nin commit messages is a batch counter; next phase to allocate is 41 (was 40, wrong since 40 exists); test counts 1,497 TS in 88 files and 708 Rust (sum oftest resultlines ofcargo test --workspace --exclude envvault= 704 plus 4 in envvault); project path is ~/Code/UnENVerse; Immediate Next Steps items 0.5 and 1 replaced (they described a 2026-09 branch and 0.20.0). - MCP memory entity "UnENVerse phases 34-42 (commit scripts vs planned phases)" created from the nine
~/Code/.Trash-1000/files/envvault-commit-phase34..42.ps1scripts (they were moved to the trash by the user).
The bugs that mattered
- The grafana-probe job could never link: every push to exporters.yml was red from that job.
- Windows
nodes_e2efailed all node tests: TOML basic strings treat\Uas a unicode escape. - Stale build cache: after the directory rename EnvVault -> UnENVerse,
cargo test -p envvaultfailedfailed to read plugin permissions: .../Code/EnvVault/target/.... Build scripts of tauri, tauri-plugin-global-shortcut, -shell, -window-state (also ring, aws-lc-*, harmless) had the old absolute path intarget/debug/build/*/output. Fix:cargo clean -p tauri -p tauri-plugin-global-shortcut -p tauri-plugin-shell -p tauri-plugin-window-state(2.7 GiB). Careful: my first try,cargo clean -p envvault, removed 33.2 GiB of the target dir (it did not fix anything) and the rebuild had to start over.
Decisions
- "Phase 42" in git is a commit-batch label from the generated scripts; planned phases end at 40. Rejected: renumbering history. Going forward: plain-sentence commit messages for non-phase work.
- Did not bump major npm versions or the app version.
Dead ends
npm update, multi-packagenpm install: edgesOut crash (npm arborist bug).cargo clean -p envvault: wrong package, huge deletion.
Not done
- No CI run was observed; all three CI fixes are unverified remotely.
- vitest 4.1.11 not applied. Major npm upgrades not attempted.
- Phase 39 live checklist, 31.3 Pages/secret/URL, 24 A4/A9/A10, 24.4 benchmark,
mdbook buildremain the maintainer's.
Traps
- The
Phase Ncommit prefix is not a phase number. phase log 62 is next. - Scripts
envvault-commit-phaseN.ps1are in~/Code/.Trash-1000/files/. cargo test --workspacefails in src-tauri if the target dir predates the rename; see above.- Commit messages for these fixes were handed as a pwsh one-liner; the user commits.