Stratos v0.0.20
Added — Feature Breadth tier-7 + tier-1 (the FinOps differentiator + a DX win)
Implementation plan (~/Drop/stratos-ip.md) Phase 3.1 + 3.2 + a Tier-1 entry.
stratos cost [--days N] [--zone Z] [--projected]— spend breakdown by region. Reads/api/billing/usagewhen CloudCDN exposes it (some deployments don't yet); falls back to projecting from/api/core/statistics× the published rate card (COST_RATES).--projectedforces the projection mode explicitly. Output columns:region,requests,bandwidth_gb,cost_usd. Surfaces as MCP toolcloudcdn_cost.stratos carbon [--days N] [--region X] [--intensity-below N]— energy + CO2e attribution for cached traffic. Computescompute_kwh + transfer_kwhper region from documented coefficients (CARBON_DEFAULTS), then multiplies by grid intensity. Live intensity comes from the Electricity Maps public API (free tier — setELECTRICITY_MAPS_TOKENfor the keyed tier); on any failure (network glitch, missing region, rate limit), falls back to documented per-region defaults so the command never hard-fails on a network blip.--intensity-below Nis the carbon-aware deploy gate: exits 0 if at least one region's grid intensity is below the threshold, 69 otherwise. Use as:stratos carbon --intensity-below 250 && stratos deploy. Surfaces as MCP toolcloudcdn_carbon.stratos rules validate <_headers|_redirects> -f <file>— offline structural validator for the two config-as-code formats. Catches the common typos (bad URL pattern, missing colon in header, malformed redirect status, wrong token count) at PR-review time instead of at deploy time. Exits 0 on clean, 65 (EX_DATAERR) with a line-by-line issue list otherwise. No API call.
Documentation
ROADMAP.md— new file mapping the 8 tiers of Feature Breadth work (existing-API completion → deployments → edge compute → edge data → security → identity → FinOps → compliance) against CloudCDN's platform-side API rollout. Tiers 2, 3, 4 are CloudCDN-confirmed roadmapped; the file tracks status transitions (planned→next→shipping→done) over time. Per the rating math in the implementation plan, completing all tiers lifts Feature Breadth from v0.0.20's ~6/10 to ~9.5/10 over 12–18 months.
Background
The implementation plan's Phase 3 called stratos cost + stratos carbon "the talkable feature that earns Console.dev / TLDR placement" — nobody else in the CDN-CLI space has shipped sustainability primitives at the terminal. The FinOps Foundation formalised Cloud Sustainability as a framework capability in 2026; Greenpixie / Opencost surface this for IaC but no CDN CLI does. v0.0.20 ships both. stratos carbon --intensity-below is the carbon-aware deploy gate that the byteiota — FinOps + GreenOps 2026 writeup specifically called out as "talked about, almost no CLI implements it."
The rules validate addition is a Tier-1 DX gap that didn't need a platform change — it caught me out twice in the v013-branch-push tests when typo'd _headers lines silently passed rules set then exploded at edge-time. Now they fail at validate time, before the file ever reaches the API.
Engineering notes
- 19 new tests (
test/v020-cost-carbon.test.mjs) covering happy path + auth-error + threshold-gate + region-fallback + zone-flag forwarding + MCP dispatch for both new tools. stratos schemanow reports 36 commands (was 34). Both new commands carrymcp_toolentries;costandcarbonare also registered inMCP_TOOLSwith proper input schemas so MCP hosts (Claude Code, Cursor) get them automatically.rulescommand's exits[] now includesEX.DATAERR(65); the manifest regression suite caught this drift on first run.- 603 / 603 tests pass; 100 / 100 / 100 / 100 coverage held (some defensive nullish-coalesce arms wear
c8 ignorecomments with explanations).