docs/dependency-map/ and scripts/dependency-map.py at the platform repository root.
Query impact before a change
--summary prints the same answer as a short text block for a plan or a delegation brief, and accepts several paths at once. Results are cached against both repositories’ state, so repeat queries take about a second. --brief lists every feature with its status, the user journeys and the recent product decisions; agents get it automatically at session start and in delegated task files.
Keep the curated links true
Imports and package manifests are read automatically. Products, runtime calls (HTTP, WebSocket, spawned processes), sidecars and shipping paths are recorded by hand with evidence inproducts.json and runtime-links.json. Features and journeys are recorded in features.json: each feature names its product, status (live, building or planned), the components it touches and its dated decisions; each journey lists the components a user passes through, in order, with one line on what happens at each step. Update them in the same pull request as the change, then run python3.11 scripts/dependency-map.py --validate.
The viewer
The map is published to an internal, access-controlled site that rebuilds frommain after every merge. It has three views: product topology (products from what people use down to the APIs underneath), features and journeys (the components a feature touches or a journey walks through, numbered in step order, with the shipped surfaces they reach and a column of recent dated decisions), and a code graph for any product, component or file. Links to a feature or journey (#features/<id>) open it directly. Generated output lists private repository paths, so it is never committed.