Add the coverage heat maps to the README (playbooks + FCP capabilities) - #172
Merged
Conversation
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
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.
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
--checkgated in theCIworkflow, 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.domainis necessary but not sufficient; the Connectors Directory review remains the gate.