Conversation
…silent-clobber bug class) Captures the durable substrate for the discipline rule the session surfaced via the CircuitRegistration cache-clobber discovery (#1403 + #1404 + #1406): *actions/cache paths must be mutually exclusive with git ls-files — cache only DERIVED files (downloaded jars, built artefacts, user-home tool state), never source-controlled content.* Memory file structure (per chat-is-assertion-channel discipline + substrate-or-it-didn't-happen): - Rule (carved sentence) - Why this is load-bearing (the silent + invisible failure mode) - Triggering case (CircuitRegistration B-0180 fix; verbatim error text) - How to apply (3 layers: workflow-author-time + verify-then-claim- time + structurally enforced via audit + lint gate) - Composes with (DST + verify-then-claim + test-fidelity contract + CI-on-CI audit pattern) - Tooling lineage (4 substrate refs) - Future-Otto reference (when-tempted + when-CI-fails) - Reasoning lineage (Aaron's 'lucky catch' question) MEMORY.md updated with newest-first pointer. Composes with the earlier cluster (#1403 cache fix + #1404 audit tool + #1406 CI lint gate) — this memory file is the chat→substrate discipline-encoding step that closes the loop.
There was a problem hiding this comment.
Pull request overview
This PR adds a new durable memory entry capturing the recently surfaced CI cache-clobber discipline: actions/cache paths must never overlap git-tracked files. It fits the codebase’s memory/substrate system by turning a production-relevant CI failure class into a documented, indexed rule that future work can retrieve.
Changes:
- Adds a new
memory/feedback_*.mdfile documenting the silent cache-clobber failure mode, triggering case, enforcement path, and related tooling. - Updates
memory/MEMORY.mdnewest-first index so the new memory is discoverable from the main memory entrypoint.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
memory/feedback_actions_cache_paths_mutually_exclusive_with_git_ls_files_silent_clobber_class_aaron_2026_05_03.md |
Adds the new carved memory documenting the cache-paths-vs-git ls-files rule and its rationale. |
memory/MEMORY.md |
Adds the corresponding top-of-index pointer so the new memory is reachable from the main memory registry. |
…n — usage-bug not GitHub-bug Aaron 2026-05-03: 'is the a real github bug or was a bug in our code?' Honest answer: NOT a GitHub bug, IS a bug in our workflow config. actions/cache does exactly what its docs promise — restores cached files at the configured paths. We asked it to cache a path that contained source-controlled files; it did. The fix is on our side: narrow the cache path. Added 'Bug-locus disambiguation' section to the memory file clarifying: - This is a usage bug in workflow configuration, not a tool bug - The existing actions/cache behavior is documented - A reasonable upstream feature request (warn-on-overlap-with-git) would be an enhancement, not a bug fix Future-Otto reading this memory: don't pattern-match the discovery as 'GitHub broken' when reaching for the discipline. The structural fix (audit + lint gate) is correct because OUR usage was wrong, not because the action was wrong.
2 tasks
AceHack
added a commit
that referenced
this pull request
May 3, 2026
…ster + cache-clobber discipline encoded (#1408) Substantial multi-tick session shard. 18 PRs touched (#1383 + #1387 + #1392-#1407 inclusive); 14 merged + 4 in-flight as of shard time. **Math-proofs assessment progress** (#1383 outstanding-work matrix): - A1+A2 → A-with-CI ✓ (#1394 Lean lake-build workflow) - A4 registry rows ✓ (#1393) - B1 → 2 of 4 deferred specs in CI ✓ (#1397 DbspSpec + #1401 CircuitRegistration B-0180 closed) - B2 Alloy → A ✓ (#1396 silent-no-op spec-path fix) - B4 Semgrep → A ✓ (correction) - Peer-review email template ✓ (#1387) - Phase 0 substrate-discovery PoC ✓ (#1392) - Stryker config-fix ✓ (#1395; CI wire deferred) - 3 broken-spec backlog rows filed ✓ (#1398) **Cache-clobber silent-bug class discovered + fully encoded:** B-0180 fix passing locally + failing CI → verify-then-claim identified gate.yml + low-memory.yml caching whole tools/tla and tools/alloy directories. Fix cluster: #1403 (gate.yml) + #1404 (low-memory.yml + audit-ci-cache-paths.ts) + #1406 (CI lint gate) + #1407 (memory file + bug-locus disambiguation per Aaron's 'real github bug?' question — answer: usage-bug, not tool-bug). **Other substrate work:** #1399 BACKLOG.md regen, #1400 .ts/.sh parity bug, #1402 assessment matrix doc update, #1405 B-0182 backlog row (Linux-only formal verification — orthogonal-axes split per Aaron 2026-05-03). **Discipline lessons captured:** chat-is-assertion-channel, substrate-corrections-cluster, search-first-before-architectural- expansion, verify-then-claim CI fidelity, documentation-is- current-state-not-history. Carved sentence: 'When a lucky catch surfaces a class of bug, build the structural fix that eliminates the luck — audit + lint gate + carved-sentence rule + memory file.'
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Durable substrate for the discipline rule surfaced this session via the cache-clobber discovery cluster (#1403 + #1404 + #1406). Closes the chat→substrate encoding loop per substrate-or-it-didn't-happen.
Carved sentence (for retrieval)
Memory file structure
Test plan
🤖 Generated with Claude Code