Skip to content

Foundation: link the multimodal docs, label Images and Box experimental, correct docs/live.md (Refs #315) - #442

Draft
CompleteDotTech wants to merge 1 commit into
mainfrom
foundation/multimodal-docs-reachability-315
Draft

CompleteDotTech wants to merge 1 commit into
mainfrom
foundation/multimodal-docs-reachability-315

Conversation

@CompleteDotTech

Copy link
Copy Markdown
Contributor

Refs #315 (slice 1 of 2: docs reachability and honesty). No closing keyword: the scaffolder slice is not part of this change.

What changed, per item

Item of #315 Disposition Where
README docs list links docs/vision.md and docs/multimodal-track.md Fixed README.md (hand-written docs list only; "Three pages" became "These pages")
docs/backends.md and docs/fixtures.md link docs/vision.md Already true on main (both pages already link vision.md with anchors); backends.md also gets a plain link in its new opening paragraph; pinned by a test docs/backends.md, tests/test_docs_links.py
A docs-link test fails if either page is orphaned again Fixed. No docs-link or orphan test existed, so this adds tests/test_docs_links.py new file
docs/backends.md "Images and Box" opens with the experimental label and the upstream link Fixed, quoting the upstream wording read on 2026-10-31 docs/backends.md
docs/live.md documents SDK 0.7.5's default zstd compression Fixed docs/live.md ("What a call does")
docs/live.md: an images=True backend sends the images header on all of its requests; fix the ambiguous text-only sentence (second review of #297, items 5 and 6) Fixed in the docs. The behaviour is a decided limit, not changed (the header is per backend, as before) docs/live.md ("Experimental images and long context")
docs/recipe-template.md link, tools/new_recipe.py --images, tests/test_new_recipe.py, agreement test Deferred to the scaffolder slice none

Upstream wording quoted (https://docs.typesafe.ai/images and https://docs.typesafe.ai/primitives/box, both read 2026-10-31; the same banner is on both): "Dreamer-ready. Images and Box questions aren't yet up to our standards to call ready for production, ... The request format, the answers, and the limits on this page can change between releases, and accuracy will change as we update the models." The issue's paraphrase left out "ready for production" and "this page"; the quote in backends.md uses the real words.

Executed on this host, with the outcome

Header behaviour, LiveBackend with a recording fake client (the SDK import stubbed for image calls). A text-only call means no image or Box question:

images long_context request extra_headers passed to system_one
False False text-only none (no kwarg)
False True text-only long-context only
True False text-only (3 calls in a row) images only, every time
True True text-only images and long-context
True either image + Noul, and Box images (plus long-context if set), with assets
False either image + Noul, and Box refused before sending (LiveConfigError)

src/jev_cookbook/live.py has one system_one( call site and it spreads the same extras on every attempt.

SDK 0.7.5 compression, the wheel's compression.py loaded by file path (Python 3.14.3): compression=None resolves to zstd when zstd is importable and to no compression when it is not; False resolves to none; "zstd" raises when zstd is not importable; "gzip" raises. live.py never passes compression=, and pyproject.toml has live = ["typesafe-sdk>=0.7.5,<0.8"] (no zstd extra).

Tests:

  • tests/test_docs_links.py against an unmodified origin/main tree: 5 failed, 9 passed (README x2, backends label, live headers, live compression fail; the backends/fixtures link tests and the header behaviour test pass because that part is already true).
  • Same file on this branch: 14 passed.
  • Mutation checks, each in a scratch copy, each made the named test fail (17 failures over 13 mutations, control passes): README drops either link; backends/fixtures drop every vision.md link; label removed; Box link altered; live.md narrows "every call", drops the 1 KiB threshold or the extra clause; live.py sends the images header only with assets, or no long-context header; no docs page links multimodal-track.md; the link parser stops skipping fenced code.
  • Focused modules test_docs_links, test_backends, test_live, test_live_reporting, test_multimodal_backends, test_docs_ruff_version plus (earlier run) test_live_sdk, test_render_catalog, test_hygiene: 711 passed, 62 skipped (the live extra is not installed), 5 xfailed, 1 failed: tests/test_live.py::test_importing_and_injecting_works_with_the_sdk_blocked. It fails identically on an unmodified origin/main tree: its subprocess uses python -I, which ignores PYTHONPATH, and jev_cookbook is not installed in this host's interpreter. Not caused by this change.
  • python tools/check_hygiene.py passed (635 files); python tools/render_catalog.py --check exit 0; git diff --check clean; ruff check and ruff format --check on tests/test_docs_links.py pass with local ruff 0.15.8 (pinned in pyproject.toml: 0.17.2).
  • A trial merge of this branch with the head of Foundation: latency capture, run_record capture_date and n, context_size and limits documentation (Refs #312) #394 (which also edits docs/live.md) in a scratch clone had no conflict and the new tests passed on the merged tree. This branch's live.md edits are the images-header paragraph and one bullet in "What a call does"; none touches the lines Foundation: latency capture, run_record capture_date and n, context_size and limits documentation (Refs #312) #394 changes.

Read, not executed

  • That the SDK puts extra_headers on the wire, that it compresses only bodies of 1024 bytes or more, and that Content-Encoding is set: read in the 0.7.5 wheel (transport.py, compression.py) and in the SDK's advanced-usage page. tests/test_live_sdk.py and the live_sdk tests need the SDK and httpx2, which are not installed here; they were skipped, not passed.
  • No notebook was executed and no recipe test was run. The reviewers' validation VM runs those.

Not yet verified

  • The full test suite, the SDK-gated tests, and the notebook checks.
  • Rendering of the README and docs pages on GitHub.
  • The pinned ruff 0.17.2 (local is 0.15.8).

Deferred, not silently dropped

  • tools/new_recipe.py image variant, tests/test_new_recipe.py and the agreement-test changes, the docs/recipe-template.md link (the scaffolder slice owns it).
  • Seen and out of scope: docs/notebook-style.md has no inbound link from README.md, CONTRIBUTING.md or another docs/ page (only recipes/_template/README.md links it).
  • The suggestion to compute the images header per call instead of per backend (Foundation: image inputs and the Box primitive across backends, with local vision helpers #297 review, S2) is not done; the docs now state the current behaviour.

Prior work

Co-Authored-By: Claude Sonnet 5.5 noreply@anthropic.com
Co-Authored-By: Claude Haiku 5.5 noreply@anthropic.com

Generated with Claude Code

…d Box experimental, correct docs/live.md (Refs #315)

- README.md's docs list links docs/vision.md and docs/multimodal-track.md.
- docs/backends.md "Images and Box" opens with the experimental label, quoting
  the upstream "Dreamer-ready" wording and linking the images and Box pages
  (read 2026-10-31), and links docs/vision.md.
- docs/live.md says an images=True (or long_context=True) backend sends its
  header on every call it makes, including a text-only call, and documents the
  SDK 0.7.5 default zstd request compression.
- tests/test_docs_links.py fails if the README stops linking either page, if
  backends.md or fixtures.md stop linking vision.md, if no other docs page
  links either page, and pins the three docs sentences to the code and the
  upstream wording.

Slice 1 of #315 only. The scaffolder image variant and the
docs/recipe-template.md link are deferred to the scaffolder slice.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant