Make the vault's git history optional
CI / checks (push) Skipped
CI / checks (pull_request) Successful in 1m25s

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PPQ14L3LikyefCMFBqEbKE
This commit is contained in:
dongarandClaude Opus 5.5 committed 2026-10-02 17:37:41 +00:00
1 parent aa97309a0c
commit 0ee251485b
1 file changed
+9 -5
+9 -5
View File
@@ -435,7 +435,7 @@ build artifacts, and the contents of a previous task's workspace.
**How memory is used.**
- **Everything read is snapshotted into the transcript** with its provenance
(document, revision, when retrieved), once per work item at first use.
(source, its revision or a hash of its content, when retrieved), once per work item at first use.
- **Memory is a cache, never authority.** An agent may rely on it to know what
exists and where to look; facts an action depends on are re-checked against the
live system immediately before the action (preconditions, O2). When a proposal
@@ -611,9 +611,12 @@ tags), so the operator browses it in Obsidian with links, backlinks and the grap
- **Writes are atomic** (write, then rename), so a reader never sees half a note.
- **Access is through control tools** (L13): the harness reads and writes the mounted
folders. No tool VM ever sees the vault.
- **History:** the vault is a git repository on the agent host, and the harness
commits each write with the agent and work item that made it. A note's revision is
its commit (L6).
- **Provenance is in the note itself:** the harness records the source, work item
and time of each write (L6), whatever else is kept.
- **History is optional:** the harness may keep the vault as a git repository on the
agent host, committing each write with the agent and work item that made it. It
shows what an edit replaced; recovery doesn't depend on it (the host's snapshots
cover that, X4).
**The operator's copy.** Syncthing keeps a copy on the operator's devices, with the
direction set per folder:
@@ -621,7 +624,8 @@ direction set per folder:
operator reads them, and a local edit never flows back;
- **folders the operator writes** are receive-only on the host.
So conflicts can't arise. Obsidian's own settings folder and `.git` are not synced.
So conflicts can't arise. Obsidian's own settings folder (and `.git`, if kept) are
not synced.
**Never an instruction channel, never an approval channel.** Work is never read
out of the vault, and an agent never writes there to make another agent act.