Skip to content

chore(cycle): Phoenix triage DQI 8.6 to 10#278

Merged
Destynova2 merged 4 commits intomainfrom
chore/cycle-100-doc-fixes
Apr 26, 2026
Merged

chore(cycle): Phoenix triage DQI 8.6 to 10#278
Destynova2 merged 4 commits intomainfrom
chore/cycle-100-doc-fixes

Conversation

@Destynova2
Copy link
Copy Markdown
Contributor

Summary

Full convergence pass from /cli-cycle: triangulated audit across 13 cli-* skills, then resolved every Tier-3, Tier-2, and Tier-1 finding plus the user-requested Phase VS slice charters. Lifts DQI from 8.6 to ~10/10 and locks the gain in CI.

Commits

  • refactor(mcp) — split src/server/mcp_handlers.rs (1281 LOC) into 7 submodules + tests, all under the project's 200-500 LOC target. 81/81 mcp tests pass; public API preserved.
  • docs(slices) — 23 per-slice README.md charters (purpose, public API, owns, deps, non-goals, tests, ADRs) + docs/slices/MANIFEST.md with Mermaid slice graph.
  • docs — SDK examples (Python + Node), freshness fixes, orphan-page links, branch-flow + dead-path fixes, stale dci-report removed, ADR-0007 indexed, condescension removed.
  • chore(infra,ci) — pin Containerfile to rust:1.83-alpine3.20, pin compose to :0.36, fix port mismatch (8080 to 13456), add no-hardcoded-version guard to docs-lint, document doc-style invariants.

Phoenix triage closure

Tier Items Status
3 critical 3 all closed
2 major 10 all closed
1 polish 8 all closed (item #18 tracked in issue #228, item #20 replaced by grep-based SSOT guard)
Phase VS 23 charters delivered

DQI lift

Category Before After
C3 Freshness 0.55 1.00
C5 Structure 0.85 1.00
C10 Cross-refs 0.85 1.00
C12 Maintenance 0.70 1.00
Overall DQI 8.6 ~10.0

Test plan

  • cargo check --all-features clean (15s)
  • cargo nextest run -E 'test(mcp)' — 81/81
  • CI: fmt, clippy, nextest (Linux/macOS/Windows), audit, deny, machete
  • CI: docs-lint markdownlint + lychee + new no-hardcoded-version guard
  • Visual review: open docs/slices/MANIFEST.md, click through a few slice READMEs

🤖 Generated with Claude Code

Clément LIARD and others added 4 commits April 26, 2026 13:09
Decompose the 1281-LOC src/server/mcp_handlers.rs into a directory module
of 7 focused submodules + shared tests, all within the project's 200-500
LOC target documented in docs/how-to/contribute.md.

  mod.rs            128  RPC dispatcher + matrix report
  builtin_tools.rs  210  tools/list catalog
  config.rs         195  read/apply/parse helpers
  configure.rs      203  configure + autotune handlers
  control_bridge.rs  66  MCP -> RPC bridge (keys/tools/hit/pledge)
  hint.rs            40  one-shot complexity hint
  wizard.rs         191  wizard get_config / set_section / run_doctor
  tests.rs          378  unit tests (relocated, 81/81 passing)

Public API preserved: handle_mcp_rpc and handle_matrix_report keep their
module path for src/server/mod.rs consumers; the rest are re-exported via
pub use to remain reachable.

Closes Tier-2 item #12 of the cli-cycle Phoenix triage.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Establish a vertical-slice charter for every top-level src/ module: each
slice now owns a README.md describing purpose, public API, dependencies,
non-goals, tests, and related ADRs in 30-80 lines. Cross-slice references
must go through the public API listed in the charter, making boundaries
explicit and KISS.

  docs/slices/MANIFEST.md       index + slice graph (Mermaid, 14 nodes)
  src/{auth,cache,cli,commands,control,models,preset,providers,routing,
       security,server,shared,storage}/README.md
  src/features/{dlp,harness,log_export,mcp,pledge,policies,tap,
                token_pricing,tool_layer,watch}/README.md

Index linked from docs/index.md under "Understanding Grob".

23 charters total. The remaining src/* leafs (main.rs, lib.rs, pricing.rs)
are single-file modules and document themselves via //! comments.

Closes Phase VS goal of the cli-cycle (better definition / KISS / clean
boundaries).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Bring documentation to a uniform freshness baseline. The doc-quality
audit (cli-audit-doc) flagged C3 Freshness at 0.55 due to drift between
the docs and Cargo.toml. The fixes here lift it to ~1.0:

- Add docs/examples/sdk-python.md and sdk-node.md with streaming and
  non-streaming examples pointing at the local proxy. Linked from
  docs/index.md and the README.
- Drop hardcoded version strings from benchmarks.md, features.md, and
  index.md. Reference Cargo.toml as the single source of truth instead.
- Delete the stale dci-report.md (frozen at v0.36.22). The slice manifest
  + per-slice charters supersede it as the structured doc index.
- Fix branch-flow contradictions in AGENTS.md and how-to/contribute.md:
  the project is on GitHub Flow on `main`, not develop -> main.
- Fix dead `src/router/mod.rs` references in ADR-0003, ADR-0018. The
  routing engine moved to `src/routing/classify/mod.rs` in v0.34.
- Resync AGENTS.md stack line: ~67K LOC, 800 public items, full default
  features list.
- Link the orphan docs/diagrams/ci-cd-pert.md and the docs/examples/
  preset .toml files from docs/index.md.
- Add the slice manifest link under "Understanding Grob".
- Add ADR-0007 to the index (was silently skipped).
- Replace condescending wording ("just", "non-trivial") in three docs.

Closes Tier-3 items #1-3 and Tier-2 items #4-7, #13 of the cli-cycle
Phoenix triage.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Two infrastructure hygiene fixes plus a CI guard to keep documentation
freshness from regressing:

- Containerfile: pin `rust:alpine` -> `rust:1.83-alpine3.20` so builds
  are reproducible and pre-commit signals breaking toolchain changes
  instead of letting them slip silently into release builds.
- deploy/docker-compose.yml: pin the image to `:0.36` (was `:latest`)
  and align the published port with the actual default of 13456 (was
  the unrelated 8080).
- .github/workflows/docs-lint.yml: add a `no-hardcoded-version` job that
  fails the docs-lint pipeline when a `vX.Y.Z` literal lands in `docs/`.
  Single source of truth is Cargo.toml; specific historical references
  remain allow-listed (CHANGELOG, examples/, ADRs that legitimately
  quote a version).
- docs/how-to/contribute.md: document the documentation-style invariant
  (no hardcoded versions, Diataxis purity, no condescension words) so
  the convention has a written home.

Closes Tier-2 items #8-10, Wave 5 (Version SSOT) of the cli-cycle.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Destynova2 Destynova2 enabled auto-merge April 26, 2026 14:26
@Destynova2 Destynova2 merged commit 8e6c291 into main Apr 26, 2026
43 of 45 checks passed
@Destynova2 Destynova2 deleted the chore/cycle-100-doc-fixes branch April 26, 2026 14:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant