Skip to content

chore: establish production foundation - #43

Merged
takeokunn merged 5 commits into
mainfrom
refactor/foundation
Oct 3, 2026
Merged

takeokunn merged 5 commits into
mainfrom
refactor/foundation

Conversation

@takeokunn

@takeokunn takeokunn commented Oct 2, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • update pinned nerima-lisp dependencies and ASDF version constraints
  • move root and package tests to t/ and update manifests/checkers
  • expand coverage reporting to package sources with bounded per-test execution
  • bound PTY termination after closing the master and add a regression test
  • register the coverage report as a flake check
  • preserve the cl-tui-kit patch because upstream bounded datum is not fixed yet

P0 evidence

  • P0.1 baseline: scripts/checks/manifest-check.lisp reports 247 declared and 247 on-disk tests; scripts/checks/suite-structure-check.pl . scans 392 tests; first-frame control/attach measurements and their noise-floor interpretation are recorded in docs/src/benchmarks.md. No key-update benchmark exists, so it remains explicitly unmeasured.
  • P0.2 dependency/CLI: pins and ASDF constraints are updated; kill --force is covered by the startup argument path and E2E scenario.
  • P0.3 forge/flake: both system evaluations pass in the no-build flake evaluation; the cl-tui-kit bounded-datum patch remains at flake.nix.
  • P0.4 coverage/deadlock: coverage includes root and package source roots, rejects empty selections/assertions, requires a non-empty report, and is now a flake check. The deadlock path was PTY master close followed by unbounded sb-ext:process-wait; pty-close now uses status/PID polling with a five-second deadline and errors on timeout.
  • P0.5 test move: manifest is 247/247 and suite structure scans 392 files; rename-only content was preserved.

Verification

  • nix flake check --no-build --no-update-lock-file: passed; coverage check evaluates on aarch64-darwin.
  • sbcl --script scripts/checks/manifest-check.lisp: passed, 247/247.
  • perl scripts/checks/suite-structure-check.pl .: passed, 392 files scanned.
  • git diff --check: passed.
  • PR CI before this review passed: nix flake check, end-to-end smoke, and real-PTY tests.
  • A local filtered PTY run was attempted but interrupted after the Nix daemon produced no output for over 90 seconds; post-fix runtime verification is delegated to the new CI run.

EXT-1

EXT-1 remains required. cl-tui-kit v4.1.3 does not provide the bounded-datum fix used here, so the minimal nerimux-side patch remains necessary. Remove it only after an upstream release contains the fix and the downstream build passes without the patch.

W1 collision globs

Wave 1 tracks can collide on shared test/build surfaces if broad globs are used: flake.nix, flake.lock, nerimux.asd, system/asdf-test-components.lisp, .github/workflows/**, root t/**, and package ASDF files packages/*/*.asd. Unit-owned source/test globs are disjoint only when restricted to their listed package or src file set; packages/*/t/** must not be claimed globally.

Follow-up

  • rerun full Nix build/test and CI after the review fix
  • merge only after the new SHA is green

@takeokunn
takeokunn merged commit 5a6bd5c into main Oct 3, 2026
3 checks passed
@takeokunn
takeokunn deleted the refactor/foundation branch October 3, 2026 01:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant