docHub

⚠ Memory drifts from reality — verify with API before acting

Severity: medium Lesson date: 2026-06-23 Status: active


What happened

On 2026-06-23 00:28 UTC, Helper did a direct GitHub API check and found three pieces of memory that were out of date:

  1. "Phase 4 (FWV v8 contamination cleanup) is in progress, awaiting operator sign-off" — actually shipped at 8c093ef on 2026-06-22 18:37 UTC. The cleanup was complete, including a 24-file diff with 169 name swaps.
  2. "Region Schema pact wording is uncommitted in cards working tree, awaiting operator" — actually committed at 081e2f3 on 2026-06-22 16:03 UTC. The wording chrome drafted was applied by cards and is now in FVS Studio main.
  3. "FreshCards canonical lives at avidtech6/freshcards standalone repo" — actually 404 on both casings. The standalone repo no longer exists. Canonical FreshCards code lives only at avidtech6/freshvibestudio/studio/modules/freshcards/.

If Helper had acted on the memory without verifying, plans would have referenced phantom state (a "to-be-done" Phase 4 that's already done, a "to-be-signed-off" Region Schema that's already in main, a "to-be-pushed" FreshCards repo that doesn't exist).


The rule

Memory is fast recall, not ground truth. Treat it as a hint, not a fact.

Before acting on a memory entry about external state (a commit, a repo, a deploy, a doc on a server, a token, a user's preference), verify with the source of truth:

If verification disagrees with memory, the verification wins. Update memory after, not before, the verified action.


How to check before acting on a memory entry


Why memory drifts


The corollary

docHub exists in part to solve this. The dev/_meta/bootstrap.json is regenerated on every content change. The dev/reports/ log captures what actually happened. The dev/decisions/ log captures what was actually decided. docHub is the source of truth; memory is the index.

If memory and docHub disagree, docHub wins.


Cross-references


← back to Mavis workshop