Skip to content

Contract Inverse Admission Hook #472

Description

@flyingrobots

Migrated from Method backlog

This issue was created from a legacy filesystem backlog card. GitHub Issues are now the live work tracker; repository docs remain Method evidence.

Source backlog: docs/method/backlog/up-next/KERNEL_contract-inverse-admission-hook.md
Original lane: up-next
Original legend: KERNEL

Original backlog card

Contract Inverse Admission Hook

Status: planned kernel/runtime implementation.

Depends on:

Why now

Undo must be witnessed history. A contract knows how to invert its own domain
semantics; Echo should provide a generic admission hook, not a generic blind
WarpOp inverse API.

What it should look like

Given:

  • target tick, receipt, or range;
  • current target coordinate;
  • contract family;
  • inverse policy;
  • installed contract artifact;

Echo asks the contract to produce one or more inverse intents or a typed
obstruction. Produced inverse intents are admitted normally.

Acceptance criteria

  • Building hello from five insert ticks then unapplying C2 appends one inverse
    tick.
  • Reading at the new frontier is helo.
  • Original C2 remains in provenance.
  • Provenance length increases by one.
  • Inverse receipt links to the target receipt.
  • Unmappable spans, missing receipts, unavailable inverse fragments, and
    contract-version mismatches return typed obstructions.
  • Sequence unapply applies deterministic ordering or reports partial success
    explicitly.
  • TickReceipt inverse blob or inverse fragment digest resolves through
    retention when inverse material is retained.
  • GC, compaction, wormhole, or checkpoint compression either preserves required
    inverse evidence, provides a rehydratable cold archive, or obstructs
    fine-grained unapply inside compressed ranges.

Non-goals

  • Do not delete or rewrite old ticks.
  • Do not expose WarpOp replay patches as user-facing undo semantics.
  • Do not silently succeed when inverse evidence is missing.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions