Infographic Style Brief¶
This brief records the shared contract for the five documentation infographics produced from
sdd/epics/202605/docs_gpt_image_infographics.md. Use it when auditing, regenerating, or post-processing the images so
their sidecar prompts, target docs, insertion points, visual language, and semantic guardrails stay aligned.
Shared Visual Contract¶
- Use a landscape architecture-infographic composition that reads well at GitHub Markdown width. Match the current
docs/images/*-infographic.pngfamily: 16:9 PNGs, light background, crisp blocks, clear arrows, and limited short labels. - Prefer a neutral base with distinct accent colors for different concept groups. Avoid a one-hue palette, decorative gradients, logos, fake terminal screenshots, and paragraph-length text inside the raster image.
- Keep labels deterministic and terminology-aligned with the target doc. If regenerated labels are misspelled, too small, or semantically wrong, preserve only the useful layout/artwork and add final labels in a local post-processing step.
- Each final image has a sidecar prompt file next to the PNG. The sidecar should include the final prompt, target insertion point, intended alt text, and any post-processing notes; update it whenever the image is regenerated or relabeled.
- Embed images with relative Markdown links such as
. The alt text should describe the model shown, not just repeat the filename.
Targets And Insertions¶
| Doc | Final image | Insertion point / status | Rationale |
|---|---|---|---|
docs/xprompt.md |
docs/images/xprompt-resolution-infographic.png |
Pending regeneration; docs/xprompt.md currently uses a text pipeline instead of the stale PNG. |
Readers need the reference-resolution model before entering CLI and syntax reference sections. |
docs/workflow_spec.md |
docs/images/workflow-execution-infographic.png |
After the opening paragraph and before ## Table of Contents. |
The doc immediately becomes a format reference; the diagram should establish the execution model first. |
docs/commit_workflows.md |
docs/images/commit-workflow-infographic.png |
Candidate insertion after the ## Overview table and before ## How It Works; currently not embedded. |
The table defines the three outputs; the diagram should bridge from that summary into orchestration details once regenerated. |
docs/beads.md |
docs/images/bead-epic-work-infographic.png |
After the opening paragraph and before ## Table of Contents. |
The data model, storage model, readiness, and epic execution flow need a single orientation map before command examples. |
docs/rust_backend.md |
docs/images/rust-backend-boundary-infographic.png |
At the start of ## Architecture, before the existing ASCII diagram. |
The section already owns the Python facade and Rust extension boundary, and the image can summarize ownership before details. |
Current sidecar prompt files and target doc embeds match the insertion points above except for the xprompt-resolution and commit-workflow infographics, whose PNGs are stale and intentionally not embedded in their target docs. The four 1672x941 images and the 1600x900 Rust-backend image are all 16:9 PNGs.
Per-Doc Guardrails¶
docs/xprompt.md¶
- Show a user prompt containing
#name,#!workflow, directives, and workspace references. - Include the key resolution stages: protected/disabled-region masking, reference parsing, discovery order, aliases, typed input validation, Jinja2 rendering, and multi-agent fan-out.
- Keep the distinction clear:
#nameexpands inline-capable xprompts or workflows withprompt_part;#!namelaunches standalone workflows. - Do not imply a strict one-level fan-out rule; multi-agent fan-out is bounded by the documented recursion depth cap.
docs/workflow_spec.md¶
- Show input parameters and environment feeding ordered steps, with outputs/artifacts flowing forward by named fields.
- Represent step types as
agent,prompt_part,bash,python,hidden, andparallel. - Make it explicit that
prompt_partinjects text into a containing prompt and is not a separate LLM call. - Show control flow (
if,for,while,repeat/until), parallel branches, join modes (object,array,text,lastOf), and HITL gates without suggesting unsupported nested parallel/loop/HITL combinations.
docs/commit_workflows.md¶
- Show the shared path from
#commit,#propose, or#prthrough the provider-neutral commit finalizer, commit skill,sase commit, andCommitWorkflow. - Keep the three dispatch outputs visually distinct: commit hash plus COMMITS entry, saved diff plus COMMITS entry, and PR URL plus ChangeSpec entry.
- Include bead lifecycle, plan handling, PR tags, parent detection, VCS dispatch, result marker, and tracking as orchestrator stages.
- Show conflict resume as a checkpoint/recover side loop, not as a normal success branch.
- Keep labels VCS-agnostic enough to cover Git, GitHub, and Mercurial provider implementations.
docs/beads.md¶
- Separate the issue model from the execution flow: plan beads with tiers (
plan,epic,legend), phase children, statuses, dependencies, ready/blocked states, and hierarchical IDs belong in one area;sase bead workbelongs in another. - Show
events/**as the git-portable source of truth,issues.jsonlas a compatibility projection, andbeads.dbas the local compatibility cache, all owned by Rust-backed bead operations. - Show the current checkout's
sdd/beads/event store as the version-controlled source of truth. - For epic work, show Kahn waves, pre-claimed phase beads, one agent per phase, waits from dependency edges, and a final land agent waiting on every phase agent.
- Do not reproduce the full command table inside the image.
docs/rust_backend.md¶
- Use a layered boundary model: top-level
sasePython UI/CLI/TUI/workflow host logic,sase.corePython facade and wire records, requiredsase_core_rsPyO3 extension, and sibling../sase-coreRust workspace. - Distinguish Rust-owned operation groups from Python-owned host responsibilities. Rust owns data/query/planning cores; Python owns file-path APIs, VCS/workspace plugins, xprompt resolution, user prompts, process orchestration, TUI rendering, and side-effecting transitions.
- Include
sase core health, golden fixtures, and focused Python/Rust tests as a secondary contract loop. - Do not imply a pure-Python fallback or optional Rust backend for ported operations.