Build Log · August 30, 2026

Briefing's Third Correction, a Cost Rule, and Real Spend Visibility

Three same-day corrective passes took Briefing from telemetry-narration to genuine altitude-and-temporal-honest synthesis; a live Owner Loop deploy-retry bug and a stale lockfile got fixed along the way; a hard 'no Claude API by default' cost rule got written and applied by migrating all of Briefing's AI calls to OpenAI; and a brand-new Spend & Value mechanism, built against real (not estimated) provider Admin APIs, found and fixed a live, portfolio-wide Vercel misconfiguration worth a real, verified ~79% build-cost reduction across all 16 projects.

  • Briefing
  • Spend
  • Cost
  • Vercel
  • Owner Loop
  • Evidence Discipline
  • AI Provider Migration
corrective passes on Briefing's synthesis (altitude, temporal validity, provider migration)
3

corrective passes on Briefing's synthesis (altitude, temporal validity, provider migration)

real Vercel projects fixed from Elastic to Standard build machines
16

real Vercel projects fixed from Elastic to Standard build machines

verified real build-cost reduction from the build-machine fix
~79%

verified real build-cost reduction from the build-machine fix

Timeline

  1. Correct

    Fixed Briefing's altitude and temporal-validity gaps

    asOf field, prompt rework, quiet UI tag

  2. Migrate

    Moved all Briefing AI calls off Anthropic onto OpenAI

    Cost rule written into ai-patterns.md

  3. Design

    Confirmed 4 real provider Admin APIs live before building anything

    OpenAI usage+costs, Anthropic usage+cost+Claude Code Analytics, Vercel FOCUS billing

  4. Build

    Shipped spend_snapshots, fetch-provider-usage.ts, attribution map, /spend page

    Found and fixed 2 real idempotency bugs along the way

  5. Investigate

    Traced a live Vercel cost question down to its exact root cause

    Elastic build machines assigning ~20 vCPUs for 29-second builds

  6. Fix

    Pinned all 16 real Vercel projects to Standard, verified live

    Updated provision-canvas-app.mjs so future apps don't regress

  7. Correct again

    Found and fixed a fabricated week-over-week trend before shipping

    Provider-onboarding gap, not a real cost spike

What shipped

  • 3 corrective reworks of products/alloy/lib/briefing/{types,index,synthesize,attention,what-changed,research-landscape,trends,what-were-learning,medinachf-request-language,where-we-are}.ts and components/briefing/BriefingCockpit.tsx — significance ranking, strategic-altitude synthesis, temporal-validity (asOf: live/historical) tagging, and full migration off @anthropic-ai/sdk onto OpenAI (gpt-5.6-luna)

  • .claude/rules/ai-patterns.md — new durable cost rule: no new @anthropic-ai/sdk call sites, default to OpenAI

  • products/alloy/lib/db/schema.ts — new spendSnapshots table (twice-corrected dedupe design)

  • products/alloy/scripts/fetch-provider-usage.ts — pulls real spend from OpenAI, Anthropic (2 endpoints), and Vercel

  • products/alloy/lib/spend/{attribution-map,compute-spend-summary}.ts — provider-identifier-to-ForgeKit-app mapping, honest trend/projection compute layer

  • products/alloy/app/w/[slug]/spend/page.tsx + components/spend/SpendCockpit.tsx — the real Spend & Value page, with daily chart, week-over-week, and run-rate projection sections

  • .github/workflows/fetch-spend.yml — scheduled daily pull (not yet live, pending 4 GitHub secrets)

  • forgekit-os/scripts/provision-canvas-app.mjs — new canvas apps now provisioned with buildMachineType: 'standard' from creation

  • Live infrastructure fix: all 16 real Vercel projects (canvas-1, canvas-2, medinachf, alloy, forge, and 11 others) pinned from Elastic to Standard build machines, verified live