Parent
#39
What to build
Extend doc publish so a Markdown file with a relative image reference uploads that file as a Doc Asset, rewrites the stored Living Doc Markdown to an absolute Unlisted URL under /d/{opaqueId}/{assetPath}, and leaves the View/Review surfaces able to load the image. Absolute http(s) image URLs stay unchanged. Duplicate relative refs to the same file upload once. Publisher-authenticated publish only (no Review Link upload).
Wire collector → uploader → rewriter → persist rewritten Markdown in an order that does not leave rewritten URLs pointing at missing Blob objects. CLI/API should return View and Review URLs as today. doc pull returns the rewritten Markdown.
Acceptance criteria
Blocked by
Parent
#39
What to build
Extend
doc publishso a Markdown file with a relative image reference uploads that file as a Doc Asset, rewrites the stored Living Doc Markdown to an absolute Unlisted URL under/d/{opaqueId}/{assetPath}, and leaves the View/Review surfaces able to load the image. Absolutehttp(s)image URLs stay unchanged. Duplicate relative refs to the same file upload once. Publisher-authenticated publish only (no Review Link upload).Wire collector → uploader → rewriter → persist rewritten Markdown in an order that does not leave rewritten URLs pointing at missing Blob objects. CLI/API should return View and Review URLs as today.
doc pullreturns the rewritten Markdown.Acceptance criteria
(and../…) uploads the image and stores rewritten hosted URLs incurrentMarkdownhttp(s)image URLs are not rewrittenBlocked by