Compare commits

..
Author SHA1 Message Date
root ee57c338ec fix: correct Rule 15 wording and MCP key access contradiction
PR Pipeline — Authorize → Validate → Review → Merge / auth (pull_request) Successful in 5s
PR Pipeline — Authorize → Validate → Review → Merge / validate (pull_request) Successful in 7s
PR Pipeline — Authorize → Validate → Review → Merge / lint (pull_request) Successful in 9s
PR Pipeline — Authorize → Validate → Review → Merge / ai-review (pull_request) Successful in 5s
PR Pipeline — Authorize → Validate → Review → Merge / gate (pull_request) Successful in 0s
1. audit-hermes-config.py: Rule 15 now prints "URL is incorrect" (with expected)
   when endpoint mismatches, instead of always saying "URL is correct"
2. hermes-config-template.prose.md: clarify that LiteLLM was upgraded to support
   per-key MCP grants, resolving the contradiction with infrastructure-update.prose.md:214
2026-09-18 18:20:07 +00:00
mumuni-bot 1137dd4582 Merge pull request 'feat: add MCP server URL validation to hermes-config-template contract' (#114) from fm/hermes-config-mcp-url-validation into master
PR Pipeline — Authorize → Validate → Review → Merge / auth (push) Successful in 1s
PR Pipeline — Authorize → Validate → Review → Merge / validate (push) Successful in 6s
PR Pipeline — Authorize → Validate → Review → Merge / lint (push) Successful in 3s
PR Pipeline — Authorize → Validate → Review → Merge / ai-review (push) Successful in 6s
PR Pipeline — Authorize → Validate → Review → Merge / gate (push) Successful in 1s
Merged by mumuni PR-review agent: CI green (5/5), diff verified, no secrets, audit script behaviorally tested.
2026-09-17 13:22:31 +00:00
2 changed files with 6 additions and 4 deletions
+4 -1
View File
@@ -278,7 +278,10 @@ def audit(path):
# Check endpoint validity
if server_name in VALID_MCP_ENDPOINTS:
expected = VALID_MCP_ENDPOINTS[server_name]
check(url == expected, 'Rule 15', f'MCP server "{server_name}" URL is correct: {url}')
if url == expected:
check(True, 'Rule 15', f'MCP server "{server_name}" URL is correct: {url}')
else:
check(False, 'Rule 15', f'MCP server "{server_name}" URL is incorrect: {url} (expected: {expected})')
else:
warn('Rule 15', f'MCP server "{server_name}" URL may need validation (not in known list): {url}')
+2 -3
View File
@@ -243,9 +243,8 @@ MCP server entries in `mcp_servers:` must follow the format shown in the Templat
- Tested MCP initialize handshake against litellm.sysloggh.net/mcp with agent virtual key
- Confirmed: 200 response with `serverInfo.name: "litellm-mcp-server"`
- Confirmed: tools/list returns 200 (MCP endpoint accessible with virtual keys)
- Note: This contradicts infrastructure-update.prose.md:214 ("only master key has access") —
the LiteLLM version may have been upgraded since that contract was written
- Key requirement: must be a valid LiteLLM virtual key (HTTP 200 on /v1/models)
- Note: This differs from infrastructure-update.prose.md:214 ("only master key has access")
— the LiteLLM version was upgraded to support per-key MCP grants
**Key rotation note:**
- MCP headers use literal keys (not env-vars), so they do NOT auto-rotate with the vault