Skip to content

feat(ci): verify the installed tarball in a clean home - #51

Merged
entelecheia merged 5 commits into
mainfrom
feat/40-installed-package-smoke
Oct 24, 2026
Merged

entelecheia merged 5 commits into
mainfrom
feat/40-installed-package-smoke

Conversation

@entelecheia

@entelecheia entelecheia commented Oct 24, 2026 •

Copy link
Copy Markdown
Member

Refs #40
Refs #13

The README opens with install, setup preview/person apply, candidate review and session-end/manual ingest cadence.

CI's Ubuntu/macOS matrix gains an installed-artifact smoke after the unchanged budget steps. It packs this checkout, installs the local tarball offline under a fresh HOME, and runs the installed .bin/amem alias outside the checkout. Public-API fixture seeding also resolves inside that artifact.

The smoke verifies:

  • version/help and all-target setup preview, including the installed entry in registration commands;
  • a complete before/after HOME snapshot (path/type/size/mode, regular-file SHA-256 and symlink target), plus six instruction/rule sentinels and native-client traps;
  • MCP initialize, tools/list descriptions and exactly one seeded curated search hit; every captured message rejects the legacy program name, including underscore forms;
  • quiet PostToolUse output, exactly one newly appended hook metric, AND this run's distinct event marker in a capture row or a committed root/capacity hook-spool record. Metric-only fail-open outcomes refuse.

Child config/cache/tmp/home paths are isolated; credentials and agent authority variables are not inherited. The smoke disables only the Bun runtime transpiler cache, whose .pile files otherwise changed HOME during setup module loading. The whole HOME comparison has no excluded paths. Existing R2/R3 environments, thresholds, counts and advisory policy remain unchanged. Owned command groups use a cached three-second reap deadline and bounded cleanup.

Validation at 7e59115, based on main 8350589:

  • Frozen install, TypeScript and boundary pass: boundary: OK (71 source files).
  • Guards/argv checks: 17 pass, 0 fail (116 assertions).
  • Actual macOS offline packed-install smoke passes with durable hook evidence and unchanged HOME.
  • Two actual installed-copy faults refuse at their intended guards: throwing capture staging despite its fail-open metric, and an undeclared setup HOME write. Both private HOME trees are removed. Checkout product files are unchanged; the script-only afterInstall fixture seam is not exposed through CLI/env.
  • Full suite: 1258 pass, 2 skip, 0 fail; 1260 tests across 130 files (211.08s), plus npm pack dry-run (79 files).
  • Native hooks R2 passes: max workload p95 48.24ms / peak 79.94MB; timeout probes pass, zero stalled attempts/retained processes.
  • Native MCP R3 passes: idle 47.83MB / peak 176.70MB, correct corpus/results, EOF child reaped.
  • Fresh-main diff check lists only the four delivered files; OCR/diff checks completed.

DGX SSH was unreachable, so a local Linux leg did not execute. Ubuntu/macOS CI remain required before merge, including AC11. No real-home configuration mutation, account/model turn or publication was performed.

Approved-review nit delta at b9b8df1:

  • Snapshot capture ids and normalized published-spool identities before the hook; only new records qualify, including across capacity/draining renames. Unknown snapshots refuse.
  • Check the installed entry in every client hook command.
  • Preserve the first command error if cleanup also fails; cleanup-only failures remain hard.
  • Frozen install, TypeScript, boundary, actual installed smoke and both installed-copy fault probes pass. Focused guards: 19 pass, 0 fail, 131 assertions. Full suite: 1260 pass, 2 skip, 0 fail (1262 tests, 130 files, 208.00s); pack dry-run: 79 files.
  • R2/R3 measurements above belong to 7e59115; this script/test-only delta does not change product or budget code. Exact-head Ubuntu/macOS CI remains required.

Copilot AI balanced review requested due to automatic review settings October 24, 2026 13:34
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-24T13:37:17.684842Z bb1388e PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

@entelecheia
entelecheia merged commit 206aa37 into main Oct 24, 2026
2 checks passed
@entelecheia
entelecheia deleted the feat/40-installed-package-smoke branch October 24, 2026 14:56
entelecheia added a commit that referenced this pull request Oct 24, 2026
Bump the version in package.json, the Claude plugin manifest and the README,
and close the 0.7.0 CHANGELOG section. Add the entries the feature PRs left
out: amem setup and the installable plugin (#44, #47), the quick start and
installed-package CI test (#51), and the CI timing fix (#50). A minor bump,
because the release carries features (agent-mem#40 phases S1-S4).

Refs #40

Claude-Session: https://claude.ai/code/session_01MDXVvrF64ERdoHVyAuVG4t
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.

2 participants