Skip to content

Dark Mode — Antidote, crystallized: the full loop (verify + get paid), revocation-by-cascade, and the verification API #97

Open

Description

@tiliv

Milestone: Dark Mode. The capstone counterpart to #95 ("Atlas, crystallized"): what Antidote is, now that we've given so much correct focus to the movement of data toward paying seekers. It serves every invented party except one — and that exception is the clean seam with Atlas. Durable home: antidote/docs/roles.md. Serializes intent; shape, not settled spec.

The seam: Antidote is the private back-end, Atlas is the public front

The public/private split maps exactly onto Atlas/Antidote. Atlas is public, discoverable, wide-open — looking at it installs anecdote, anybody can walk up, its contents are first-order queryable, residents get the extended reach. Antidote is the back-end serving the interested parties with signed, governed, verifiable records. Antidote is not for the public watchers — that role is Atlas's, already filled.

The parties Antidote serves

Revocation-by-cascade — the data-broker asymmetry inverted

Today, to purge your answer you must chase every holder, and even a willing void has to travel the gravel. Antidote dissolves it: the nonce-holder signs one revocation against the content-id, hands it to Antidote once, and the cascade propagates it downward on the heartbeat windows — each vat carrying the content-id ceases to attest it on its next re-sign, and the plaque erodes. Not deletion (copies can't be forced gone — honest); cease-to-attest, and verifiable because the revocation is signed by the same key that signed the original. Revocation and verification are the same content-id operation — stop attesting this vs. show me where this is attested. And because a share-punched (voided) copy keeps its pre-clip ballotId, even a shared meme can be revoked by presenting the original signature against the content-id.

The two aggregations — claim vs. derivative (resolving the report-artifact question)

We moved one aggregation to Antidote and left one on Atlas — and this is the seam:

Should Antidote accept the Atlas report artifacts? Yes — as a fourth report kind, firmly on the claim side. A report is a signed artifact with a content-id and a constitution, so it enters through the same intake grammar (no new machinery, a kind not a subsystem) as a distinct, opt-in, public-record role — the archival twin of the runoff tray (the runoff holds unasked-for answers; the report archive holds publicly-made claims — the record of what was said, when, powering #95's diff/fracture-tracking). Two guards keep it honest: archived as a claim, never distilled as data (reports never enter the cascade), and archiving is not publishing (publicity stays the Atlas's choice; Antidote keeps the record so a fracture is provable, not to browse). Antidote is not for the public watchers holds.

Guards this adds

  • Claim vs. derivative — Antidote distills license-governed answers; it only archives Atlas's free-form reports as signed claims.
  • Entitlement, not custody — owed-share vouchers, never the payor's funds.
  • Not for the public watchers — constituent / seeker / operator, never a public browsing surface.

Open questions

  • Revocation-cascade cadence + the verification-API shape — the heartbeat-window timing a revocation rides down; the content-id search interface and its access gating (a constituent proving nonce-holdership to query their own reach); how the entitlement ledger stays consistent with revocations.
  • The report kind's exact shape and the charter flag that opts a server into the public-record role.
  • The payment platform's home — Dark Mode — the aggregation "place above": archive-merge across lineage wings, as a POSITION not an operator #88's money-layer note has this graduating to its own component; the entitlement ledger + fingerprint pickup is its seed.

Coupled / see also

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions