Make Plato the reflex. Today it waits to be asked — and the demand experiment proved that’s the whole bottleneck: when an agent reaches for Plato it wins decisively (47/47 vs a grep’s 30/47); when it doesn’t, Plato may as well not exist. prime flips pull→push: the moment an agent starts work in a repo, Plato injects a short, current orientation — the map, the load-bearing spots, any lying gate, and where it’s blind — without the agent deciding to ask.
The shape of the build. The five calls that are yours are in §09.
Re-weighted after the graded review: the reliable, always-on surface is the static one.
startup|compact, plain stdout (≤10k cap → ~600-char headline), --hook-json opt-in for Gemini. Installed to the project’s .claude/settings.local.json ONLY. Rejected vectors: the MCP instructions field (CC stores but never reads it); Skills auto-invoke (~50% probabilistic — it reproduces the reach gap); a slash-command (manual pull = status quo). Only a hook + a static pointer are deterministic.One token-budgeted headline. Headline only — per-file detail is the action layer’s job.
The whole reason anyone could trust a push. Lifted from the file grain to the session grain.
Each has a structural guard + a RED-under-break gate tooth.
The spec waits on these. The starred two are the ones I most want you to set.
.claude/settings.local.json + AGENTS.md. My rec: human-gated on first run, never autonomous, never the global config, never your vetharness-sites working tree.plato broken-chains pull. Alternative: leave it out of prime v1.