Skip to content

Add the coverage heat maps to the README (playbooks + FCP capabilities) - #172

Merged
OptimNow merged 4 commits into
mainfrom
feat/coverage-heatmap
Aug 20, 2026
Merged

Add the coverage heat maps to the README (playbooks + FCP capabilities)#172
OptimNow merged 4 commits into
mainfrom
feat/coverage-heatmap

Conversation

@OptimNow

@OptimNow OptimNow commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Two committed, CI-gated SVG heat maps in the README, plus a reframing of what "coverage" means.

Waste-playbook runbook map (scripts/render-coverage-heatmap.py -> assets/playbook-coverage.svg): category x provider grid, OptimNow-accent intensity ramp, dashed cells for known gaps, backlog pointer to docs/ROADMAP.md. Title and footer now state explicitly that this is runbook coverage only - a field test showed the map alone reads as the skill's whole coverage, which it is not.

FCP capability map (scripts/render-fcp-heatmap.py -> assets/fcp-coverage.svg): the 22 FinOps Framework capabilities from the committed fcp-coverage.md - owned by a primary reference, touched as secondary only, or deliberately deferred (ROADMAP). This is the surface where the advisory themes (commitments, chargeback, allocation) live, none of which need a runbook to be answerable.

The README coverage section presents both and names the third, behavioural surface: the maintainer-side probe battery, whose findings land in the same public backlog.

Both renders are --check gated in the CI workflow, so any frontmatter change that moves coverage shows up as an SVG diff in the PR.

Also records in CLAUDE.md the 2026-08-20 Desktop render test result for MCP Apps: valid ui.domain + tool called + no validation error + no render, i.e. ui.domain is necessary but not sufficient; the Connectors Directory review remains the gate.

scripts/render-coverage-heatmap.py renders the waste-playbook coverage
(category x provider) as assets/playbook-coverage.svg - OptimNow-accent
intensity ramp, dashed cells for the known gaps, footer pointing at the
public backlog in docs/ROADMAP.md. Embedded in README.md so users see
the coverage shape, gaps included, before installing: publishing the
holes deliberately is cheaper than users discovering them by empty
query. Same CI discipline as the markdown matrix (--check fails on
drift); the new-playbook checklist item now regenerates both.
@OptimNow
OptimNow enabled auto-merge (squash) August 20, 2026 09:18
scripts/render-fcp-heatmap.py renders the 22 FinOps Framework capabilities
from the committed fcp-coverage.md (primary / secondary-only / deferred gap)
as assets/fcp-coverage.svg, CI-gated like the playbook map. The README
coverage section now presents both maps and names the third, behavioural
surface (the maintainer-side probe battery), because a field test showed
the playbook map alone reads as the skill's whole coverage - it is only
the runbook catalogue. The playbook SVG title and footer now say so too.

CLAUDE.md: record the 2026-08-20 Desktop render test - valid ui.domain,
tool called, no validation error, still no widget - closing the question
left open on 2026-08-19: ui.domain is necessary but not sufficient, the
Connectors Directory review remains the gate.
@OptimNow OptimNow changed the title Add the coverage heat map to the README Add the coverage heat maps to the README (playbooks + FCP capabilities) Aug 20, 2026
The FCP domain names contain '&' (Understand Usage & Cost) and the SVG
text nodes were not XML-escaped, so the committed fcp-coverage.svg failed
to parse in any renderer. Escape domain, capability and note strings.

CLAUDE.md: same-day evidence overturned the earlier conclusion - the
Skybridge-built companion connectors render their widgets in Claude as
plain custom connectors, so the gate is implementation shape, not the
Connectors Directory. Record the three Skybridge deltas to mirror.
@OptimNow
OptimNow disabled auto-merge August 20, 2026 15:43
@OptimNow
OptimNow merged commit 4b139da into main Aug 20, 2026
3 checks passed
@OptimNow
OptimNow deleted the feat/coverage-heatmap branch August 20, 2026 15:43
@OptimNow OptimNow mentioned this pull request Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant