Hypermake graph ownership
Hypermake keeps recipes, target state, dependency manifests, and graph-owned projections explicit. The goal is not to hide build complexity behind dynamic endpoints, but to make useful artifacts cheap, static after build, and explainable from the graph.
public://_hypermake/site/graph-diagram.jsonThis diagram is not an illustration: tools/site-graph-diagram.mjs asks hypermake explain and hypermake state-summary about the page above, checks the proof sidecars on disk, and emits the nodes and edges this SVG renders. If the graph changes, the diagram changes.
rendered://public/components/component-bound.html| Recipe | src/rendered/public/components/component-bound.html.make#1 |
|---|---|
| Recipe digest | a0b01cda0c03… |
| Tape prereq | tape://rendered/public/components/component-bound.html |
| Root packet | xxh128:dbaf037e21f2… |
| Freshness | built (proof-backed) |
hypermake explain rendered/public/components/component-bound.html hypermake graph public hypermake affected-by src/components/component-bound.html hypermake doctor Every edge is explicit.No hidden steps; every output can be traced to its inputs.
Changes are incremental.Only affected nodes rebuild and re-render.
Agents and humans ask the same questions.Inspector and CLI read the same graph.
Graph-owned doctrine
Preferred shape for generated support data
| Need | Preferred artifact | Avoid |
|---|---|---|
| Testing digest | public://_hypermake/testing/latest.json | Request-time route with hidden inputs. |
| Inspector class candidates | Static JSON plus .d prerequisites. | Ad hoc polling or UI recomputation. |
| Style applicability | Precompiled map keyed by template/source node. | Browser-only cascade guessing. |
| Protocol docs indexes | Generated docs page or JSON target. | Manual list that drifts from graph state. |
Commands agents should reach for
hypermake match rendered/public/docs/hypermake-graph.html hypermake explain rendered/public/docs/hypermake-graph.html hypermake affected-by src/docs/hypermake-graph.html hypermake graph public --json --pretty=false hypermake public --summary