Parent
#39
What to build
Make Living Doc View Links serve Doc Assets on nested paths under the same opaque prefix as the View. Bare /d/{opaqueId} remains the rendered Markdown View. Nested /d/{opaqueId}/{assetPath} returns Blob bytes for that Living Doc with Unlisted posture (no-store, noindex), correct image content types, and 404 for missing paths, unknown docs, or removed Living Docs. No directory listing.
Introduce a Living-Doc-scoped Blob key/locator scheme (not the Publication artifacts/ prefix) and enough store/test seeding that later publish slices can upload into the same space. Follow ADR 0006 and glossary term Doc Asset.
Acceptance criteria
Blocked by
None - can start immediately
Parent
#39
What to build
Make Living Doc View Links serve Doc Assets on nested paths under the same opaque prefix as the View. Bare
/d/{opaqueId}remains the rendered Markdown View. Nested/d/{opaqueId}/{assetPath}returns Blob bytes for that Living Doc with Unlisted posture (no-store, noindex), correct image content types, and 404 for missing paths, unknown docs, or removed Living Docs. No directory listing.Introduce a Living-Doc-scoped Blob key/locator scheme (not the Publication
artifacts/prefix) and enough store/test seeding that later publish slices can upload into the same space. Follow ADR 0006 and glossary term Doc Asset.Acceptance criteria
/d/{opaqueId}/{assetPath}returns 200 with the expected bytes and content-type for an active Living Doc with a seeded Doc Asset/d/{opaqueId}still returns the HTML View (not an asset)Blocked by
None - can start immediately