Skip to content

docs: TicketIntent contract v1alpha1 + three-way Linear writer split - #138

Closed
todie wants to merge 4 commits into
mainfrom
docs/actuator-contracts
Closed

docs: TicketIntent contract v1alpha1 + three-way Linear writer split#138
todie wants to merge 4 commits into
mainfrom
docs/actuator-contracts

Conversation

@todie

@todie todie commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

The two contract docs from the 2026-08-16 ecosystem rulings (S1–S23 ratified wholesale):

  • docs/ticket-intent-contract.md — actuator seam: linear-ticket-intents queue (retry+DLQ, distinct from the session-event queue's ack-anyway), HMAC envelopes, dedupKey idempotency (Linear-as-ledger), create-only consumer with per-write verify, DLQ taxonomy, and the gate-of-record ruling: godseat attestation mandatory for every producer; cortex's internal guard is additive, never a substitute.
  • docs/writer-split.md — three-way ownership partition (soma funnel / linearctl operator / terrarium release CI) with the terrarium writer inventory folded in, the updatedAt hazard resolution, the attribution open item, and the enforcement map.

Docs only — no code. §7 of the contract states plainly the intent consumer is not yet implemented. Should merge AFTER #136 and #137 so the enforcement map's merge claims are true at merge time.

todie added 4 commits August 16, 2026 06:01
Ecosystem program rulings 2026-08-16, ratified wholesale (S1-S23):

- docs/ticket-intent-contract.md — the actuator-seam contract: dedicated
  linear-ticket-intents queue (retry + DLQ semantics, opposite of the
  session-event queue's ack-anyway), HMAC-enveloped bodies, dedupKey
  idempotency with Linear-as-ledger provenance footers, create-only
  consumer semantics with per-write verify, and the gate-of-record rule:
  godseat attestation is mandatory for EVERY producer — cortex-originated
  intents are godseat-gated in addition to cortex's own guard.
- docs/writer-split.md — the ownership partition across the three
  automated Linear writers (soma WorkSource funnel, linearctl operator,
  terrarium release CI), folding in the terrarium writer inventory:
  Release objects are terrarium-exclusive and out of guardrail scope;
  the updatedAt hazard resolution (terrarium filters soma-ingest ids
  from issueReferences, test skipped as ruled); the attribution open
  item (soma + terrarium key identities unresolved); the stop-and-
  escalate collision rule.
…ences filter, stub-verified only; updatedAt question stays open
…drawn

Terrarium lane correction (self-reported): the 'unverifiable read-only'
premise behind the issueReferences containment was false — linearctl show
exposes updatedAt for completed issues. Measured against the live v1.1.0
release sync (5 referenced issues, 3 states, 2 teams, all updatedAt 9-22d
older than the sync): releaseSync issueReferences does NOT bump
issue.updatedAt. Spot-verified independently in this lane.

Resolution re-taken on the measured premise: the containment filter
(terrarium PR #208) is WITHDRAWN — it ships two known defects to defend a
measured-absent risk. History kept in-section; reopens if releaseSync
semantics change. Surfaced to the operator via the program plan.
…ts MAC coverage, freshness + dedup replay story)
@todie

todie commented Aug 16, 2026

Copy link
Copy Markdown
Contributor Author

Closing WITHOUT merge, deliberately: this repo is public, and these two docs are estate-internal material (multi-writer architecture, governance mechanisms, program references) — the same disclosure class that forced this repo's 2026-07-29 history rewrites. The contracts are ratified and live on in the estate program directory (ecosystem-2026-08-16/ticket-intent-contract.md + writer-split.md); the enforceable parts land in code via #136/#137. Flagged by the pre-merge review, finding 3.

@todie todie closed this Aug 16, 2026
@todie
todie deleted the docs/actuator-contracts branch August 16, 2026 11:55
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