Skip to content

feat: entity lifecycle / terminality (Gone is a verdict) - #38

Closed
jamesfgibbons wants to merge 3 commits into
docs/consuming-layer-lawfrom
docs/entity-lifecycle-v1
Closed

feat: entity lifecycle / terminality (Gone is a verdict)#38
jamesfgibbons wants to merge 3 commits into
docs/consuming-layer-lawfrom
docs/entity-lifecycle-v1

Conversation

@jamesfgibbons

Copy link
Copy Markdown
Owner

LANE: doctrine · entity_lifecycle
IS: Portable Entity Lifecycle contract + ten invariants + collapse detector.
IS-NOT: Signal Contract v1 mutation; 20th CheckCatalog check; SERPRadio 410 product fix; aviation vocabulary in the protocol; first-screen rewrite.

Companion laws (keep the first):

  • Do not let the consuming layer invent truth.
  • Do not let one truth domain revoke another truth domain's existence.
  • Absence is scoped. Terminality is explicit.

Stacked on #37 (which stacks on #36). Merge order: #36#37 → this.

constitutional-cms lifecycle-check exit 1 on collapse (child 404→parent 410, withheld claim→410, seasonal inactive→retired, unknown→gone). Lawful concurrent states (active market + seasonal-inactive service + unmeasured fare + 200 page) pass. Catalog remains 19 checks.

SERPRadio 410/timing override remains Claude's product pen. This is the protocol lesson production supplied.

Law vs heuristic vs Chair gate. Inverse of hub_to_children:
children_require_hub as soft_warn only. Not a CheckCatalog check
and not a work-ordering scheme.
Spell the universe law: architecture-based anti-hallucination for
publish surfaces. Reduces unauthorized certainty, not all slop.
Write agents write; if the field is missing, fix the producer.
Companion law: one truth domain must not revoke another.
HTTP 410 requires explicit terminal authority and a receipt.
lifecycle-check detects authority collapse. Not a catalog check.
Signal Contract v1 unchanged. Domain Adapter owns vertical vocabulary.
@jamesfgibbons

Copy link
Copy Markdown
Owner Author

Closing as overlapping #39 (contracts/entity_lifecycle.yaml), which already landed on main.

Same lesson: 410 is a verdict; one truth domain must not revoke another. Do not keep entity_lifecycle_v1.yaml beside entity_lifecycle.yaml (H11: one intent, one contract file).

Essays and MarTech gloss continue on #36#37#40, rebased onto current main. CLI lifecycle-check from this PR is not carried forward; detection on main is tests/test_entity_lifecycle_contract.py.

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