docs: ADR 0007 — invert L1/L2 (L1 = coarse doc, L2 = item slices)#465
Merged
Conversation
…l lines have L0+L1+L2 Redefine the layers with uniform roles but line-specific content, each derived from the one below (L0 → L1 → L2), consistently across all three lines: - L0 = raw source (resource): chat corpus / multimodal data / agent-run logs - L1 = coarse document derived from L0: memory category / caption paragraph / skill md - L2 = item = fine slices/extracts of L1 (the embed/search unit): paragraph slices / caption slices / per-skill descriptions This inverts the earlier "L1 = atomic item, L2 = category" wording (now L1 is the coarse doc, L2 the fine item) and gives every line all three layers (previously workspace had no L2, skill no L1). Retrieval embeds L2 items, runs one hybrid pass (cosine + BM25), and rolls up to the L1 document. Updated the three-lines table, layer table, retrieval table, and ingest treatment; added a divergence note that the model is now ahead of the memu.lines code (to be re-aligned). Co-Authored-By: Claude Opus 4.8 <[email protected]>
Contributor
There was a problem hiding this comment.
Pull request overview
Updates ADR 0007’s documentation model for the “three independent memory lines” by redefining the L0/L1/L2 layer meanings consistently across chat/workspace/skill, aligning retrieval and output semantics with the new definition (docs-only change).
Changes:
- Inverts prior terminology so L1 = coarse document and L2 = item slices (embed/search unit) across all three lines.
- Establishes a uniform L0 → L1 → L2 derivation model for chat/workspace/skill, with an explicit divergence note vs current
memu.linesimplementation. - Updates retrieval/output descriptions to reflect embedding/search over L2 and roll-up to L1 documents.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| | **skill** | execution / tool traces | `SKILL.md` | raw logs → skill md → per-skill descriptions | hybrid: embedding + BM25 | | ||
|
|
||
| Each line keeps the established output-file name as its index/map, over its own record stores. | ||
| Each line keeps the established output-file name as its L1 index/map, over its own L0/L1/L2 stores. |
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
Redefines ADR 0007's layers with uniform roles but line-specific content, each derived from the one below (L0 → L1 → L2), consistently across all three lines:
What changed
MEMORY.md/SKILL.mdrender L1 documents;INDEX.mdindexes L0 resources; L2 items live only in the store.Resource/RecallEntry/RecallFile.Updated the three-lines table, layer table, retrieval table, and ingest treatment. Added a divergence note: the model is now ahead of the
memu.linescode, to be re-aligned next. Docs-only.🤖 Generated with Claude Code