Skip to content

feat(app-builder): gate showcase regeneration - #151

Merged
kattsushi merged 1 commit into
feat/app-builder-public-cli-negative-lifecycle-prooffrom
feat/app-builder-pr130-regeneration-gate
Aug 14, 2026
Merged

feat(app-builder): gate showcase regeneration#151
kattsushi merged 1 commit into
feat/app-builder-public-cli-negative-lifecycle-prooffrom
feat/app-builder-pr130-regeneration-gate

Conversation

@kattsushi

Copy link
Copy Markdown
Contributor

Closes #150

Part of #131. Depends on #149 Unit 6B.

PR Type

  • New feature (type:feature)

Summary

  • add a pure typed gate that evaluates the six canonical App Builder evidence classes and exact pinned identities before PR feat(app-builder): regenerate canonical Todo showcase #130 showcase regeneration can become eligible
  • return typed Pr130RegenerationBlocked failures with deterministic ordered reasons for missing, duplicate, mismatched, or stale proof
  • return eligibility only for complete canonical proof, without performing regeneration or granting filesystem, network, GitHub read, or mutation authority
  • retain frozen PR feat(app-builder): regenerate canonical Todo showcase #130 head d5928f99a122b04cb70ff68bfa02fa2d5648a5fc as typed input evidence only

Changes

File Change
packages/app-builder/generation/src/index.ts Export the typed regeneration gate surface.
packages/app-builder/generation/src/regeneration.ts Define canonical evidence, deterministic block reasons, typed blocked failure, and eligibility-only success.
packages/app-builder/generation/tests/regeneration.test.ts Prove complete, missing, duplicate, mismatched, wrong-head, immutable-input, and authority-resistance behavior.

Validation status

Functional, purity, and exact candidate identity checks passed. The final independent validation did not return PASS. Publication proceeds only with the maintainer-accepted residual validation risk disclosed below.

Test plan

  • NX_DAEMON=false pnpm nx run @effectify/app-builder-generation:build --skip-nx-cache: PASS, generation and contracts compiled successfully.
  • NX_DAEMON=false pnpm nx run @effectify/app-builder-generation:typecheck --skip-nx-cache: PASS.
  • NX_DAEMON=false pnpm nx run @effectify/app-builder-generation:test --skip-nx-cache: PASS, 9 files and 36 tests.
  • NX_DAEMON=false pnpm nx run @effectify/app-builder-generation:lint --skip-nx-cache: PASS, 0 warnings and 0 errors across 36 files.
  • NX_DAEMON=false pnpm nx run @effectify/app-builder-cli:test --skip-nx-cache: PASS, 1 file and 9 tests.
  • NX_DAEMON=false pnpm nx run @effectify/app-builder-e2e:test --skip-nx-cache: PASS, 1 file and 4 public E2E tests.
  • pnpm exec oxfmt --check packages/app-builder/generation/src/index.ts packages/app-builder/generation/src/regeneration.ts packages/app-builder/generation/tests/regeneration.test.ts: PASS, check-only.
  • NX_DAEMON=false pnpm nx sync:check: PASS, workspace up to date with no sync generators.
  • git diff --check plus temporary-index git diff --cached --check: PASS.
  • Temporary-index identity proof: PASS for tree 8f029c956efc4dfc6cc7e1a586bd972e9d29939f, full-index binary diff SHA-256 60d9fd344b65a556ec0537a51898f72689370450a00e7120b38c7cc6e4e6cf36, 251 additions, 0 deletions, and exactly three mode-100644 paths.
  • TypeScript AST purity audit: PASS, no filesystem, network, GitHub, process/environment, callback, regeneration, or mutation authority.
  • Acceptance and exploit checks: complete eligibility, deterministic ordering, input immutability, wrong-head and stale mismatch behavior passed; Unit 6 omission remained typed blocked after mutation attempts.
  • Final independent validation: NOT PASS. Report /tmp/effectify-unit7-final-validation.json has SHA-256 f17a6726e63dc79e332955f11f406a1fa1a73243a108083cd074172de6d4aec0 and records the accepted residual findings below.

Accepted residual risk

The maintainer explicitly selected Aceptar riesgo residual and authorized draft publication with transparent disclosure:

  • The private runtime-frozen canonical authority consumed by the gate resisted bypass. Unit 6 remains mandatory, and omitting it continues to return typed Pr130RegenerationBlocked with the exact MissingEvidence reason.
  • Exported Effect schema metadata (literals and members) remains runtime mutable. No eligibility bypass was reproduced because the gate uses its private frozen authority.
  • Two earlier /tmp reports were missing after session interruption, so their JSON and hashes could not be re-verified and evidence lineage remains incomplete. They were not recreated or fabricated.

This acceptance authorizes publication of the exact candidate. It does not convert the final independent report into a PASS.

Contributor checklist

  • Linked approved issue Gate canonical App Builder showcase regeneration #150 and retained Part of #131.
  • Added exactly one type:* label, type:feature.
  • Kept tests with the pure typed gate behavior.
  • Used the conventional commit feat(app-builder): gate showcase regeneration.
  • Included no Co-Authored-By or attribution trailers.

Chain Context

Field Value
Chain App Builder reusable generation kernel, Feature Branch Chain
Tracker issue #131
Position Unit 7
Base feat/app-builder-public-cli-negative-lifecycle-proof at 54b9677b541cdb4fb3f0be11d5b4e77914f8a4c7
Depends on #149 Unit 6B
Follow-up Frozen #130 only after separate authority and review, not performed here
Review budget 251 / 400 changed lines, 251 additions and 0 deletions
Starts at Unit 6B public CLI lifecycle proof in #149
Ends with Pure typed PR #130 regeneration eligibility gate with no mutation authority

Chain Overview

#143 (+ #145) → #147 → #149 → 📍 Unit 7 → frozen #130

Scope

Non-goals

Rollback boundary

Revert commit 7d3493c5352fe81fb4a72277978f398af7ec50cb to remove only packages/app-builder/generation/src/index.ts, packages/app-builder/generation/src/regeneration.ts, and packages/app-builder/generation/tests/regeneration.test.ts changes from Unit 7. This does not touch #149, #131, or frozen #130.

Autonomy

  • This PR has one deliverable scope.
  • This PR stays within the 400-line review budget.
  • This PR can be rolled back through exactly three files without unrelated changes.
  • Functional, purity, and exact identity checks cover this unit.
  • Maintainer acceptance explicitly covers the residual validation risk; the final independent report remains NOT PASS.

@kattsushi kattsushi added the type:feature New feature work label Aug 14, 2026
@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: d5d9dbb2-50cf-47ef-a9b0-a8aac5c8686d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

@kattsushi
kattsushi marked this pull request as ready for review August 14, 2026 14:04
@kattsushi
kattsushi merged commit 32d1562 into feat/app-builder-public-cli-negative-lifecycle-proof Aug 14, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:feature New feature work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant