I3284 — Every reference the 2026-10-18 import wrote is pinned to the upstream message it meant
Rewrite each positional workspace reference in tracked records to the upstream message id, matching position in the 2026-10-18 flattening together with the message's time and a hash of its text, and refuse to pin any reference that matches zero or more than one message.
BLOKOVÁNO wave 6 · p2 · implementation profile · parallel safe
Blocked. This issue cannot start until I3278, I3279, I3281, I1304 are done. The status is derived from that, not declared.
Cíl
Rewrite each positional workspace reference in tracked records to the upstream message id, matching position in the 2026-10-18 flattening together with the message's time and a hash of its text, and refuse to pin any reference that matches zero or more than one message.
Proč
Positions in a flattened conversation move when a message is edited or regenerated upstream; a pin by time and text hash keeps every source the import wrote pointing at what was read. Critique 2026-10-18: the zero-positional criterion must count typed entries and the prose detector, or it passes vacuously; and the export premise is unverified, so the browser re-read is the planned fallback route. Proposed in ADR 0211 (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) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c267#0.
Aktuální stav
The corpus keeps no message id (role, time, text only).
Cílový stav
No positional reference remains; an ambiguous one is listed for a person.
Rozsah
- .ai/repo/adrs/0211-a-record-promoted-from-a-workspace-cites-the-message-it-came-fro.md
- apps/majordomus-cli/src/plan.rs
- apps/majordomus-cli/src/capability/builtin/knowledge_base.rs
Závislosti
- I3278BLOCKED The 2026-10-18 import is the workspace store's first sync, not a scratchpad
- I3279BLOCKED The vendor's own data export is a transport, and it carries the message identities an in-page read did not keep
- I3281BLOCKED A workspace message is a typed provenance reference that validates in every checkout without the store
- I1304BLOKOVÁNO Transport prohlížeče je ten, který tento repozitář už ovládá
Co na tom čeká
Kritéria přijetí
- After the run plan validate reports zero positional workspace references
- An ambiguous match is refused and named, never guessed
- Where the export lacks Project conversations, pins come from an I1304 re-read that keeps upstream message ids
- Zero positional workspace references remain in provenance.derived_from, and the prose detector of I3281 reports zero untyped references
- The promotion script writes typed provenance.derived_from entries, never prose-only sources
Validace
- majordomus plan validate
- bin/majordomus knowledge check
Požadované důkazy
- case_positional_references_are_pinned
Důkazy
Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.
Časová osa
- zahájeno
- —
- ověřeno
- —
- dokončeno
- —
Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.
Canonical record: .ai/repo/project/issues/I3284.yaml. Read it back with majordomus plan show I3284.