Version Packages - #203
Merged
Merged
Conversation
github-actions
Bot
force-pushed
the
changeset-release/main
branch
2 times, most recently
from
September 3, 2026 12:44
d3a5717 to
ab30d0b
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
September 3, 2026 13:11
ab30d0b to
31f1760
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@openspec-ui/core@0.50.0
Minor Changes
a61bfbe: Record the resource usage an agent reports, so a configured budget can act on it.
AgentUsage/AuditEntry.usage/buildUsageReport/checkBudgetwere a complete chain with nothing feeding it: no adapter had ever produced a usage figure, so the chain-level ceiling had never once fired. Two adapters now report what their agent said it spent —claude-cli-acpfromclaude's own terminalresultline, and the ACP session driver fromPromptResponse.usageandusage_updatenotifications — and the runner writes it into the run's terminal audit entry.A run whose agent reported nothing records no
usagefield at all, never a zero: absent means unreported, and a ceiling compared against an absent figure still permits the work. An ACPusage_update'susedis context occupancy rather than consumption and is deliberately not recorded; a non-USD cost is kept in its own currency rather than converted.LIMITS.mdnow says which agents report usage and which do not.ae78a82: Show what a chain run has spent, while it is still running.
A run recorded its usage but nothing displayed it: the figure lived in
.openspec-ui/audit.jsonland in one line of the event log. A chain now renders a usage summary beside its event log — a row per stage that has started, with tokens and money, and the configured ceiling beside the recorded total when one is configured.Attribution needed a new event. A chain publishes every stage under one
runIdand announced a stage only when it ended, so the first stage's usage had no stage to belong to, and a chain that stopped mid-stage never named the stage that spent the money.stageStartedis emitted immediately before each stage begins — after any check that could refuse it, so a stage stopped at the budget ceiling is never announced as having started. It is non-terminal, likeagentUpdate/cancelling/usageReported.Two kinds of figure are kept apart. The recorded total is what agents reported for finished runs and is what a ceiling is compared against. A live figure — an ACP
usage_updatearriving during a run, previously rendered asagent update: usage_updateand discarded — is shown as the agent's own running report; itsusedis context occupancy, falls after a compaction, and never enters a token total. Nothing here enforces anything:HarnessChainRunner.checkBudgetremains the only thing that does.A stage whose agent reported nothing reads "not reported", never
$0.00, and a run in which nothing reported says so outright rather than showing an empty panel that looks broken.Patch Changes
af32105: Let every event kind survive a transport —
cancellingandusageReportedwere being dropped.isEvent()switches onkindand ends indefault: return false, so a kind added toEventKindand to theEventunion compiles cleanly while the guard silently rejects it. Two kinds had already gone through that gap: the VS Code webview discarded them (message-bridge-transportgates onisEvent) and the standalone app discarded them too (fetch-transport'sdeserializeEventthrows inside a conservativecatch {}). Nothing logged, nothing failed.Both shipped features built on those events were therefore inert over both transports: the "Cancelling..." status from
cancel-reports-what-happened, and the usage display fromusage-from-acp. Recording and budget enforcement were unaffected —agent-runner.tsconsumes the event in-process, never through a transport.The samples in
protocol.test.tsare now aRecord<EventKind, Event>, so adding a kind without a guard case is a compile error rather than something to remember.openspec-ui-vscode@0.36.0
Minor Changes
9353534: Start "Run with Agentic Harness" on the change it was opened for.
The panel opened on
listwith nothing selected, so the user re-entered what they had just said by right-clicking a change. The change now seeds from thechangeDirthe host already sends, and the command kind seeds toimplementwhen the panel was opened to run one change — which in turn makes the existing agent pre-selection reachable, since it maps the command kind to a stage andlistmapped to none.ae78a82: Show what a chain run has spent, while it is still running.
A run recorded its usage but nothing displayed it: the figure lived in
.openspec-ui/audit.jsonland in one line of the event log. A chain now renders a usage summary beside its event log — a row per stage that has started, with tokens and money, and the configured ceiling beside the recorded total when one is configured.Attribution needed a new event. A chain publishes every stage under one
runIdand announced a stage only when it ended, so the first stage's usage had no stage to belong to, and a chain that stopped mid-stage never named the stage that spent the money.stageStartedis emitted immediately before each stage begins — after any check that could refuse it, so a stage stopped at the budget ceiling is never announced as having started. It is non-terminal, likeagentUpdate/cancelling/usageReported.Two kinds of figure are kept apart. The recorded total is what agents reported for finished runs and is what a ceiling is compared against. A live figure — an ACP
usage_updatearriving during a run, previously rendered asagent update: usage_updateand discarded — is shown as the agent's own running report; itsusedis context occupancy, falls after a compaction, and never enters a token total. Nothing here enforces anything:HarnessChainRunner.checkBudgetremains the only thing that does.A stage whose agent reported nothing reads "not reported", never
$0.00, and a run in which nothing reported says so outright rather than showing an empty panel that looks broken.Patch Changes
@openspec-ui/webui@1.25.0
Minor Changes
9353534: Start "Run with Agentic Harness" on the change it was opened for.
The panel opened on
listwith nothing selected, so the user re-entered what they had just said by right-clicking a change. The change now seeds from thechangeDirthe host already sends, and the command kind seeds toimplementwhen the panel was opened to run one change — which in turn makes the existing agent pre-selection reachable, since it maps the command kind to a stage andlistmapped to none.ae78a82: Show what a chain run has spent, while it is still running.
A run recorded its usage but nothing displayed it: the figure lived in
.openspec-ui/audit.jsonland in one line of the event log. A chain now renders a usage summary beside its event log — a row per stage that has started, with tokens and money, and the configured ceiling beside the recorded total when one is configured.Attribution needed a new event. A chain publishes every stage under one
runIdand announced a stage only when it ended, so the first stage's usage had no stage to belong to, and a chain that stopped mid-stage never named the stage that spent the money.stageStartedis emitted immediately before each stage begins — after any check that could refuse it, so a stage stopped at the budget ceiling is never announced as having started. It is non-terminal, likeagentUpdate/cancelling/usageReported.Two kinds of figure are kept apart. The recorded total is what agents reported for finished runs and is what a ceiling is compared against. A live figure — an ACP
usage_updatearriving during a run, previously rendered asagent update: usage_updateand discarded — is shown as the agent's own running report; itsusedis context occupancy, falls after a compaction, and never enters a token total. Nothing here enforces anything:HarnessChainRunner.checkBudgetremains the only thing that does.A stage whose agent reported nothing reads "not reported", never
$0.00, and a run in which nothing reported says so outright rather than showing an empty panel that looks broken.Patch Changes
@openspec-ui/server@1.13.19
Patch Changes