Skip to content

refactor: establish shared foundation for v0.6.0 - #24

Open
takeokunn wants to merge 15 commits into
mainfrom
refactor/shared-foundation
Open

takeokunn wants to merge 15 commits into
mainfrom
refactor/shared-foundation

Conversation

@takeokunn

Copy link
Copy Markdown
Collaborator

Summary

  • pin cl-regex-kit v2.2.0, cl-vcs-kit v0.2.0, and cl-tui-kit v1.0.0 with system-aware sibling derivations
  • group package definitions into explicit ASDF modules while preserving serial load order
  • establish shared CPS macroexpand and timeout contracts, including 3600s external-command and 300s command-substitution defaults

Verification

  • nix flake show --all-systems --no-write-lock-file (exit 0)
  • sbcl ASDF load of nshell.asd (exit 0)
  • paredit inspect check on all changed Lisp/ASD files (exit 0, 9 files)
  • standalone CPS macroexpand contract (exit 0)
  • standalone timeout API contract (exit 0)
  • full test suite and Nix syntax build were attempted but blocked by a busy shared Nix SQLite database; full CI remains authoritative

Scope

Wave 0 only: baseline, dependency pins, ASDF modules, and shared CPS/test/timeout foundation. No merge or release performed.

@takeokunn

Copy link
Copy Markdown
Collaborator Author

Independent review found blocking gaps; do not merge yet.\n\n1. PTY coverage is skipped in CI: t/helpers-runner.lisp:60-70 makes skip-when-pty-round-trip-unreliable skip whenever CI is set, and t/integration/test-pty.lisp:386-406 places the important pty-open-write-read-close round-trip behind that macro. The observed CI result is 2329 selected, 2328 passed, 1 skipped, so a PTY regression can pass all required jobs. Please provide a deterministic CI PTY verification path (or an equivalent explicitly gated job) and make the gate fail when the required PTY check is unavailable.\n\n2. Timeout predicate mutation survives: src/infrastructure/acl/timeout.lisp:9-13 is covered only by truthy default checks at t/unit/test-execute-pipeline.lisp:443-447 and 606-610. Replacing timeout-seconds-p with a constant true result leaves the suite green; negative/non-numeric/non-finite inputs are not asserted. Add boundary contract tests and reject non-finite values if the predicate promises finite timeouts.\n\n3. The launch acceptance condition requires removing macOS/ARM system evaluation, but flake.nix:176-179 still declares aarch64-darwin. CI has no macOS job, but the flake still evaluates that platform. Remove it or explain and update the acceptance condition before merge.\n\nCI evidence: all four Ubuntu x86_64 checks pass, but the skipped PTY test means this is not sufficient evidence for merge.

This branch has not been deployed

No deployments
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