Scheduled, read-only documentation gap detector. Diffs the org repo set + an optional read-only AWS inventory + the IT page-ID map (project_confluence_ migration) against Confluence and REPORTS doc gaps / stale pages / missing runbooks into the mode-600 report. RECOMMEND-ONLY per D3/D7: NEVER auto-writes Confluence; the on-demand SSH-invoked write path (incl. Mermaid edits via ~/.claude/scripts/confluence_mermaid.py) is a separate, gated provisioning path. LIVE Confluence API reads need the gated confluence-bot service-account token (D6); when creds are absent OR --no-api/--canary, the API checks are SKIPPED and noted, NEVER reported as a gap on missing data (mirrors compliance-drift's status-code-aware API-skip pattern: 200 parse, 404 real gap, else skip). Offline --canary asserts the doc-gap count (3) against a fixture (repo list + mock page-map + mock AWS inventory): a repo with no IT page, an AWS resource not in the map, and a missing required runbook page; precision non-gaps (matched repos/resources, doc-exempt repo, present required pages, skipped API) must not inflate the count. shellcheck-clean (only the shared SC1091 substrate-source info). PROVISIONING (confluence-bot account + 90-day rotation, page-1540098 live dry-run expecting 16 weweave macros, systemd wiring, coordinator registry) documented in the footer, deferred — gated.
7 lines
555 B
JSON
7 lines
555 B
JSON
{
|
|
"_comment": "MOCK read-only AWS inventory for confluence-doc.sh --canary. Stands in for what a read-only AWS inventory collector would emit (stacks/Lambdas). Each .resources[] entry is matched (by name token) against the page-ID map. 'payments-dashboard' matches the 'Payments Dashboard' page (no gap); 'afi-backup-monitor' has no page (1 planted gap).",
|
|
"resources": [
|
|
{ "type": "Lambda", "name": "payments-dashboard", "stack": "payments-dashboard" },
|
|
{ "type": "Lambda", "name": "afi-backup-monitor", "stack": "afi-backup-monitor" }
|
|
]
|
|
}
|