Feature 6 of the co-design report: every version of a program, who made
each change and how, and whose hand each line and gate is in, sealed
into the run's receipt.
- engine::versions:
- versions in a chain, each naming its parents (none, one, or two for
a merge), who made it (the person, the assistant, an outside agent,
the engine, or where the program came from) and how (an edit, a
proposal reviewed change by change, a merge);
- a version's digest covers its parents' digests, and the recording
host's key seals it; verify checks every digest, seal and review;
- changes and apply: a line diff (Myers), so a proposal is taken
change by change, and the version keeps the whole proposal;
- blame, authorship and gate_hands: a line keeps its author until
changed; a model's or an agent's line the person edits is in both
hands; an undo keeps the earlier authors; a merge keeps each side's;
gates follow their lines, at a generator's inputs;
- attest and check_job: a job's request carries the account, the
receipt binds it, and it is recomputed from the history;
- call: the history by name with JSON arguments, for the page and the
desktop app.
- The command line: history start | commit | changes | propose | merge |
log | blame | verify; run and submit --history; verify --history.
- MCP: history_commit, history_changes, history_blame and history_log.
An agent's edit is recorded as an outside agent's, under the name its
client gave in initialize, whatever it says of itself.
- The Studio's Versions pane:
- what the reader types is theirs, recorded when they pause;
- every proposal (the assistant's program, an alternative, a generator
from the Workbench) is offered change by change while the editor
waits; a fix is the engine's;
- lines of work in lanes: an older version opened and edited starts
its own, and "Bring in" merges one change by change;
- "Who wrote it" marks lines in the gutter and gates on the diagram;
- the run's receipt binds the account, which the result recomputes;
- kept in the browser, downloaded for the command line;
- window.quantumStudio.propose for an embedding page.
- Fixes found by the Studio's test: a run shows it is running before
the account is made, and the draft is kept as the page goes.
- CI: wai-web's native engine tests count 8, the history's included.
Co-Authored-By: Claude Opus 5.5 <[email protected]>