Skip to content

imagery: produce positioning assets — craft (rigor) + product classes #1641

@roryford

Description

@roryford

Summary

Tracking issue for the visual/imagery assets that back ManifoldKit's positioning.
This is an always-be-launching effort (a continuous stream of proof, not a
one-shot launch), so assets are organized by the story they serve, not by a launch date.

Positioning source-of-truth: docs/POSITIONING.md.
Public-facing "why + how it's built" doc the craft assets embed into:
docs/WHY-MANIFOLDKIT.md.
Screenshot sizes + captions: docs/LAUNCH-BRIEF.md §2.

All existing assets are to be reproduced (the 4 product SVGs and 2 screenshots are
starting points, not finished). The split that matters is build-on vs. from-scratch,
called out per asset below.

Two asset classes

  • Craft assets (Lane A — the rigor). Show how ManifoldKit is built to last: the
    fuzz harness, the sabotage suite, the audit tripwires, the migration discipline, the
    enforced module boundaries. Visually from scratch, but the substance is real and
    already running
    — these are screen-captures of actual tooling, not mockups. This is
    the most differentiated asset class and it has zero assets today. Highest leverage.
  • Product assets (Lane B/C — the usefulness). Show the drop-in product: the
    layer-cake, the backend fan, the comparison matrix, the WWDC-timing diagram, and the
    app screenshots. These exist and get reworked.

Directory conventions:
docs/images/craft/ · docs/images/product/ · Example/Screenshots/.
Terminal-derived craft assets: record with asciinema, commit the .cast source beside a
rendered .svg (crisp + lightweight). Diagrams: authored .svg. Screenshots: .png,
light + dark, realistic content.


Craft assets (Lane A — from scratch, real source material)

  • Fuzz harness finds a bugdocs/images/craft/fuzz-finds-bug.svg (+ .cast).
    Terminal cast of scripts/fuzz.sh driving chat traffic at the backends and surfacing
    the Ollama thinking-token drop (fix(ollama): preserve reasoning model thinking content (currently dropped) #487).
    Caption: "A fuzzer that drives real chat traffic at every backend — this run surfaced a token-drop bug (fix(ollama): preserve reasoning model thinking content (currently dropped) #487) on its first smoke."
  • Sabotage suite firingdocs/images/craft/sabotage-suite.svg (+ .cast).
    SABOTAGE=1 swift test --filter ManifoldAuditSabotageSuiteTests: writes a known
    violation into a temp dir and asserts the audit catches it. Green.
    Caption: "Who watches the watchers — a suite that verifies every audit still catches what it claims."
  • Audit tripwire rejects a bad commitdocs/images/craft/audit-tripwire.svg (+ .cast).
    A try? added to Sources/; SilentCatchAuditTest fails red with file:line + the
    allowlist hint.
    Caption: "Add a try? that swallows an error and the build rejects it — by file and line."
  • SwiftData migration fixturedocs/images/craft/swiftdata-migration.svg.
    Authored diagram: old store → ManifoldMigrationPlan → current schema
    (ManifoldSchemaV6→V9), with the fixture test asserting a clean upgrade.
    Caption: "Versioned schemas + a fixture test that loads an old store and proves it upgrades. SwiftData without the update-day surprise."
  • Enforced module boundariesdocs/images/craft/module-boundaries.svg.
    Authored diagram: the 14 trait-gated modules, the enforced edges (UI ✗→ Backends),
    audits drawn as tripwires on the edges (TrafficBoundaryAuditTest).
    Caption: "Fourteen modules, dependency rules the build enforces. The boundaries an agent needs aren't a guideline — they're a failing test."

Product assets (Lane B/C — build on existing)

Diagrams (rework the SVGs now in docs/images/product/; export a .png alongside for README/social):

  • Layer-cake herodocs/images/product/layer-cake-hero.{svg,png} (§2.1)
  • "One protocol, every backend" fandocs/images/product/generationstream-backends-fan.{svg,png} (§2.2)
  • "vs the field" matrixdocs/images/product/vs-field-matrix.{svg,png} (§2.3)
  • WWDC-timingdocs/images/product/wwdc-backend-timing.{svg,png} (§2.4)

Social previewdocs/images/product/social-preview.png, 1280×640, composited
from the layer-cake hero. Upload via repo Settings → Social preview.

  • Social preview produced + uploaded.

Screenshots (Example/Screenshots/, light + dark, realistic conversation content; sizes in §2.5):

  • macOS chat + sidebar, mid-stream — demo-macos.png (rework)
  • iOS chat, streaming — demo-ios.png (rework)
  • Model management / download with quantization variants — model-management.png
  • RAG citations (CitationsView expanded) — rag-citations.png
  • Thinking-block UI (collapsible reasoning) — thinking-block.png
  • On-device image-gen (FLUX/SDXL in-chat) — image-gen.png

Done when

  • All 5 craft assets are produced and embedded in docs/WHY-MANIFOLDKIT.md.
  • The 4 product diagrams are reworked; the layer-cake hero + the new screenshots are
    embedded in the README (Demo section currently has only demo-macos.png / demo-ios.png).
  • The 1280×640 social preview is uploaded to repo settings.

Notes

  • Per-asset captions for the product diagrams are written verbatim in
    LAUNCH-BRIEF.md §2; craft-asset captions are above.
  • The craft assets are the priority — they're the differentiated, durable class and they
    don't exist yet. Producing them is "point a camera at the rigor that already runs."

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions