0.9.0 builds a config front door. Hooks, skills, and agent definitions now share a common spine: one set of domain modules, one CLI wiring, and one path into the graph, so what's installed in your harness config and what ax knows about stay in sync.
Reconcile is now scope-partitioned - it only touches the scopes it owns, so a project-level sync can't clobber global or other-repo entries. Agent scoping also gets sharper, with repo-qualified project scope and agent-scoped skills hidden from `ax skills unused`.
Highlights
- Hooks, skills, and agent config flow through one shared front door into the graph.
- Reconcile is scope-partitioned and only modifies the scopes it owns.
- Project scope is repo-qualified, so per-repo agents resolve unambiguously.
- The config view distinguishes out-of-scope rows from true orphans.
- Editing a hook preserves its ax marker, keeping hook identity stable.
Why it matters
Config drift is how guidance quietly stops applying. With one front door and ownership-aware reconcile, ax can tell you what's actually wired up - and fix it - without stepping on configuration it doesn't own.