feat BREAKING 2F-b-b feat/attachment-store-contract-2f-b #1 / 3
aaronrene · 21 days ago · Jul 2, 2026 · Diff

feat(2F-b-b): read-only attachment store list/get with triple-surface parity

Implements frozen ATTACHMENT-STORE-CONTRACT-2F-b: derived attachments from media/**, Mist frontmatter, and embedded URLs; policy overlay read path; Hub/CLI/MCP parity; OpenAPI; seven-tier tests (28/28 green).

sha256:a602cc7cffa9c99a32fb57af313da3bafd52f8714895540ecc7bb8a1536b363d sha
+51 ~10 −5 symbols
sha256:a87888c381f1212d8372bbcbf126dc953f6d462ab5d3a5c64890239c6cce6562 snapshot
+51
symbols added
~10
symbols modified
−5
symbols removed
0
dead code introduced
Semantic Changes 66 symbols
+ handleAttachmentGetRequest function function handleAttachmentGetRequest L173–218
+ handleAttachmentListRequest function function handleAttachmentListRequest L71–153
+ resolveAttachmentVaultPath function function resolveAttachmentVaultPath L30–41
+ serializeAttachmentPayload function function serializeAttachmentPayload L224–226
+ getAttachmentStorePath function function getAttachmentStorePath L35–37
+ getVaultAttachmentPolicies function function getVaultAttachmentPolicies L84–91
+ loadAttachmentStore function function loadAttachmentStore L43–61
+ saveAttachmentStore function function saveAttachmentStore L67–77
~ lib/attachments/attachment-store.mjs .mjs 22 symbols added
+ attachmentForClient function function attachmentForClient L187–216
+ attachmentGetEffectiveScope function function attachmentGetEffectiveScope L605–607
+ attachmentSummaryForClient function function attachmentSummaryForClient L169–181
+ attachmentVisible function function attachmentVisible L454–460
+ buildNotesByRef function function buildNotesByRef L467–474
+ compareAttachmentsForList function function compareAttachmentsForList L483–487
+ deriveAllAttachments function function deriveAllAttachments L362–423
+ deriveAttachmentId function function deriveAttachmentId L69–71
+ deriveFromNote function function deriveFromNote L251–322
+ filenameStem function function filenameStem L128–132
+ getAttachment function function getAttachment L578–599
+ inferNoteScope function function inferNoteScope L140–150
+ isAttachmentNoteVisible function function isAttachmentNoteVisible L430–446
+ isScoolingSafeNoteRef function function isScoolingSafeNoteRef L89–91
+ listAttachments function function listAttachments L511–562
+ mostRestrictiveScope function function mostRestrictiveScope L156–163
+ normalizeUrlForId function function normalizeUrlForId L97–107
+ noteRefFromPath function function noteRefFromPath L77–83
+ resolvePolicy function function resolvePolicy L224–243
+ sha256Token function function sha256Token L60–62
+ upsertIndex function function upsertIndex L329–351
+ urlHostOnly function function urlHostOnly L113–122
~ lib/attachments/derive.mjs .mjs 3 symbols added
+ mimeFromExtension function function mimeFromExtension L99–114
+ walk function function walk L58–88
+ walkAllMediaFiles function function walkAllMediaFiles L44–93
~ mcp/tools/attachment.mjs .mjs 1 symbol added
+ registerAttachmentTools function function registerAttachmentTools L18–106
+ api function async_function api L63–77
+ headers function function headers L47–56
+ main function async_function main L81–186
+ record function function record L41–45
+ resolveToken function function resolveToken L24–32
+ cliList function function cliList L27–32
+ deriveProjectUrlId function function deriveProjectUrlId L108–113
+ hubList function function hubList L23–25
+ mcpList function function mcpList L34–39
+ percentile function function percentile L16–20
~ test/fixtures/attachment-fixture.mjs .mjs 1 symbol added
+ buildAttachmentFixtureVault function function buildAttachmentFixtureVault L15–61
~ cli/index.mjs .mjs 1 symbol added, 1 symbol modified
+ attachmentExitWithError function function attachmentExitWithError L2158–2165
~ main
~ docs/OVERSEER-HANDOVER.md .md 5 symbols added, 5 symbols removed, 6 symbols modified
Next step at a glance (2026-07-01) section Next step at a glance (2026-07-01) L10–24
table section table L12–21
PRIMARY next-chat prompt — 2F-b-b attachment store build · Model: Auto (Build) section PRIMARY next-chat prompt — 2F-b-b attachment store build · Model: Auto (Build) L63–138
code[text] variable variable code[text] L68–135
code[bash] variable variable code[bash] L51–60
+ Next step at a glance (2026-07-02) section Next step at a glance (2026-07-02) L10–26
+ table section table L12–23
+ Verified snapshot (2F-b-b) section Verified snapshot (2F-b-b) L38–62
+ code[bash] variable variable code[bash] L55–59
+ table section table L40–52
~ table
~ table
~ mcp/create-server.mjs .mjs 1 symbol modified

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:a602cc7cffa9c99a32fb57af313da3bafd52f8714895540ecc7bb8a1536b363d --body "your comment"