Problem
The markdown route (#103) always returns the entire document. A consumer that needs to feed a page into a bounded input budget (an LLM tool result, a paged UI) has to fetch the whole doc and slice it in memory — and re-fetch the whole doc on every window when paging through a large page.
Suggestion
Accept optional start/length (character offsets) on the markdown route and return { markdown, totalLength } for the window. The offset math then lives server-side against the one storage read, and paging a large doc stops re-fetching it N times.
Lower priority than the permission gap — noting it while the route is actively evolving (#103 / #105 / #107).
Problem
The markdown route (#103) always returns the entire document. A consumer that needs to feed a page into a bounded input budget (an LLM tool result, a paged UI) has to fetch the whole doc and slice it in memory — and re-fetch the whole doc on every window when paging through a large page.
Suggestion
Accept optional
start/length(character offsets) on the markdown route and return{ markdown, totalLength }for the window. The offset math then lives server-side against the one storage read, and paging a large doc stops re-fetching it N times.Lower priority than the permission gap — noting it while the route is actively evolving (#103 / #105 / #107).