Skip to content

fix: isolate recipe authority by kitchen activation - #5278

Merged
Trecek merged 17 commits into
developfrom
impl-kitchen-activation-20261014-081754
Oct 14, 2026
Merged

Trecek merged 17 commits into
developfrom
impl-kitchen-activation-20261014-081754

Conversation

@Trecek

@Trecek Trecek commented Oct 14, 2026

Copy link
Copy Markdown
Collaborator

Closing and reopening a kitchen within a fixed campaign previously reused the retired recipe namespace, preventing fresh recipe delivery. This change mints a typed activation identity for each open lifecycle and keys recipe artifacts, generation records, and page-plan caches by it. Campaign lineage and captured values stay available across reopen, while retired pull handles and initialization/execution credentials remain invalid.

The existing identity authority now owns retirement as well as activation. Regression tests cover same-campaign reopen, active-open reseeding, sibling contexts, and retirement failures. The authority guard prevents additional mint/retirement sites, persistence failures log their cause, and the glossary documents the identity lifetimes.

Validation:

  • Both implementation parts independently passed pre-commit run --all-files and the configured task test-local-gate via MCP.
  • Final gate: 51,451 passed, 617 skipped, 29 xfailed.
  • Linux and macOS type checks passed.
  • Separate temporary source mutations for unauthorized minting and retirement each failed only the authority guard. Both mutations were restored before the final passing gate.

Closes #5270.

@Trecek
Trecek added this pull request to the merge queue Oct 14, 2026
Merged via the queue into develop with commit 1c674b3 Oct 14, 2026
14 checks passed
@Trecek
Trecek deleted the impl-kitchen-activation-20261014-081754 branch October 14, 2026 23:44
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