e9b37e86df
Eight new MCP tools on top of the Phase 3 baseline. Each one uses
TimedCall so calls show up in usage.jsonl alongside search/get/list.
Phase 9 — multi-version diff:
* list_cluster(bundle_id, page_id) — cross-version peers from the
synthesized topic_cluster (same GUID across 8.1.x versions).
* diff_versions(bundle_id, page_id, against_bundle_id) — unified
diff between two bundles; uses topic_cluster first, falls back to
same page_id (which works because HVM GUIDs are stable cross-version).
* bundle_changelog(new, old) — page-level adds/removes/churn summary,
sorted by lines moved; uses _diff_churn helper.
Phase 11 — curated knowledge:
* hvm_api_lessons(topic?) — surfaces docs_mcp/api_lessons.md (manager
sizing, upgrade ordering, plugin/worker version compat, backups
setup, console keyboard, elevation, ops gotchas). topic= filters to
matching H2 sections. Marked "call proactively for HVM scripting /
integration / upgrade questions" in the docstring so the LLM uses it.
Phase 12 — doc-bug workflow:
* find_doc_inconsistencies(scope_query, ...) — read-only scan with two
checks: cross_version_drift (line-diff vs cluster peers, in-band
10-60% of file = high confidence) and redirect_chain (short body
that's mostly a "see [other page]" pointer).
* submit_doc_bug(page_url, content, ...) — env-gated OFF
(DOC_BUG_SUBMIT_ENABLED) AND requires DOC_BUG_API_URL. Refuses
cleanly with a manual-fallback message when either is unset.
Allowlist: support.hpe.com only. Mandatory operator-confirmation
pattern in the docstring; loud "do not loop" warning. The actual
HPE feedback endpoint hasn't been sniffed yet — when it is, set
both env vars and verify the payload shape against the schema.
Phase 13 — weekly digest:
* _digest_history() reads corpus/.digest/history.jsonl (built by
scrape.changelog --history-out in the CI refresh workflow).
* weekly_digest(days, version?, platform?, ...) aggregates corpus-
touching commits in the window. Post-filter totals so version /
platform filters give honest "X page changes" numbers, not the
pre-filter commit count.
* corpus_status() reports image build time, latest upstream Published
date, total bundles/pages/chunks, and the 5 most-recently-edited
bundles.
Tool count now: 11 registered (search_docs, get_page, list_versions,
list_cluster, diff_versions, bundle_changelog, weekly_digest,
corpus_status, hvm_api_lessons, find_doc_inconsistencies, submit_doc_bug).
Verified end-to-end via MCP stdio tools/list.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>