fix: derive demo-manifest MCP Hub status from real tool-call evidence

The demo manifest still reported the MCP Hub integration as operational purely
because MCP_HUB_REGISTRATION_ENABLED was set, while the integration status page
had already moved to evidence-based status in Batch 4. Registration is
catalog-driven on the Hub's side, so the flag alone proves nothing; reuse
derive_mcp_hub_status() so "operational" requires real recorded mcp_tool_request
calls.

No change to the MCP integration contract: the four read-only routes, service
token and client id handling, inbound X-Correlation-Id preservation, the locale
field on search-knowledge and the provider/correlation_id response fields were
verified as already correct at deployed revision 727c19a and left untouched.
This commit is contained in:
NuklearRabbit
2026-08-05 13:28:43 +00:00
parent dee8f2f7e9
commit e5307a7c0f
3 changed files with 35 additions and 8 deletions
+22
View File
@@ -1840,3 +1840,25 @@ deployed line — `master` is stale, 19 commits behind). Full audit at
separate go-live choice), not gaps hidden from this summary. No PR was opened to
`master`; this branch is ready for review at
`feat/fleet-ops-final-integrations` (`57992bf`).
## MCP Hub status honesty fix (2026-08-05)
Narrow follow-up to Batch 4, made while the Hub-side connector completion (locale,
correlation propagation, real upstream readiness) was implemented in the sibling
`ITWorx_MCP_Hub` repository.
- `demo_manifest.py`'s `mcp_hub` integration summary still derived "operational" purely
from `MCP_HUB_REGISTRATION_ENABLED`, while `/api/v1/integrations/status` had already
moved to evidence-based status in Batch 4. The demo manifest now reuses
`derive_mcp_hub_status()`, so "operational" requires real recorded `mcp_tool_request`
calls — the flag on its own never proves a registration. `docs/demo-release/
demo-concept.md` updated to match.
- **No change to the MCP contract itself.** The four MCP routes, `X-Service-Token`,
`X-Client-Id`, inbound `X-Correlation-Id` preservation, the `locale` field on
`search-knowledge`, and `provider`/`correlation_id` in the response were all verified
as already correct at the deployed revision `727c19a` and deliberately left untouched.
- **Not deployed.** This is a UI/status-honesty fix only; no API compatibility change was
needed, so no Fleet Ops redeploy was performed or is required for the Hub-side work.
- Local gates were **not** re-run this session: the environment this ran in has no
network and no Docker, so `docker compose build api` + `pytest`/`ruff`/`mypy` could not
be executed. Run them before deploying.