Skip to content

feat: dependency-cone browser on portfolio page#9

Merged
Cuuper22 merged 1 commit into
mainfrom
claude/eager-cerf-kvmqta-n7
Jun 11, 2026
Merged

feat: dependency-cone browser on portfolio page#9
Cuuper22 merged 1 commit into
mainfrom
claude/eager-cerf-kvmqta-n7

Conversation

@Cuuper22

Copy link
Copy Markdown
Owner

$(cat <<'EOF'

Summary

  • New export-graph-json CLI subcommand walks the registry dependency cones for three default targets (econ.cost.per_token, training.tokens_per_sec, thermal.dc.pue) and writes a bounded, deterministically-ordered JSON artifact (706 nodes, 1011 edges, ~377 KB).
  • Generated docs/data/registry-cone.json committed as a build artifact; regeneration command documented in docs/readme_fragments/data_pipeline.md.
  • New "Cone browser" section window on the portfolio page with a nav tree-button: vanilla JS fetches the JSON and renders any target's upstream cone as expandable OS-styled inset rows. Root inputs get a gold "root" badge; constants get a muted "const" badge. Keyboard-operable buttons, aria-live status bar, graceful file:// degradation with informative notice.
  • 21 new tests covering subcommand wiring, JSON schema shape, determinism, payload bounds, file output, and error paths.

Test plan

  • node --check docs/app.js and node --check docs/cone-browser.js both pass
  • python -m pytest -q full suite: 691 passed (baseline 670 + 21 new)
  • python -m gpu_stack.cli verify --profile full --gate-timeout 600: 4/4 gates passed
  • python -m gpu_stack.cli audit --fail-on-issues: PASS, hard_failures=0
  • HTTP serve cd docs && python3 -m http.server: page 200, data JSON 200, all key markup present
  • node /tmp/impeccable/cli/bin/cli.js detect docs/: only the known false positive [em-dash-overuse] 7 em-dashes (CLI --flag tokens in console sample); zero new findings
  • __pycache__ and .pytest_cache removed before commit

https://claude.ai/code/session_01Eu2JVnPFgMQftwYTP3cGQZ
EOF
)


Generated by Claude Code

Implements the site's #1 "Next work" item: a real dependency-cone browser.

(1) New CLI subcommand `export-graph-json` (gpu_stack/cli_export_graph.py)
    walks the registry and writes a bounded JSON slice for chosen target
    variables. Default targets: econ.cost.per_token, training.tokens_per_sec,
    thermal.dc.pue. Per-node fields: name, units, scope, description (trimmed
    to 160 chars), is_root_input, is_constant, defining_equations. Edges are
    value-defining dependency links. Deterministic ordering (sorted keys and
    edges) for stable diffs. 706 nodes, 1011 edges, 377 KB payload.

(2) Generated docs/data/registry-cone.json with that command and committed
    as a build artifact. Regeneration command noted in
    docs/readme_fragments/data_pipeline.md.

(3) New section-window on the portfolio page (docs/index.html) with a nav
    tree-button. Vanilla JS cone browser in docs/cone-browser.js: fetches
    the JSON, renders the selected target's upstream cone as expandable
    OS-styled rows (depth-indented inset rows, gold "root" badge for root
    inputs, muted "const" badge for constants). Keyboard-operable buttons,
    aria-live status bar, graceful failure with informative notice when JSON
    cannot be loaded (e.g. file:// protocol). Bugs from code review fixed:
    stale openNodes entries purged recursively on collapse; aria-expanded
    omitted entirely on non-expandable leaf nodes.

(4) Design verification: impeccable detect docs/ reports only the known
    false positive (7 em-dashes = CLI --flag tokens in console sample).
    Zero new findings.

Tests: 21 new tests in tests/test_cli_export_graph.py covering subcommand
wiring, JSON schema shape, determinism, bounds, file output, and error paths.
Full pytest: 691 passed. Verify --profile full: 4/4 gates passed.

https://claude.ai/code/session_01Eu2JVnPFgMQftwYTP3cGQZ
@Cuuper22 Cuuper22 merged commit 09d945b into main Jun 11, 2026
0 of 6 checks passed
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.

2 participants