Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ new version heading in the same commit.

## [Unreleased]

## [0.456.0] - 2026-10-06
### Added
- **The goal's number, with the bets that ran under it.** The Bets tab opens with a chart of the goal's readings against its target, and a rail beneath it on the same x scale showing each bet as the WINDOW it occupied — a bet is a period, not a moment, so the question "which attempt was live while the number did that?" is answerable at a glance. Crosshair snaps to the nearest reading; bar colour carries state and the wrapped key underneath carries identity (never colour alone), which is also what keeps a label from being clipped by the right edge. Deliberately no trend line and no projection: inventing a line nobody measured is the same sin as letting an agent grade its own bet.
**For users:** Open a goal's Bets tab to see the number's whole history with each bet drawn under it — it's immediately visible whether a bet was even running when something moved. [Open Goals](#/goals)

## [0.455.1] - 2026-10-06
### Fixed
- **An agent's question and its blocked task were two cards for one decision, and answering one left the other.** A run that `ask`s and then parks its task `blocked` raises both "needs your input" and "task blocked — needs you". They weren't linked: answering the question left the task blocked with its card open, and unblocking the task left the question pending. Worse, the answer could be lost: on the live case (instapods `tsk_5f40…`) the human answered 3s after the run parked the task, while its pane was still winding down, so `answerQuestion` assumed a live asker would poll for it — but the run had stopped waiting, ended, and never heard. Now answering the question (Inbox or DM, or a durable default firing) files the answer on the task, returns it to the board (closing the blocked card) and delivers it by dispatching THE TASK with the Q/A in its prompt — retrying while the asking pane is still up, never a second run beside it, and never via the wake queue, whose resume the task's one-live-run guard couldn't see. The reverse: a human unblocking the task (card, board, DM) settles the run's pending questions — the note typed on the card becomes the answer, no note cancels it (`TerminalManager.resolveTaskQuestions`). An agent leaving its own block settles nothing, and a park behind unfinished dependencies is never unblocked by an answer. Pinned by `scripts/ask-block-link-test.cjs`.
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "agent-os",
"version": "0.455.1",
"version": "0.456.0",
"description": "A generic, governed operating system for running autonomous agents safely across brands. Ships with a local web console.",
"license": "MIT",
"type": "commonjs",
Expand Down
Loading
Loading