Run Common Lisp core regression tests in clean CI #11

Merged
lost-rob0t merged 5 commits from agent/reproducible-core-ci into master 2026-08-16 05:28:25 +00:00
lost-rob0t commented 2026-08-16 05:16:21 +00:00 (Migrated from github.com)

Summary

Implements #9 by making the Common Lisp core regression suite reproducible from a clean GitHub runner and fixing the real hook-contract bugs that the new test gate exposed.

Reproducible dependency boundary

  • Hackmode remains the monorepo.
  • Tek9 remains external and is pinned at 6ff2e40a6f7e3a5eadafef94c2779c74566b7fd7.
  • star-cl / ASDF system starintel remains the external canonical StarIntel schema library and is pinned at b8dfbe2f9f56065ace8c3313b92ca748a115cdfa.
  • cms-ulid is pinned to the exact commit declared by star-cl: fff84302dee5db42fb90aafd834af3ffbfd6c2bb.
  • third-party Lisp dependencies are resolved from a fresh Quicklisp install.

Runtime defects found and fixed

The clean test runner exposed an incorrect nhooks contract:

  • asset/domain/finding hooks that receive arguments must use nhooks:hook-any, not hook-void
  • the asset lifecycle test itself still rebound the event hook to hook-void; that stale test binding is fixed too

Test execution

The core workflow now successfully executes:

(asdf:test-system :hackmode)

This runs the regression coverage added by #8 for:

  • instance-local CLOS state
  • operation create/select/registry close + reopen
  • asset normalize -> deterministic dedupe -> local persistence -> event
  • persisted-row existence before the discovery event fires

Verification

Current head 68d2d4cbdf305030e6afbadb212d0b3e7611fd68:

  • core / common-lisp-core: PASS
  • monorepo / hygiene: PASS

Closes #9.

## Summary Implements #9 by making the Common Lisp core regression suite reproducible from a clean GitHub runner and fixing the real hook-contract bugs that the new test gate exposed. ### Reproducible dependency boundary - Hackmode remains the monorepo. - Tek9 remains external and is pinned at `6ff2e40a6f7e3a5eadafef94c2779c74566b7fd7`. - `star-cl` / ASDF system `starintel` remains the external canonical StarIntel schema library and is pinned at `b8dfbe2f9f56065ace8c3313b92ca748a115cdfa`. - `cms-ulid` is pinned to the exact commit declared by `star-cl`: `fff84302dee5db42fb90aafd834af3ffbfd6c2bb`. - third-party Lisp dependencies are resolved from a fresh Quicklisp install. ### Runtime defects found and fixed The clean test runner exposed an incorrect nhooks contract: - asset/domain/finding hooks that receive arguments must use `nhooks:hook-any`, not `hook-void` - the asset lifecycle test itself still rebound the event hook to `hook-void`; that stale test binding is fixed too ### Test execution The `core` workflow now successfully executes: `(asdf:test-system :hackmode)` This runs the regression coverage added by #8 for: - instance-local CLOS state - operation create/select/registry close + reopen - asset normalize -> deterministic dedupe -> local persistence -> event - persisted-row existence before the discovery event fires ### Verification Current head `68d2d4cbdf305030e6afbadb212d0b3e7611fd68`: - `core / common-lisp-core`: PASS - `monorepo / hygiene`: PASS Closes #9.
Sign in to join this conversation.
No description provided.