Repository navigation
Say in ADR 0014 that the attachment store is built end to end - #790
Merged
Merged
Conversation
The Status section still read "Not yet built: the phone's upload and the
desktop's intake, which are later items of the same plan". Both landed and
merged weeks ago, so a reader arriving at the record was told the decision was
half-implemented when it is not.
It now names all three sides: the service inventory it already carried, the
phone (the /note talk-note screen, IAttachmentPicker, TalkNoteOutboxKind and
AttachmentRules, and files staged through the device outbox so every PUT
completes before the POST that names them), and the desktop (an
inbox_item_attachments table behind SqliteInboxRepository, download through
GET /api/sync/attachments/{id}, thumbnails and file rows in
InboxItemDetail.razor, and the item's folder handed to the task on routing).
Everything decided stays as it was: the accepted date, the 25 MB cap, the
allowlist, upload and download through the service rather than by SAS, the
X-Attachment-Sha256 and sizeBytes paragraph, and the local-numbering note.
Task attachments remain out of scope and machine-local.
ADR 0005 carries the other half of this staleness - it still calls local ADR
0014 "(proposed)" and still says attachments are deferred with no blob storage
provisioned. That is left to the devbook follow-up the mobile-inbox-slice plan
review filed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This was referenced Sep 29, 2026
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
Local ADR 0014 told a reader the attachment store was half-implemented. Its Status section still read "Not yet built: the phone's upload and the desktop's intake, which are later items of the same plan" — both landed and merged weeks ago, in #702 and #698.
This rewrites that one section so the record matches the system. Nothing decided changes.
Found while checking whether the
+mobile-inbox-sliceplan was fully implemented: it is, apart from its sign-off, and this was the first of the stale-documentation findings its review filed.Changes
One file, one section —
.devbook/arc42/adr/0014-attachments-travel-through-a-blob-store-beside-the-replica.md,## Status./notetalk-note screen inBacklog.Mobile.UI,IAttachmentPickerwith an Android and a web registration,TalkNoteOutboxKindandAttachmentRules, and files staged through the device outbox so everyPUT /api/sync/attachments/{id}completes before thePOSTthat names them.inbox_item_attachmentstable behindSqliteInboxRepository, download throughGET /api/sync/attachments/{id}into the workspace folder, thumbnails and file rows inInboxItemDetail.razor, and the item's folder handed to the task when the item is routed to Tasks.X-Attachment-Sha256andsizeBytesparagraph, and the local-numbering paragraph. Task attachments stay out of scope and machine-local.metablock is untouched.statusstays absent, which isarc42/'s restingactive.Two judgement calls worth a reviewer's eye:
inbox_item_attachmentsis attributed toSqliteInboxRepositoryrather than toBacklog.Modules.Inbox, because that is where the table actually lives.Testing
Documentation only; no code, no runtime, so no automated suite applies.
node .devbook/_tools/devbook-meta/build.mjs --check— exits 0.node tools/devbook/check-metadata.mjs— 0 blocking across all 148 files. The advisory count is unchanged and pre-existing (every ADR section carries a "heading has nometablock" note)._meta/was not regenerated; that is the repository's own refresh path.Related
No issue. Refs local ADR 0014, and the pull requests whose work it now describes: #702 (the phone's upload) and #698 (the desktop's intake).
Known remaining, deliberately not in this PR. ADR 0005 carries the other half of the same staleness — it still calls local ADR 0014 "(proposed)" when it is Accepted, and still says attachments are deferred with no blob storage provisioned. That is covered by the devbook catch-up follow-up the
+mobile-inbox-sliceplan review filed, and folding it in here was offered and left unanswered.Checklist
🤖 Generated with Claude Code