I3279 — The vendor's own data export is a transport, and it carries the message identities an in-page read did not keep
Accept the ChatGPT account export archive as a second transport (acquisition: export) that the mapper of I1307 reads offline, keeping each message's upstream id, parent and position on the current branch.
BLOCKED wave 4 · p2 · implementation profile · parallel safe
Blocked. This issue cannot start until I1302, I1305 are done. The status is derived from that, not declared.
Objective
Accept the ChatGPT account export archive as a second transport (acquisition: export) that the mapper of I1307 reads offline, keeping each message's upstream id, parent and position on the current branch.
Why
The export is the vendor's documented path for a person's own data and needs no automation of its site; it is the legitimate fallback when the in-page read breaks, and the only source of message ids for the conversations captured on 2026-10-18 without them. Whether it includes project conversations is unverified (open question). Critique 2026-10-18: the transports enum is official|browser|private_http and the declaration names only browser; the export is the vendor's documented interface and maps to `official`. It extends milestone external-workspaces. Proposed in ADR 0212 (A workspace is read in the operator's own signed-in browser or from the vendor's export, never through a launched automation profile or another tool's credential) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c267#2, chatgpt-majordomus:c066#4.
Current state
No export reader exists; workspace.v1's transports enum is official|browser|private_http, and .ai/repo/workspaces/chatgpt-majordomus.yaml declares only browser.
Desired state
scripts/workspace import-export <archive> maps the export through the same mapper and writes the same records a browser sync would, marking acquisition: export.
Scope
- share/schemas/majordomus/workspace
- .ai/repo/workspaces
- share/allow/workspace.txt
- test/cases/93_workspace_kind.sh
Out of scope
- Any network access
- Storing the archive inside the repository
Dependencies
- I1302READY Identity, provenance and support level are typed fields, not prose
- I1305BLOCKED An observed contract has a fingerprint, a compatibility state and a fixture
What waits on this
Acceptance criteria
- A sanitised synthetic export fixture maps to records identical in content to the browser-mapped fixture
- Every message record carries upstream id, parent id and branch position
- An export whose shape fingerprint differs fails closed and persists nothing
- The account export is declared as the `official` transport of workspace.v1 and listed in .ai/repo/workspaces/chatgpt-majordomus.yaml transports
- Before any mapping code, one real owner export is inspected and whether it holds Project conversations is recorded as a decision
Validation
- bash test/run.sh 93_workspace_kind
- majordomus plan validate
Evidence required
- case_the_export_maps_like_the_browser
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Timeline
- started
- —
- verified
- —
- completed
- —
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I3279.yaml. Read it back with majordomus plan show I3279.