Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: operatorstack/composable-model-graph
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: operatorstack/composable-model-graph
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: render-json-example
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 3 commits
  • 17 files changed
  • 1 contributor

Commits on Jul 29, 2026

  1. feat(examples): render a diagram from a JSON spec (example 19)

    Add a JSON->diagram loader so tools and agents that hold a graph as
    plain data can render it deterministically. Reads a spec (file path or
    stdin), builds the graph with identity transforms, and prints via the
    terminal viewer. TypeScript + byte-identical Python twin.
    bigboateng committed Jul 29, 2026
    Configuration menu
    Copy the full SHA
    75f4258 View commit details
    Browse the repository at this point in the history
  2. feat(skills): cmg skill — terminal system diagrams from any chat context

    Drives example 19: maps whatever is in context (an architecture, a
    pipeline, a Locus model/verdict, two designs) to a JSON graph spec and
    renders it with the deterministic terminal viewer. Source of truth for
    the byte-identical installs under ~/.claude/skills and ~/.codex/skills.
    bigboateng committed Jul 29, 2026
    Configuration menu
    Copy the full SHA
    ebda8e5 View commit details
    Browse the repository at this point in the history
  3. feat(terminal): auto-abbreviate to short codes + legend on overflow (#20

    )
    
    When a compact chain or diamond would exceed the column budget in the
    default `auto` direction, node labels are replaced with short, deterministic
    codes and a `Legend` block mapping each code to its full name is appended —
    so a near-linear flow stays one readable row instead of collapsing to the
    stacked vertical list. Codes derive from the names (word initials, or
    first-letter + consonants for a single word), de-duped in node order;
    nothing is invented. Explicit `direction:"horizontal"` keeps its strict
    error contract, so the change slots into a previously-uncovered column band
    and moves no existing test.
    
    Mirrored byte-identically in the Python twin (language-parity law) with a
    new parity test in each suite. Skill doc notes the behavior so callers can
    pass full names and let the renderer decide.
    bigboateng authored Jul 29, 2026
    Configuration menu
    Copy the full SHA
    81fdfa1 View commit details
    Browse the repository at this point in the history
Loading