Skip to content

Re-derive v5 coverage plan against current main (supersedes #153) #177

Description

@millsmillsymills

#153 (the >=90% coverage plan) was closed unmerged from the review/merge cycle. This issue carries forward its still-useful research and the work needed to make it mergeable.

Why #153 was closed

  • Its Phase 1 (read-backfill) already shipped via feat(domain): read-backfill GET tools #173 / feat(livedns): read-backfill GET tools #174 / feat(cert,email): read-backfill GET tools #175 — main is now 91 tools (54 read / 29 write / 8 purchase), so the plan's "71 tools" baseline is stale.
  • The plan's headline math was internally inconsistent (per-area covered counts, "all 81" vs "35 of 55" vs the enumerated Phase 4/5 checklists, 71-vs-72 baseline).
  • The 208-endpoint denominator was hand-counted from live RAML and is not reproducible from the repo — there is no vendored spec to diff against, and §5 itself notes it will drift. Re-baselining the percentages would propagate unverifiable numbers.

What to do for a mergeable v2

  1. Build the programmatic denominator first (the §5 follow-up): add a scripts/ RAML-snapshot fetcher that captures the live /v5 endpoint set, vendored into the repo so tests/unit/test_tool_schema_matrix.py can guard real coverage, not just self-consistency.
  2. Re-derive per-area covered counts from the generated matrix (authoritative), not by hand. Current registered surface: billing 3, certificate 8, domain 38, email 16, livedns 21, organization 5.
  3. Mark Phase 1 done; re-scope Phases 2–5 against the new baseline; reconcile the implement/defer headline against the enumerated per-area tables so every total/percentage ties out.

Worth preserving from #153 (verbatim research, re-confirm against fresh RAML)

  • Appendix A endpoint inventories for the three newly-discovered zero-coverage areas: mailbox (18), linkedzone (12), comment (3).
  • The two CLAUDE.md "v5 gap" reconciliations: PATCH /v5/domain/domains/{domain}/status (transfer-lock) and POST …/transferout appear in live RAML but are documented as gaps — verify against a real account before building.
  • Phase structure (read → free-write → gated-purchase, per area) and the purchase-tool default-off gating rules.

The #153 branch (docs/tool-coverage-90pct-plan) holds the original draft if needed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions