Skip to content

refactor(aidd-context): rework project-memory skill with capability model#279

Merged
blafourcade merged 3 commits into
mainfrom
refactor/aidd-context-project-init
Jun 17, 2026
Merged

refactor(aidd-context): rework project-memory skill with capability model#279
blafourcade merged 3 commits into
mainfrom
refactor/aidd-context-project-init

Conversation

@blafourcade

@blafourcade blafourcade commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

🎯 What & why

Rework aidd-context:02-project-memory (renamed from 02-project-init). The old memory model was project-type / frontend-backend biased and the "init" name undersold a skill that also refreshes and reconciles. Now a capability model that fits any project shape and stays correct on re-runs.

🛠️ How it works

  • Capability model (capability-signals.md): each capability is a definition plus open concrete evidence. A capability fires when a concrete repo fact matches the definition, never on an inferred domain, and every fire is surfaced for user confirmation. Why this way: a pure whitelist was brittle (missed custom auth), pure AI judgment was the old non-deterministic web-biased model. Definition + open evidence keeps determinism on concrete facts without the brittleness.
  • Two false-fire edges fixed: auth fires on a custom oauth / credential / token module, not just named libraries; package fires only on an importable entry that is distinct from the CLI bin target (so a CLI no longer false-fires package).
  • Actions stay tool-agnostic (Input/Output/Process/Test); action 04's test no longer contradicts its own flag step.
  • Thin scaffold docs (README / GUIDELINES / CONTRIBUTING) point to the canonical framework docs instead of duplicating them, and the dead golden-principles / stack / workflows templates are gone.
  • Memory templates regrouped one folder per capability, each macro-only with a macro Mermaid diagram.
  • Hook (update_memory.js) now also refreshes a generated file index in memory/README.md and excludes that README from the always-loaded block.
  • AGENTS.md template gains a communication section (answer-first, evidence over assertion, shortest decisive line, clarity carve-out for risky steps), borrowing the substance of the caveman skill, not its meme.

🧪 How to verify

  • Regenerate the catalog clean: node scripts/summarize-markdown.js plugins/aidd-context/ /tmp/cat.md then diff against the committed CATALOG.md.
  • Run the skill on a real project: in a repo with aidd-context enabled, ask in natural language to "bootstrap the project memory bank". It should detect capabilities from concrete signals, fill macro-only memory files, and sync the <aidd_project_memory> block + memory/README.md index.
  • Validated this branch end to end via headless claude -p on the real cli project (clean init, reconcile, removed-capability) and a web-fullstack sandbox: detection was deterministic across clean and reconcile paths, auth fired definitionally, package was excluded on main===bin, and reconcile flagged a dropped capability without deleting its file.

⚠️ Heads-up

  • CHANGELOG.md and aidd-context/CHANGELOG.md intentionally keep the project-init slug as shipped history; the rename lands as a new changelog entry on the next release.
  • Full terse output stays opt-in (aidd-refine:03-condense); the AGENTS.md default is professional-concise, not caveman.

✅ I certify

  • I DO CERTIFY I READ EACH LINE OF THE PULL REQUEST BECAUSE I AM A SOFTWARE ENGINEER, NOT A AI PUPPY.

blafourcade and others added 2 commits June 16, 2026 08:06
…memory

Replace the project-type/frontend-backend memory model with a
capability model: definitions plus open concrete evidence, never
domain inference, every fire surfaced for user confirmation.

- references/capability-signals.md: 14 capability folders, definition +
  evidence (auth fires on a custom oauth/credential module, package only
  on an importable entry distinct from the CLI bin target).
- actions: agnostic Input/Output/Process/Test; action 04 test no longer
  contradicts its own flag step.
- assets: thin scaffold docs (README/GUIDELINES/CONTRIBUTING) that point
  to canonical framework docs instead of duplicating them; drop dead
  golden-principles/stack/workflows templates.
- memory templates regrouped into one folder per capability, each filled
  with macro-only content and a macro Mermaid diagram.
- hooks/update_memory.js: also refresh a generated file index in
  memory/README.md, exclude README from the always-loaded block.
- assets/AGENTS.md: tighten behaviour guidelines, add a communication
  section (answer-first, evidence over assertion, shortest decisive line,
  clarity carve-out for risky steps), strip noise frontmatter.

Validated end to end via headless claude -p on a real CLI project (clean
init, reconcile, removed-capability) and a web-fullstack sandbox.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The skill bootstraps and refreshes the project memory bank; init is one
case, not the whole. Name it after what it owns. Changelogs keep the old
slug as shipped history.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@blafourcade blafourcade merged commit a0e8da7 into main Jun 17, 2026
9 checks passed
@blafourcade blafourcade deleted the refactor/aidd-context-project-init branch June 17, 2026 06:58
@aidd-bot aidd-bot Bot mentioned this pull request Jun 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants