Skip to content

fix(release): verify root consumers from packed tarball - #292

Draft
seonghobae wants to merge 15 commits into
mainfrom
fix/packed-root-consumer-isolation-291
Draft

fix(release): verify root consumers from packed tarball#292
seonghobae wants to merge 15 commits into
mainfrom
fix/packed-root-consumer-isolation-291

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Closes #291.

Current authoritative boundary

Protected shipped truth is exact main@3b38ead2d00f44eb578d0689087b9293b3dabe1e. This Draft remains the canonical single writer for tests/package/verify-package.mjs plus src/packedRootConsumerIsolation.test.ts. Current exact head is 147f317ca07d8fccf6b69ff220aba0bf971837ce on fix/packed-root-consumer-isolation-291. Earlier body claims naming bfdd218caf41575cf750dcb03172a6896c4ee567, e0da9e3fa6a3f8dca13fa929532ba4dd6afa1ffa, older protected main, or their workflow generations as current are predecessor evidence.

This is release-evidence integrity only. It adds no registry install, workspace link, lifecycle-script execution, network, credential, database, model/provider, transport, persistence, authorization, tenancy, deployment or durable-audit authority.

Test-first lineage

  • First test-only 1e6705ed39b18161cf874bffec5e0d3bd88710c9 failed in test setup and is rejected as product evidence.
  • Corrected RED 065346eb01a7ee4740ce4086c6cc15e8d91a7114, CI 31653280023, proved the verifier used npm pack --dry-run plus repository self-reference instead of an extracted package.
  • First implementation e9cf52a92ec14acd1f9330de04503fbd3d4f9dd3, CI 31654244618, exposed a second real defect: a temporary consumer nested under the repository package scope still resolved the package name back to the checkout.
  • The repair creates one real npm pack --json --ignore-scripts --pack-destination tarball, validates inventory from that exact archive, extracts those bytes beneath an isolated consumer node_modules, gives the consumer a distinct nearest package scope, and proves ESM/CommonJS/subpath/strict-TypeScript consumers resolve from the extracted package rather than the checkout.
  • A later exact-current inspection exposed a validation-to-use gap: the verifier proved a resolved module entry was contained by the packed package and then executed a fresh package-name resolution. The current test-first contract requires ESM/CommonJS execution to use only the exact canonical module entries that passed containment validation; current implementation imports/requires those validated canonical paths directly.

Exact-current-head evidence

For exact head 147f317ca07d8fccf6b69ff220aba0bf971837ce against live protected main@3b38ead2d00f44eb578d0689087b9293b3dabe1e, at the latest fresh refetch:

  • CI 32445567032: completed / success; build/test checked out the exact head, the packed-entry contract passed, 145 files / 834 tests passed at 100% aggregate statement/branch/function/line coverage, and verify:package executed the changed verifier successfully;
  • SAST Semgrep 32445566914: completed / success;
  • Security Scan 32445566963: completed / success;
  • qualifying independent approving reviews: absent;
  • unresolved inline review threads: 0;
  • GitHub reports the Draft mergeable.

All observed repository-owned exact-head workflows are terminal success. Repository exact-head technical success is not qualifying independent approval and does not replace separately applicable central workflows or protected integration. No predecessor evidence transfers; absent review remains non-passing.

Integration boundary

Keep Draft/unmerged while #118 owns the exact protected v0.6.0 release/publication boundary. Before any lifecycle transition refetch exact head/live base, rules/permissions, reviews/threads and all applicable repository/central workflows. Do not self-approve, weaken gates, transfer predecessor evidence, move protected main or represent this active-PR verifier as shipped release evidence.

@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@opencode-agent opencode-agent Bot added area: ci-cd CI, GitHub Actions, checks, release, or supply chain priority: medium Normal-priority or P2 work status: draft Draft pull request type: bug Defect or incorrect behavior labels Aug 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ci-cd CI, GitHub Actions, checks, release, or supply chain priority: medium Normal-priority or P2 work status: draft Draft pull request type: bug Defect or incorrect behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(release): execute root consumers against the packed tarball

1 participant