How we got here
By v0.35.0 ax could advise on routing and measure paired work blocks, but the feedback loop was still incomplete. Advice fired before a child session existed, OTLP telemetry flowed into tables without a direct health command, and hook installation was still a collection of individual guards rather than one coordinated path. The v0.36.0 range is the consolidation pass: record what the advice said, join it back to the dispatch that followed, expose whether telemetry is flowing, and make hook installation simpler.
The same release also pushes the community side forward. Profiles gained a widget, the site gained pattern and state-report pages, and the graph learned to mine repeated directive and workflow shapes from real sessions.
What changed
Advice now has an outcome ledger (#595): the route-dispatch advice tap writes each PreToolUse[Agent] recommendation to `~/.ax/hooks/advise-log.jsonl`; ingest loads that ledger into the graph; and `ax dispatches --advice` joins advice rows to nearby spawned dispatches. The report can now say whether a suggested cheaper model was followed, ignored, or unmatched.
ax dispatches --advice --days=14
ax dispatches --economy --days=14OTLP got its own read surface (#609): `ax otel` reports receiver freshness, top-level session coverage, and OTLP cost cross-checks. The release also fixed telemetry correlation by matching bare UUIDs to `session:<uuid>` records in JS and scanning only recent telemetry, so a large `otel_log_event` table no longer turns every ingest into a full historical grouping job.
ax otel --days=14Hooks moved toward one dispatcher (#603, #605, #606, #607, #612, #613): `ax hooks install --all` became the one-shot install path, the hooks SDK gained a dispatcher that multiplexes guard verdicts in one process, and the daemon path added a `/hooks/eval` fast path plus opt-in daemon install mode. The site copy was corrected to describe route-dispatch as advice rather than automatic routing.
Directive and workflow mining became inspectable (#592, #598): the graph now derives n-gram lift for directive candidates and mines recurring skill-arc workflows. `ax directives mine`, `ax directives ngrams`, and `ax directives workflows` turn those derived rows into reviewable tables and agent briefs instead of leaving them as hidden ingest artifacts.
Community surfaces expanded: community pattern contributions landed, the nightly compiler produces pattern stats, `/patterns` lets visitors browse those patterns, `/state/<year>` renders a compiled state report, team radar compare arrived, and `ax profile widget` can write a marker-delimited block into a GitHub profile README.
The core graph got less fragile: ingest now sweeps stranded `ingest_run` rows, reapplies additive schema self-heal before ingest, clears derived friction/diagnostic rows on full re-derive, bounds session churn scans to failure candidates, exposes `sessions_churn` through MCP, shows full context startup budget, and derives OpenCode compactions.
Why it matters
v0.36.0 turns several "trust me" systems into inspectable systems. Routing advice can be checked against what actually ran. OTLP can be checked for freshness and coverage. Hook installation has a single path instead of a pile of separate guard commands. And the community/profile additions make the local graph useful outside one machine without losing the evidence trail that made ax useful in the first place.