Continuous delivery estimate

vibey-gh forecast maintains the current delivery estimate from real repository history. It reads open issues, open and merged pull requests, and the integration branch's commit history. A refresh is a new record in the append-only .vibey/delivery-estimates.jsonl ledger; the same complete forecast input digest is not appended twice, while a billing-only change still creates a new record.

The generated current estimate is the quickest human view. The GitHub Actions job also writes the same lines to its job summary. It refreshes the page once an hour, or when someone runs the workflow by hand, and never on each push, pull request or issue. The refresh reaches develop through a pull request that runs every CI gate, like any other change.

What is estimated

The calculus uses the paper's six materials and eighteen coordinates. A supplied --materials JSON file can replace unknown coordinates with measured readings. Unknown coordinates remain unknown; they do not silently become healthy or zero. The configurable phi constants are recorded with every forecast because the paper defines the shape of the dilation but leaves its empirical parameters to measurement.

Remaining work is open non-pull-request issues plus open pull requests. Merged pull requests are completed work. Size labels (size/XS, size/S, size/M, size/L, and size/XL) map to configurable work-unit weights; an unlabelled item uses the configured small weight. The report includes the mean and median work-unit throughput, commit counts, active days, and the estimator's time and dollar track records.

Billing materials

Pass a JSONL file exported by the operator-scoped billing projection with --billing-ledger. Plain vibey ledger export is intentionally public and withholds raw spend; the explicit --billing projection keeps only the numeric billing fields and operational event kinds needed by this calculator. The forecast uses the same billing vocabulary as the conductor's budget brake:

Dimension Meaning
dollars TurnCompleted.cost_usd plus BudgetSpent.dollars
turn_completed_events the ledger event count, never a guessed turn count
budget_turns explicit BudgetSpent.turns
elapsed_seconds wall-clock span of the supplied ledger events
event counts phase transitions, capacity rejections, handoffs, tools, file edits, and artifacts

The report shows actual cumulative usage, low/high planned usage, and low/high completion totals for every dimension. If no billing export is supplied, those dimensions are reported as unknown rather than zero. Planned usage is derived from observed cumulative usage per completed work unit; elapsed time additionally uses the observed throughput band and the material dilation.

vibey ledger export PROJECT_ID --billing --out .vibey/billing-ledger.jsonl
vibey-gh forecast
vibey-gh forecast --json --strict

The JSON record is also shaped as the core ledger's DeliveryEstimateRecorded event, so an archival or conductor integration can replay it without inventing a second event vocabulary. Raw engine chatter and credentials remain outside the public publication allowlist.