Skip to content

[spending-forecast] Daily spending forecast - 2026-07-28 #48666

Description

@github-actions

Daily Spending Forecast — 2026-07-28

Executive summary

The forecast could not produce reliable AI Credit (AIC) projections today. gh aw forecast
completed (JSON parses cleanly, 48 workflows enumerated, 30-day history window, up to 25
sampled runs/workflow) but every workflow reports sampled_runs: 0, avg_aic: 0, and
monthly_projected_aic: 0
. This is a data-collection failure, not an indication that
spending is zero. No budget figures are published below because none would be trustworthy —
publishing P10/P50/P90 numbers built entirely from zero-valued samples would materially
understate real spend.

  • Total observed AIC (30 days, all workflows): unavailable (0 usable run_samples[].aic
    values were recovered)
  • Weekly / Monthly P10, P50, P90 forecast: not computed — no non-zero AIC samples existed
    to bootstrap from
  • Root cause: artifact downloads failed for 100% of sampled runs due to blocked network
    access to GitHub Actions artifact-serving endpoints in this execution environment

Spending trend (unavailable)

No AIC time series could be built — every sampled run's usage
artifact download failed, so there is no observed cost data to
plot for the last 30 days.

Forecast confidence (unavailable)

P10/P50/P90 confidence bands cannot be shown: the Monte Carlo
model requires bootstrap-resampled per-run AIC values, and
zero non-zero AIC samples were available for any workflow.

Workflow table

Workflow Sampled runs Observed AIC P50/P95 per-run AIC Weekly / Monthly projected AIC Success rate Confidence range
All 48 workflows 0 n/a 0 / 0 0 / 0 0% (reported, not real) not computable

All 48 workflows resolved by the forecaster (e.g. CI, CI Failure Doctor, Weekly Issue
Summary, Dev Hawk, Daily News, ...) returned the identical zero-valued record shape. One
workflow, test-proxy.lock.yml, was skipped outright because it is not present on the
default branch (HTTP 404) — that is a separate, minor data-completeness gap unrelated to the
AIC failure.

Data quality and accuracy

Primary discrepancy — 100% AIC data loss (high impact, NOT resolved by follow-up):

  • forecast.json's 48 workflow entries all show sampled_runs=0, avg_aic=0,
    p50_aic_per_run=0, p95_aic_per_run=0, projected_aic=0, success_rate=0. A
    success_rate of exactly 0 across every workflow (including workflows known to run
    successfully many times per day, e.g. CI) is implausible and is itself a strong signal of a
    collection bug rather than real outcomes.
  • I re-ran ./gh-aw forecast twice (once at full sample size 100, once reduced to 25 to fit
    the time budget) and also ran single-workflow debug traces
    (ci-doctor, weekly-issue-summary) with verbose logging. Every run followed the same
    path: gh api .../artifacts correctly lists a usage artifact as downloadable, but the
    subsequent gh run download <id> --name usage step fails with:
    error connecting to api.github.com / check your internet connection or (githubstatus.com/redacted).
  • Manually verifying network reachability confirmed api.github.com responds (HTTP 200), but
    pipelines.actions.githubusercontent.com and objects.githubusercontent.com — the domains
    gh run download and gh api .../zip redirects depend on for large artifact bodies — were
    unreachable (curl exit 000) from this sandbox. Direct gh api repos/.../artifacts/{id}/zip
    calls returned corrupted/non-zip payloads for the same reason.
  • I independently confirmed via gh api repos/github/gh-aw/actions/runs/<id>/artifacts that
    usage artifacts genuinely exist for multiple recent successful runs (e.g. Weekly Issue
    Summary runs 30281351961, 29755338889, 29263637115 all list aic-usage-cache,
    usage, detection, agent, etc.), so the underlying spend data exists on GitHub — it is
    simply inaccessible to the forecaster in this environment.
  • Forecast impact: total. No AIC-based projection, trend chart, or confidence interval can
    be produced without artifact contents. I chose not to substitute cached/previous numbers or
    estimate a budget, per instructions not to invent missing values.
  • Resolution status: unresolved. This requires either (a) firewall/allowlist changes to
    permit pipelines.actions.githubusercontent.com and objects.githubusercontent.com for the
    agent sandbox, or (b) running the forecast step in a context (e.g. inside the GitHub Actions
    runner itself) where these artifact-serving domains are already reachable.

Secondary note — 1 workflow skipped (low impact):

  • .github/workflows/test-proxy.lock.yml returned HTTP 404 ("not found on the default
    branch") and was excluded from all 48 reported workflows. This looks like a stale or
    branch-only test workflow and does not affect the primary spend numbers materially, but is
    flagged for completeness.
Verbose evidence: debug trace for CI Failure Doctor and Weekly Issue Summary
cli:forecast_run Run 29259329415: listed artifacts=[], filter=[usage], downloadable=[]
cli:forecast_run No usage artifact for run 29259329415; AIC will be 0
cli:forecast_run Skipping run 29259329415 for CI Failure Doctor: AIC=0.000 treated as missing data
...
cli:forecast_run No non-zero AIC run samples found for CI Failure Doctor in last 30 days

cli:forecast_run Run 30281351961: listed artifacts=[aic-usage-cache usage safe-outputs-items
  detection agent safe-outputs-assets cache-memory activation], filter=[usage], downloadable=[usage]
cli:logs_download Downloading artifact "usage" individually: gh run download 30281351961 --name usage
cli:logs_download Failed to download artifact "usage": exit status 1 (error connecting to api.github.com
  check your internet connection or (githubstatus.com/redacted))
cli:forecast_run No usage artifact for run 30281351961; AIC will be 0

Direct network probes from the sandbox:

curl https://api.github.com                              -> 200
curl https://pipelines.actions.githubusercontent.com      -> 000 (unreachable)
curl https://objects.githubusercontent.com                -> 000 (unreachable)

gh api .../artifacts confirms real usage artifacts exist for CI Failure Doctor's
sibling workflow, Weekly Issue Summary, on runs 30281351961 (2026-07-27, success),
29755338889 (2026-07-20, success), and 29263637115 (2026-07-13, success) — proving the
underlying spend telemetry is intact on GitHub and the gap is purely a download-path/network
restriction in this run.

Assumptions

  • Forecast date: 2026-07-28
  • History window: 30 days (2026-06-28 → 2026-07-28)
  • Sample size attempted: up to 25 runs/workflow (reduced from the default 100 to fit the
    available time budget; sample size was not the limiting factor — every attempted download
    failed regardless of count)
  • Period: monthly (with weekly figures normally derived from the same model)
  • No AIC values were fabricated or backfilled from prior reports; all reported figures reflect
    exactly what gh aw forecast returned.

Run reference: §30370544606

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • objects.githubusercontent.com
  • pipelines.actions.githubusercontent.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "objects.githubusercontent.com"
    - "pipelines.actions.githubusercontent.com"

See Network Configuration for more information.

Generated by 📈 Daily Spending Forecast · sonnet50 · 131.3 AIC · ⌖ 4.97 AIC · ⊞ 7.1K ·

  • expires on Aug 4, 2026, 7:36 AM UTC-08:00

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions