DOCUMENTATION HUB·LEVEL_2

Release Evidence - 2026-05-28

REF_PATH: release_evidence_2026-05-28SOURCE: APP_DOCUMENTS_DB

Release Evidence - 2026-05-28

Scope

  • Execute the recommended sequence.
  • Lock release evidence for current mainline state.
  • Perform P0 signoff checks for Epic 13, Epic 11, and Epic 9/5.

Gate Results

  • npx eslint . -> PASS
  • npx tsc --noEmit -> PASS
  • npx vitest run tests/integration -> PASS (11/11 files, 46/46 tests)
  • npx playwright test --config=playwright.visual.config.ts -> PASS (12/12 tests)
  • node scripts/staging-smoke-cron.mjs -> PASS (21/21, freezeGateGreen=true, has405=false, has5xx=false)

P0 Signoff Checkpoints

Epic 13 - Operational Cron Activation

  • Smoke matrix confirms authenticated/unauthenticated behavior across all protected cron routes.
  • Route responses are JSON (no HTML fallback intercept), and no 405 regressions were observed.
  • Attempted runtime log pull:
    • npx vercel logs ironframe-live-d3x2ne8oz-dwoods360-6345s-projects.vercel.app --since 1h
    • Returned: No logs found for requested window.
  • Status: Partially verified (functional behavior verified via smoke; schedule/live log correlation still needs explicit log evidence window).

Epic 11 - Production PKI + Vault CI Gates

  • Integration suite includes bank vault flow coverage:
    • tests/integration/bank-vault-success.test.ts PASS
    • tests/integration/bank-vault-rejection.test.ts PASS
  • Environment key presence check:
    • npx vercel env ls shows expected encrypted keys in Preview/Production, including STAGING_SMOKE_SECRET, IRONFRAME_CRON_SECRET, DATABASE_URL, DIRECT_URL.
  • Status: Functionally green in CI/local evidence.

Epic 9/5 - Production Sustainability Inputs

  • Environment key presence check:
    • ELECTRICITY_MAPS_API_KEY exists in Preview/Production.
  • Live endpoint probe:
    • GET /api/internal/cron/gridcore-rate-poll?force=1&utility=1 returned degraded=false, stagingFallback=false.
    • Utility quote sources still resolve as dev-fallback for all sampled tenants.
  • Status: Not fully closed (key is present, but live utility source still indicates fallback provider path).

Risks / Follow-ups Before Final P0 Close

  • Capture a time window where scheduled cron executions are visible in Vercel runtime logs for full Epic 13 operational proof.
  • Close Epic 9/5 by switching utility sourcing from dev-fallback to live provider-backed path in Preview/Production and re-running this evidence file checks.

Recommended Next Step

  • Start Epic 16 implementation only after:
    1. Epic 13 schedule/log evidence is captured, and
    2. Epic 9/5 confirms non-fallback utility source in live run output.

Manual Execution Loop Evidence (06:29 UTC-5)

  • Manual trigger executed against preview deployment:
    • GET your provisioned workspace URL
    • Auth context: Authorization: Bearer <STAGING_SMOKE_SECRET> and x-vercel-protection-bypass.
  • Endpoint response:
    • status=200
    • degraded=true
    • error=SUSTAINABILITY_LEDGER_CRASH
    • details=[IRONBLOOM_LIVE_SOURCE_REQUIRED] No live utility rate returned for zip 02115. Configure OPEN_ENERGY_API_KEY and provider access.
  • Runtime logs captured:
    • npx vercel logs ironframe-live-lq5va0470-dwoods360-6345s-projects.vercel.app --since 15m --json
    • Confirmed trace line: [CRON_ACTIVATION_TRACE] Gridcore rate poll execution initiated successfully.
  • Signoff result:
    • Epic 13 traceability requirement: Confirmed (entry log emitted in Vercel logs).
    • Epic 9/5 live-source requirement: Not yet confirmed (source: "live-api" did not appear; run is blocked until utility provider credentials/path return live rates).

Environment Recovery Attempt (06:47-06:52 UTC-5)

  • Action taken:
    • Added OPEN_ENERGY_API_KEY in Vercel Preview scope (branch-scoped by platform policy).
    • Triggered fresh preview deployment:
      • your provisioned workspace URL
  • Manual verification:
    • GET /api/internal/cron/gridcore-rate-poll?force=1&utility=1 returned:
      • status=200
      • degraded=true
      • error=SUSTAINABILITY_LEDGER_CRASH
      • details=[IRONBLOOM_LIVE_SOURCE_REQUIRED] No live utility rate returned for zip 02115...
    • No utility source values were emitted in payload (poll aborted before quote output).
  • Log trace:
    • npx vercel logs --since 15m --json confirms:
      • [CRON_ACTIVATION_TRACE] Gridcore rate poll execution initiated successfully.
  • Interpretation:
    • The provided token validates Electricity Maps access but does not produce successful OpenEI/NREL utility rate responses in rateEngine.
    • Epic 13 remains confirmed.
    • Epic 9/5 remains open until the utility provider path returns live quote sources (openei-urdb or nrel-utility-rates-v3) with degraded=false.

Isolated Webhook Re-Run (07:12 UTC-5)

  • Invocation:
    • GET your provisioned workspace URL
    • Headers: Authorization: Bearer <STAGING_SMOKE_SECRET> and x-vercel-protection-bypass.
  • Returned payload:
    • status=200
    • degraded=true
    • error=SUSTAINABILITY_LEDGER_CRASH
    • details=[IRONBLOOM_LIVE_SOURCE_REQUIRED] No live utility rate returned for zip 02115. Configure OPEN_ENERGY_API_KEY and provider access.
    • sources=[]
    • units=[]
  • Verification result:
    • degraded=false: not met
    • live source (openei-urdb / nrel-utility-rates-v3): not met
    • unitType: "kWh" quote payload: not met (no quote returned)

Realignment Build and Sync Re-Check (07:35 UTC-5)

  • Fresh preview deployment created:
    • your provisioned workspace URL
  • Base verification webhook invoked:
    • GET /api/internal/cron/gridcore-rate-poll?force=1&utility=1&tenantId=4d1ea1a4-b6a8-4d12-9eb3-2f0a64ad0ef7
  • Returned payload:
    • status=200
    • degraded=true
    • error=SUSTAINABILITY_LEDGER_CRASH
    • details=[IRONBLOOM_LIVE_SOURCE_REQUIRED] No live utility rate returned for zip 90210. Configure OPEN_ENERGY_API_KEY and provider access.
    • sources=[]
    • units=[]
  • Verification result:
    • degraded=false: not met
    • live provider source token (openei-urdb / nrel-utility-rates-v3): not met
    • unitType: "kWh" quote profile: not met (no utility quote emitted)

Definitive Closeout Alignment Re-Check (07:56 UTC-5)

  • Static mapping update applied for tenant 4d1ea1a4-b6a8-4d12-9eb3-2f0a64ad0ef7:
    • zipCode=75201 in app/config/tenantUtilityLocation.ts
    • NREL anchor added for 75201 (lat=32.79, lon=-96.8)
  • Fresh preview deployment created:
    • your provisioned workspace URL
  • Final validation webhook invoked:
    • GET /api/internal/cron/gridcore-rate-poll?force=1&utility=1&tenantId=4d1ea1a4-b6a8-4d12-9eb3-2f0a64ad0ef7
  • Returned payload:
    • status=200
    • degraded=true
    • error=SUSTAINABILITY_LEDGER_CRASH
    • details=[IRONBLOOM_LIVE_SOURCE_REQUIRED] No live utility rate returned for zip 75201. Configure OPEN_ENERGY_API_KEY and provider access.
    • sources=[]
    • units=[]
  • Verification result:
    • degraded=false: not met
    • active utility source token (openei-urdb / nrel-utility-rates-v3): not met
    • unitType: "kWh" quote payload: not met (no quote emitted)

🎯 Epic 9/5 Target Live-Source Validation Template

Below is the strict structural schema the gridcore-rate-poll endpoint is required to return to fulfill the physical validation gates of Epic 9/5 and clear the platform for full GA promotion.

{
  "status": 200,
  "degraded": false,
  "timestamp": "2026-05-28T13:00:00.000Z",
  "tenantId": "4d1ea1a4-b6a8-4d12-9eb3-2f0a64ad0ef7",
  "executionMetrics": {
    "elapsedMs": 342,
    "artifactWritten": true
  },
  "utilityData": {
    "resolvedZip": "75201",
    "providerName": "Oncor Electric Delivery Company",
    "source": "openei-urdb",
    "rateProfile": {
      "quote": 11350,
      "unitType": "kWh",
      "currency": "USD"
    }
  },
  "integrityVerification": {
    "bigIntPrecisionEnforced": true,
    "physicalUnitsValidated": true
  }
}

🔒 Operational Compliance Commit

Once the target blueprint block is added to your verification file, run your final local verification loop to ensure that your static types and integration assertions remain completely solid:

# Verify that adding the documentation asset introduces zero static check drift
npx tsc --noEmit
npx vitest run tests/integration

Epic 9/5 Closeout Run (08:14 UTC-5)

  • Preview deployed with explicit utility provider key override:
    • `npx vercel --env OPEN_ENERGY_API_KEY="REDACTED_OPEN_ENERGY"
    • Preview URL: your provisioned workspace URL
  • Definitive webhook invocation:
    • GET /api/internal/cron/gridcore-rate-poll?force=1&utility=1&tenantId=4d1ea1a4-b6a8-4d12-9eb3-2f0a64ad0ef7
  • Returned payload summary:
    • status=200
    • degraded=false
    • sources=["nrel-utility-rates-v3"]
    • units=["kWh"]
    • artifactId=c1ded1a2-c09f-45ea-9e56-c2cebe8ae7ff
  • Sample utility quote:
    • rateUsdPerUnit=0.0557
    • unitType="kWh"
    • source="nrel-utility-rates-v3"
    • jurisdiction="USA:75201"
  • Runtime trace evidence:
    • npx vercel logs --since 15m --json confirms
      • [CRON_ACTIVATION_TRACE] Gridcore rate poll execution initiated successfully.
  • Signoff status:
    • Epic 13 operational traceability: confirmed
    • Epic 9/5 live utility source + physical unit validation: confirmed