Skip to content

A record promoted from a workspace cites the message it came from by a typed reference that validates in every checkout and resolves only where the store is held

A record promoted from a workspace cites the message it came from by a typed reference that validates in every checkout and resolves only where the store is held

majordomus://adr/adr-0211proposed providers-economicschatgpt-project

it references

referenced by

211. A record promoted from a workspace cites the message it came from by a typed reference that validates in every checkout and resolves only where the store is held

Context

ADR 0032 makes synced content checkout state and promotion a person's act, but gives a promoted record no way to say where it came from. The 2026-10-18 import produced hundreds of records whose sources are conversation#index. Two existing facts constrain the answer: rule project.never-store-transcripts forbids a record summarising a conversation, and a reference resolved against checkout-local state fails every other checkout (adopter report 2026-10-18 on task: references).

Decision

One reference grammar, declared once and inlined by majordomus generate into the ADR, knowledge, intent, milestone and issue schemas, serves all five; each kind admits its own declared subset (plan records only tracked-resolvable types, knowledge keeps task:) and keeps its own origin semantics. The grammar gains workspace:<workspace-id>/<conversation-id>#<message-id>. Validity is structural against the tracked workspace declaration; resolution goes through the one workspaces capability and answers resolved, not-held-here or gone-upstream. A digits-only message is a positional reference, accepted and flagged until pinned. The reference carries the upstream conversation id, which needs the owner's own sign-in to open. /ui links it; the published site prints it as text.

Alternatives rejected

  • A summary or quote of the message in the record (rule project.never-store-transcripts)
  • A hashed local id only (unopenable by a person in the vendor UI without the store)
  • Resolving at validation time (fails every checkout without the store)
  • A new 'source' or 'conversation' noun (rule project.no-new-nouns; the workspace noun exists)

Consequences

The plan schemas change; the import's records need a pinning pass; the drill-back works only for the operator who holds the store, by design.

Sources

Promoted on 2026-10-18 from the owner's ChatGPT project (workspace chatgpt-majordomus, issue I3100). The owner has not accepted it; it is proposed for the owner's decision.

  • chatgpt-majordomus:c267#2

Where this comes from

canonical file
.ai/repo/adrs/0211-a-record-promoted-from-a-workspace-cites-the-message-it-came-fro.md
identity
adr-0211
also served as
MCP resource majordomus://adr/adr-0211 · majordomus entity show adr/adr-0211 · GET /api/v1/entity?uri=majordomus://adr/adr-0211
in the Cockpit
/cockpit/objects/adr/adr-0211

This page is generated from the file above by scripts/generate-site-data; editing the page changes nothing, editing the file changes every surface. The relations above are edges of docs/generated/graph.json, which the executable writes from the same index.

Searches the titles and descriptions of every page this site publishes.