v1.5.0 — Engine-layer governance + orchestration codification
Engine-layer governance (canonical spec + always-loaded runtime mirror)
- BEHAVIOR_SPEC.md authored as the canonical engine specification. §1–§8 reduce all engine decision authority — intake routing, mode selection, reference loading, verdict conditions, module firing, confidence bounds, behavioral overrides, and domain-policy gating — into deterministic IF/THEN rules.
[AMBIGUOUS-EXTRACTED]tags carry forward pre-existing ambiguities from source material unresolved. - SKILL.md ↔ BEHAVIOR_SPEC.md mirror invariant established. SKILL.md is the always-loaded runtime mirror; BEHAVIOR_SPEC.md is the canonical spec. Every load-bearing rule MUST exist in both files with SKILL.md carrying the full text inline (the 5 load-bearing behavioral rules, intake routing consequents, mode selection triggers, verdict conditions, reference-loading matrix). This preserves v1.4.0's partial-load discipline (0/5 → 5/5 rule survival) while letting maintainers reason from a single canonical source. The mirror invariant is declared in both files' preambles and codified in
docs/MAINTENANCE.md. - Decision authority stripped from diagnostics/ and references/. Each file's preamble now points decision authority to BEHAVIOR_SPEC.md; verdict consequents removed; observational catalogs preserved.
references/mode-behaviors.mdandreferences/module-guide.mdreduced (~37% size) — rule machinery moved to spec, module bodies kept as rationale. docs/VALIDATION.mdauthored. Enforcement spec for the four repo-integrity rules (description char-count, gotchas section-count, banned-token, SKILL.md path integrity). The PreToolUsegit commithook mirrors this spec; if they diverge, the spec is authoritative.
Namespace topology + presentation/policy separation
templates/renamed todomain-policies/. Resolves ADR-0002 Issue C (the directory's actual contract is domain gating/configuration, not formatting scaffolding). All 8 domain policies retain their-azimuth.mdfilenames.- Domain-policies cite spec rules per RULE-8.10. Every rule-shaped sentence in
domain-policies/*-azimuth.mdnow explicitly cites the BEHAVIOR_SPEC.md rule it activates, suppresses, or parameterizes. Three domain-level confidence-cap statements replaced with citations to the cross-cutting RULE-6.5 (incentive-misalignment cap) per RULE-8.6. .claude/skills/namespace split (narrowed). Four maintenance skills (research-scout,verdict-auditor,gap-scanner,reference-authoring) moved under.claude/skills/maintenance/. Speculativeruntime/,eval/,plugin/,meta/namespaces deliberately NOT created — empty namespaces would imply ontology without occupants.ui-ux-pro-maxplugin skill removed as superseded by the globalimpeccableskill. Local install had been half-broken (data/scripts pointed at a non-existentsrc/tree)..claude/skills/now contains onlymaintenance/plus the gitignoredazimuth/install-test self-copy.executive-azimuth.mdrelocated. Identified as a presentation/format file misfiled underdomain-policies/. Moved toreferences/output-format-executive.md. Domain-policies/ now contains only true domain-gating policies (8 files, all wired through BEHAVIOR_SPEC.md §1.3 RULE-1.12..RULE-1.19).
Spec corrections
- RULE-6.6 narrowed. Layer-3 domain set reduced from
{3 (Hiring), 8 (Startup)}to{8 (Startup)}only — the co-founder governance structural-completeness rule has no source support indomain-policies/hiring-azimuth.md. Spec previously claimed cross-domain firing; verification of source files showed onlystartup-azimuth.mddefines a Co-Founder Structure Check. - RULE-8.12 stripped of source-unsupported clause. Removed the "PROCEED suppressed per §6 RULE-6.6 when co-founder governance structure incomplete (applies to co-founder hires only)" clause. This was an inferred extension to the Hiring domain with no source support.
- RULE-4.15 'fragility-CRITICAL' label dropped. Eliminates a cross-layer reference leak (the label appeared only in
diagnostics/fragility-scan.md, not in spec).
Maintenance orchestration
- ADR-0001 added.
docs/adr/0001-bespoke-orchestration-layer.mdrecords the producer/consumer split, lazy file creation, hard-dep vs soft-dep maintenance skills, and what is deliberately not built (no pipeline skill, no verify-mode flag, no upfront CONTEXT.md, no ADR backfill). - ADR-0002 added.
docs/adr/0002-engine-layer-governance.mddeclares the SPEC / RUNTIME / DIAGNOSTICS / RATIONALE four-layer taxonomy. Both ADRs subsequently aligned with executed state (post-execution footers added). docs/MAINTENANCE.mdauthored. Operational orchestration anchor: verification layers (commit-time / audit-time / release-time), maintenance-loop responsibilities, subagent dispatch invariants, migration / rollback discipline (including the path-rename follow-up-commit pattern), drift-vectors table, and 6-step next-session continuation. Reading it + the two ADRs is the documented onboarding path for any external maintainer..out-of-scope/directory seeded. Two rejection-rationale files promoted from private maintainer notes to durable, citable repo artifacts:template-expansion-without-evidence.mdandbreadth-before-reliability.md.docs/agents/domain.mdupdated. Now points consumer skills atdocs/adr/as the durable record; CHANGELOG remains the record for shipped behavioural changes.reference-authoringskill added (fourth maintenance skill) with discipline for new reference files and domain-policies: EXTEND-vs-CREATE, Module 7 vocabulary header, sourcing caveat, pre-verdict gate.
Repo hygiene + fork legibility
.gitignoreadjustments.docs/adr/anddocs/agents/ship with the repo so forks get a working orchestration substrate.docs/MAINTENANCE.mdadded to the docs allow-list..claude/skills/azimuth/(local install-test self-copy) and.playwright-mcp/(MCP cache) ignored.CLAUDE.mdremoved from .gitignore (the file was tracked but the entry implied "internal only" — implementation contradicted intent; resolved by treating CLAUDE.md as the public maintainer guide it already was).
- BEHAVIOR_SPEC.md fork-legibility fix. Dropped the dangling session-local rationale reference (
docs/superpowers/specs/…) that pointed at a gitignored artifact. ADR-0002 is now the sole rationale anchor. - README, CLAUDE.md, gap-scanner, ADRs aligned with the
templates/→domain-policies/rename, the.claude/skills/maintenance/namespace split, and the executive-format relocation. No dangling paths remain in tracked .md content (CHANGELOG historical entries andevals/test-*-control-skill.mdfrozen snapshots intentionally preserved). evals/README.mdannotated. Explains whytest-*-control-skill.mdfiles reference pre-renametemplates/...paths (frozen control snapshots; modifying invalidates baselines) and names the correct path forward (capture a new version-tagged file).- Two role-bound subagents added.
.claude/agents/azimuth-evidence-checker.mdaudits proposed numeric heuristics / thresholds / empirical claims;.claude/agents/azimuth-output-auditor.mdstress-tests pasted AZIMUTH outputs against the skill's structural rules. Both read-only; both invariants documented indocs/MAINTENANCE.md.
Planned
See ROADMAP.md for the why on each.
- Evidence tags. Every output claim carries a provenance tag.
- Audit trail. Output lists modules run and what each surfaced.
- Market-entry template. Dedicated template for geographic expansion / international market-entry decisions (post-build eval identified product-launch-azimuth.md as an imprecise proxy for this domain).