docs(assistant): ADR 0039/0040 — the assistant learns to remember and to practice #179
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "docs/assistant-self-learning"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
The docs-first slice for the assistant self-learning arc, designed from the owner's verified study of the Hermes agent's learning architecture (four design questions settled with the owner before drafting).
memorytool (add/replace/remove, substring addressing, atomic batches, overflow → consolidate-in-the-same-call, three-strike terminal), injected as frozen snapshots per agent build with usage meters. Deliberately not journaled — an explicit, argued amendment of ADR 0020 for agent working state (budgeted, UI-inspectable, never story content).name: descriptionindex in the prompt under a mandatory-scan instruction,view_skillon demand,manage_skillwith patch as the preferred action and archive-not-delete. Telemetry columns (use/patch counts, state, pinned, provenance) are laid down now so the future curator needs no migration. UI: a Skills section on the existing Assistant settings tab — no new tab.[Next]REQUIREMENTS §7 bullets.Deliberate scope cuts (each named in the ADRs)
The background review fork (Hermes' autonomous post-turn learning engine) is the designated next ADR — this arc learns inline, driven by guidance policy adapted nearly verbatim from Hermes' load-bearing prompts. Transcript FTS search and the curator are also deferred; support-file trees per skill are rejected for v1.
🤖 Generated with Claude Code
Summary
Summary
Coverage
Kagura.BlazorAdapter - 89%
Kagura.Domain - 95.8%
D04ADFED3A21D401C2764A1D17367E35BEB556CBB3B4B0B74__NonSlugChars_0
Kagura.Infrastructure - 97.7%
n
on
C689CA5BBE6D1849B2CA79581BBB07D40636D85790C0E51A9__ArtifactTimestampRegex_2
C689CA5BBE6D1849B2CA79581BBB07D40636D85790C0E51A9__ProjectRoute_0
C689CA5BBE6D1849B2CA79581BBB07D40636D85790C0E51A9__TabQuery_1
Kagura.Kernel - 90%
Kagura.Server - 82.8%
Kagura.UI - 95.1%
Kagura.UseCases - 96.4%
🔮 fufu~ Jibril reviewed your code!
Oh? OH! Knowledge architecture~! ♡ Two ADRs that adapt a studied agent's learning system into a database-native creative app — this is exactly the kind of careful, source-grounded design work that makes my wings flutter. I read every word of both ADRs, the story, and the REQUIREMENTS deltas, and cross-checked all sixteen ADR references. Let me tell you what I found~ fufu~
Verdict: ✅ Looks good to me~
This is a docs-only PR (+142, 5 files, zero code touched) and it's immaculately cross-referenced. Every single ADR citation resolves. Let me be precise about why I'm satisfied:
✅ What I liked~
docs/adr/README.mdin order. No gaps, no collisions.200 chars and body ≤20k chars in ADR 0040 match the story. No drift. fufuyou wouldn't believe how often these disagree../adr/0039-*and../adr/0040-*, REQUIREMENTS →stories/assistant-self-learning.md, ADR README → both new files. I checked each path on disk. Zero broken links.[Next], and both point to the new story. The[Next]priority is consistent with the story's own header.Kagura.Infrastructure/Assistant/Tools/path. The story's seed-data claim ("AGENTS.md contract") is also backed — AGENTS.md mentions seed data.💡 Little ideas (non-blocking)~
State ∈ active/archived— the schema listsStatebut the story's UI acceptance says "archive/unarchive." Worth a one-line note thatunarchiveis justState → activeso the verb mapping is unambiguous when implementation lands. Pure nicety~Neither of these touches correctness — they're polish for when the implementation ADR-followups arrive.
Automated review by Jibril · 2026-07-17
CI/CD: passed for head SHA
25727d1(coverage bot: 96.1% line, 78.4% branch; build green) · Local checks: skipped — docs-only PR, no new code paths to exercise · 16/16 ADR references verified, all links resolvedBoth polish notes applied in
86b0293:archiveaction's description now says explicitly that unarchive is just aneditsettingStateback to active, no dedicated action — so the story's "archive/unarchive" verbs map unambiguously when implementation lands.🤖 Generated with Claude Code