Maturity & Project Health
How do you know if your codebase is getting healthier or accumulating invisible tech debt?
Most teams rely on gut feeling or crude metrics like code coverage. Anchors provides a comprehensive, multi-dimensional Maturity & Health Framework.
1. The Four Levels of Project Maturity
Section titled “1. The Four Levels of Project Maturity”Anchors classifies projects into four progressive maturity tiers:
| Level | Name | Characteristics | Active Gates |
|---|---|---|---|
| L1 | Seeded | Project initialized with anchors.yaml and baseline specs. |
has-code, header-valid |
| L2 | Governed | Core units governed by The Unit; specs and tests co-located. | unit-complete, spec-feature-match |
| L3 | Robust | Mutation testing enabled; architectural boundaries enforced. | mutation-score, layer-boundary |
| L4 | Hardened | Full propagation waves; security gates blocking; release freezing active. | contract-impact, no-secret-leaked, freeze |
2. Mutation Score vs. Line Coverage
Section titled “2. Mutation Score vs. Line Coverage”High line coverage often gives a false sense of security. A test can execute 100% of statements without actually asserting anything.
Anchors incorporates mutation testing via the mutation-score gate:
- It mutates production code (e.g. changing
>to<, or deleting function calls). - If your tests still pass, the mutant survived, indicating weak test assertions.
- A high mutation score (>80%) proves that your tests genuinely catch defects.
3. Monitoring Health with the CLI
Section titled “3. Monitoring Health with the CLI”Check your project health score at any time:
# Display project health scorecard and gate summaryanchors status
# Audit all gates and list warningsanchors audit