Repository navigation
chore(framework): reshape the memory bank to its own templates - #732
Merged
Merged
Conversation
The seven older bank files carried their original headings and, in several cases, content that no longer described the repository. testing.md said no test runner was configured, next to a cli/ with vitest, fast-check and stryker; deployment.md listed three CI steps where there are eight workflows; vcs.md named issue templates that have since been renamed and omitted the cli and aidd-ui scopes. They now follow the section structure the project-memory skill ships in assets/templates/memory/, and the content is written from the repository rather than carried over: architecture states the knowledge/execution firewall and the gotchas behind it, codebase-map points at areas and entry points instead of redrawing the tree, coding-assertions mirrors lefthook.yml command for command, project-brief keeps the domain vocabulary and drops the invented personas. deployment.md also stops saying the promote rebase auto-merges; it has been a merge commit since the branch model was fixed.
…imports The @ form is resolved by Claude Code only. AGENTS.md is what codex, cursor and opencode read, and none of them resolve it, so those lines were inert text pointing at files the tool never opened. Switching that target to the link syntax the hook already supports exposed a second bug: buildReference hardcoded a "../" prefix, correct only because the one file using links so far, .github/copilot-instructions.md, sits one level down. On a root-level AGENTS.md the same prefix sends every link outside the repository, which the link check reports as a broken local path. The prefix is now derived from the target's own depth. Both forms are covered: the root-level target must produce no climb, the nested one must produce exactly one. The first test fails against the hardcoded prefix.
cli/ already carries a CLAUDE.md and a full memory bank: architecture, testing, deployment, codebase-map, coding-assertions, project-brief, vcs and cli. The root bank restated all of it, so the two drifted independently and a reader got the same subject twice, differently. Root now holds the repository-wide view and points to the child bank for CLI internals. Prose gives way to tables: what a surface is validated by, what each area holds, what each workflow runs. Playwright is back in testing.md, where it belongs. It had been dropped, though aidd-dev:11-browser-qa runs the pinned @playwright/[email protected] with ffmpeg and ffprobe to produce WebM evidence. The template's Browser QA section is its home.
1 task
blafourcade
added a commit
that referenced
this pull request
Sep 3, 2026
…#751) `AGENTS.md` carried ten `@aidd_docs/…` lines. Codex, Cursor and OpenCode do not resolve that import — it is inert text that loads nothing and reports nothing. `update_memory.js` has written markdown links there since #732; what was missing is anything that notices a file drifting back. Two ways it drifts, both observed today. A machine still holding the released 2.7.0 hook rewrites the block to `@` on every session start, because that older copy declares `at` for `AGENTS.md`. And a stale edit sitting in the index rides into an unrelated commit, which is exactly how the wrong form reached `next`. The check reads `TARGET_FILES` from the hook itself rather than restating it, so the rule and the writer cannot disagree. A table it cannot parse throws: a check that passes because it compared against nothing is worse than no check. Tests first, then the code, then the mutation for each guard — the comparison, the unreadable table, the stop-at-first, and what counts as a reference. All four die, each under the test named for it. Refs #619 Claude-Session: https://claude.ai/code/session_01VWNxk63AGKkqE8HRqHLjGp Co-authored-by: reference-week <[email protected]> Co-authored-by: Claude Opus 5 (1M context) <[email protected]>
Merged
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.
Three commits: bank content, citation syntax in
AGENTS.md, then the parent/child split.Redundancy with the CLI bank
cli/already carries its ownCLAUDE.mdand a full bank — architecture, testing, deployment, codebase-map, coding-assertions, project-brief, vcs, cli, auth. The root bank restated all of it, so the two drifted independently and a reader got the same subject twice, differently.Root is now the repository-wide view and points to the child for CLI internals. Prose gave way to tables.
architecture.mdcodebase-map.mdtesting.mddeployment.mdcoding-assertions.mdcli.mdPlaywright
Dropped from
testing.md, thoughaidd-dev:11-browser-qaruns the pinned@playwright/[email protected]throughnpx, withffmpegandffprobe, producing WebM evidence. Restored under the template'sBrowser QAsection, with the pin and the "neverlatestduring QA" rule.The bank content
The seven older files kept their original headings and described a repository that no longer exists:
testing.mdsaid no test runner was configured, next to acli/running vitest, fast-check and stryker.deployment.mdlisted three CI steps where there are eight workflows, and said the promote rebase auto-merges — false since the branch model was fixed.vcs.mdnamed renamed issue templates and omitted thecliandaidd-uiscopes.codebase-map.mdhad no sections, only a diagram redrawing the tree.project-brief.mdcarried an invented persona and a user-journey diagram for a CLI.Every claim now traces to a file:
lefthook.ymlfor the gates,cli/package.jsonandcli/vitest.workspace.tsfor the layers,docs/ARCHITECTURE.mdfor the concern taxonomy,kanban/src/presentation/kanban-deps.tsfor the seam between workspaces.README.mdjoins the bank, its loading description corrected to the comment markers from #721.The citation syntax
@aidd_docs/memory/x.mdis resolved by Claude Code only.AGENTS.mdis read by codex, cursor and opencode, none of which resolve it — inert text pointing at files the tool never opened. That target now uses the link syntax the hook already supported.Switching it exposed a second bug:
buildReferencehardcoded a../prefix, correct only because the one file using links (.github/copilot-instructions.md) sits one level down. On a root-levelAGENTS.mdthat prefix sends every link outside the repository. The prefix now derives from the target's own depth.Two tests cover it; the first fails against the hardcoded prefix, verified by reverting it:
CLAUDE.mdkeeps its duplicated content and its@block, deliberately: it is the one tool that resolves imports.Checks run locally
Left alone
backlog.mdis missing the template's## Structuresection — nothing verified to put there. The CLI bank does not follow the templates either; separate concern.