test(dogfood): full package-lifecycle gate for package-first authoring (ADR-0070 D3/D4/D5)#2358
Merged
Conversation
…g (ADR-0070 D3/D4/D5) The existing dogfood gate only proved the D1/D2 backstop (kernel rejects a runtime-only create into a read-only code package with `writable_package_required`). ADR-0070's other guarantee — "the package is the authoring & delete unit" — was only ever live-verified by hand. This promotes that manual dogfood into an automated proof against the real booted stack: - D3/D4 full chain: create -> bind -> publish -> editable -> discoverable (getMetaItems by package) -> delete-cascade (deletePackage empties the base). The "editable" step guards the #2252 read-only-after-publish trap directly. - D5 migration: reassignOrphanedMetadata rebinds a legacy package-less row (the #2252/#1946 stopgap shape: package_id = null) onto a base. - D4 duplicate: duplicatePackage clones ACTIVE items into a new base, re-namespacing object names and rewriting intra-package references. Regressing deletePackage / duplicatePackage / reassignOrphanedMetadata now turns this red, alongside the original D1 backstop. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
📓 Docs Drift CheckNo hand-written docs reference the 1 changed package(s). ✅ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Extends the ADR-0070 dogfood gate from the D1/D2 backstop alone to the full package-lifecycle contract, against the real booted stack.
Until now
package-first-authoring.dogfood.test.tsonly proved D1/D2 (the kernel rejects a runtime-only create into a read-only code package withwritable_package_required). ADR-0070's other guarantee — "the package is the authoring & delete unit" (D3/D4/D5) — was only ever live-verified by hand (the ADR'sapp.iojndogfood). This closes the Epic #2278 "Dogfood gate" item by automating that chain.New coverage (3 added blocks, all green)
create → bind → publish → editable → discoverable → delete-cascade:package_id, never orphaned)getMetaItems({ packageId })— not lost in a null bucketdeletePackageempties the basereassignOrphanedMetadatarebinds a legacy package-less row (the fix(objectql): don't stamp runtime-authored metadata into a loaded code package #2252/chore(spec): prune 7 dead field governance/compliance props (dead-surface plan) #1946 stopgap shape,package_id = null) onto a baseduplicatePackageclones ACTIVE items into a new base, re-namespacing object names and rewriting intra-package referencesRegressing
deletePackage/duplicatePackage/reassignOrphanedMetadatanow turns this red, alongside the original D1 backstop.Notes
@objectstack/dogfoodpackage → no changeset.sys_metadatastore (what every lifecycle method reads), so the checks are deterministic.5 passed (5).🤖 Generated with Claude Code