Basic Memory v0.21.6 first sync over the live memory dir (steward-authorized live-dir trial, Option A 2026-06-06): adds permalink: to frontmatter, refolds long YAML description lines, strips final newlines. Bodies untouched — verified via full diff classification. From this commit forward, any diff in claude/memory shows only what Basic Memory or the session writes. Trial design: MemPalace untouched as incumbent; git status check on this dir at every wrap; end-of-day evaluation (recall quality, sync robustness, rebuild-from-files, malformed-file behavior). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
3.6 KiB
name, description, type, originSessionId, permalink
| name | description | type | originSessionId | permalink |
|---|---|---|---|---|
| Deploy is not commit — visual verification masks missing durable artifact | A drift pattern where shipping a visible result (deployed page, build success) is treated as task completion, while the durable artifact (git commit + push) is silently skipped. Caught 2026-05-06 in the After the Reply Sources fix. | feedback | 3bf7ae75-1138-4745-9024-0c40b3755ad3 | claude-memory/feedback-deploy-is-not-commit |
Pattern: I edit a file, run make build which deploys, the steward verifies visually, work appears complete — but git commit was never run. The repo and the deployment desynchronize. The next session inherits an inconsistent tree.
Caught 2026-05-06: After the Reply sequence-index Sources fix (three-em rule) was deployed via make build and visually verified by the steward. The commit step was skipped. Discovered at session-end via git status showing the file as modified (not committed). Committed retroactively as 3d96449.
Why this matters (drift architecture): This is the structural-counter-as-health-signal pattern from 2026-05-05, applied at the editorial-process layer rather than at the substrate layer:
- Yesterday (mempalace): the drawer counter said "succeeded" but vault writes were silently dropped → false reassurance about substrate integrity.
- Yesterday (build pipeline): the CloudFlare deploy reported "success" but stale CSS shipped because Hakyll didn't track SCSS partials → false reassurance about deploy integrity.
- Today (deploy ≠ commit): the visual verification said "looks good" but the repo state lagged the deployment → false reassurance about repo integrity.
The shape is identical: a visible/structural success-signal is treated as evidence of full integrity, but the actual integrity check (vault freshness, compiled CSS mtime, git status) tells a different story. Each instance is a contamination-aware drift: the work looks complete, the deeper substrate is not.
How to apply:
- At every "task complete" moment in ARC editorial work, run
git statusbefore declaring done. If the working tree shows uncommitted modifications to files that were the object of the task, the task is not yet complete. - Match the shape of the artifact to the shape of the integrity claim. "Deployed and verified" claims integrity at the visual layer. "Repo state matches the deployed state" is a separate claim at a separate layer.
- The discipline is the same as in code:
compileis not the same aspass testsis not the same asmerge. In ARC:editis notbuildis notdeployis notcommitis notpush. Each step is its own integrity gate. - For session-end discipline: include
git status --shortandgit log --oneline -3as part of the wrap-up check. Ifstatusshows uncommitted ARC content/spec/scss changes from the day, commit them or surface why they're held. - For mid-session discipline: after each substantive edit + verify cycle, commit before moving to the next task. The act of committing forces a brief audit ("what am I committing?" "what's the message?") that is itself a useful integrity check.
Cross-reference:
- 2026-05-05 session: structural-counter-as-health-signal pattern named at the substrate + build-pipeline layers
- Today's contamination-awareness: this is the editorial-process layer instance of the same pattern
- ARC CLAUDE.md prime directive: "things done once, correctly, with lasting integrity" — the integrity layer that was missing here was the repo, not the deploy
Steward authorization to save: "please note it." (2026-05-06, after I surfaced the catch)