Skip to content

Releases: WenyuChiou/agent-board

Agent Board 0.23.5

Agent Board 0.23.5 Pre-release
Pre-release

Choose a tag to compare

@WenyuChiou WenyuChiou released this 20 Oct 14:06
1b05ee1

Pre-release: this version did not pass the release gate (CI green on both systems, a live parity record, the user-journey tests, no open must-ship issue). Agent Board 0.23.3 stays the Latest release until 0.24.0 passes it.

  • A second --serve with another --idle-minutes keeps the open page (#166). It used to stop the running page and start a new one, so the open tab stopped working and a reply typed there but not yet sent was lost. It now reuses the running page and, when that page's idle time differs from the one asked for, prints the one in effect. Tests: --serve with a different idle preference reuses the running page and reports its effective timeout, --serve with an idle time that is not a number starts no page.

  • A hand-kept task finished days ago no longer shows as done just now in --html or on the --serve page (#165). The board script built its view with no completion times, so every finished hand-kept task counted as finished at the moment of reading. It now reads the times recorded in progress-seen.json, which the pane, --watch and --serve write; a task with no recorded time, or one in the future, gets no age and is left out of the recent list instead of being shown as new. So a one-shot --html lists a task finished just now only once one of those has seen it. Text, --chat and --keys output is unchanged, since they do not list recent completions. Tests: manual completion observations map sidecar fingerprints to view keys without inventing times, manual completion observations preserve translated fallback keys and conservative repeated titles, the CLI view ages manual completions from sidecar fingerprints without renewing old or unknown times.

  • Stopped sessions no longer count as In progress (#152). A session that ended, or went quiet for more than 12 hours, stayed in the In progress list, so the count included work nobody was doing, and a stopped task with a question was counted both there and under Waiting on you. Such tasks now go to a Stopped shelf, closed at first and newest first, on the pane, the terminal and keys boards, --chat, progress.html and the serve page; --all and the i key open it with the idle shelf. A task due within 14 days stays under Due, and one idle for more than seven days stays on the idle shelf. Its questions stay under Waiting on you, and its row keeps every button. The group line no longer counts stopped tasks, since none are left in a group. Tests: an ended or stale session's task moves to the Stopped shelf and leaves the In progress count, a stopped task with a question shows once under Waiting on you and is not also counted as In progress, progress.html and the serve page show stopped tasks in a closed shelf, every language has the stopped count words, the pane keeps stopped tasks behind one toggle and shows their actions when opened, the board script lists stopped tasks only with --all and names how many. Existing tests that read an ended row from the In progress list now read it from the Stopped shelf, or open the shelf first; none lost a check.

  • --chat keeps a short number or plain word after a bare key: or token: (#167). Task text such as Per-key limit — key: 100 or token: budget was masked, so the line read as a credential. The value now stays when the label stands alone and the value is a number of up to five digits or one plain word (lower case, or with only its first letter in capitals). Everything else after such a label stays masked: a longer number such as a one-time code, letters mixed with digits, a code in capitals, a name like api.key: or $key:, an = assignment, a quoted name or value, a credential name such as API_KEY or password, and a known token prefix. Tests: chat redaction keeps ordinary bare key and token labels while masking explicit and recognizable credentials, --chat keeps ordinary key and token budget text readable while hiding synthetic credentials.

Agent Board 0.23.4

Agent Board 0.23.4 Pre-release
Pre-release

Choose a tag to compare

@WenyuChiou WenyuChiou released this 20 Oct 14:06
1edfb9b

Pre-release: this version did not pass the release gate (CI green on both systems, a live parity record, the user-journey tests, no open must-ship issue). Agent Board 0.23.3 stays the Latest release until 0.24.0 passes it.

  • Local setup no longer rounds large ids in an agent's config (#160). --codex-setup and --codex-remove read an agent's JSON config with a plain parse and wrote it back, so an id past 2^53 in openclaw.json or a hooks.json (a Telegram or Discord id) came back rounded, and the bot stopped answering that person. They now read it as the connect path does: a config that is not a JSON object, or holds a number a parse would change, is one conflict, and nothing is written. This also changes two cases that used to stop setup with a parse error: a config that is not valid JSON is now a listed conflict, and an existing empty config is read as {}. Tests: local setup leaves an openclaw.json holding an id past 2^53 untouched and reports the conflict, local setup leaves a hooks.json holding an id past 2^53 untouched and reports the conflict, local removal leaves native configs holding ids past 2^53 untouched and reports conflicts, local setup reports a config that is not valid JSON as one conflict and leaves it untouched; local setup preserves native config formatting when its content does not change covers the unchanged-file case that already held.

  • A torn question ledger repairs itself (#151). An interrupted write could leave the question list (progress-questions.json) cut off, and from then on hiding and archiving failed in every session, with nothing on screen. A list that is not JSON at all is now moved aside and rebuilt from its source copies. A list in a shape this version does not know is still left alone, since a newer version may have written it. The list is written to a temp file and moved into place. A rebuild never moves over a list another session put there meanwhile, and a replace that fails on Windows never leaves no list at all. The pane names the file when it stays unreadable or unwritable for three polls in a row; another session's write landing between two reads does not count. Tests: a torn question ledger is moved aside and rebuilt from its source copies, so hiding a question works again, a question ledger that is valid JSON in an unknown shape is left alone and never written over, the question ledger is written to a temp file and moved into place, never truncated in place, the pane says when the question ledger cannot be read, a torn question ledger is told apart from one in an unknown shape.

  • A question a prompt answered leaves Waiting on you for good (#143). After the person sent another agent a prompt, the agent's block turned working and the step finished, but the finished step lost the words the question was recorded by. The question record stayed unresolved, so the pane, the terminal board and --chat kept listing it, and it aged into a reminder. The finished step now keeps the asked words, cleaned as the block writer cleans them, as the native reporters' [?] → [x] already does, and the record closes. The same holds for a Claude session without a Task list whose summed-up question the person's next prompt answers, and for another agent's summed-up question that its next turn answers. Tests: a prompt keeps the answered question's words on its finished step, so the question's record closes, the person's next prompt keeps this session's summed-up question's words on its finished step, so its record closes, a prompt that answers another agent's question takes it off Waiting on you and closes its question record; another session prompt barrier survives an older digest read-back retry now checks for the finished step instead of the question's absence; without a Task list, a turn that changed something is summed up into steps and its question and, for each of the eight agents, <agent>: a turn that ends on a question stops waiting on you once the next turn in that session ends now expect the asked words on the finished step, and the latter that the step's question record closes.

  • Keep the tagged-adoption fixtures host-free after trust discovery is added: omit the general fixture's explicit missing executable only inside the empty-PATH, child-process-blocked cases. Preserve the no-native-attempt assertion. Tests: the four bundled tagged board adoption cases.

  • Compare a denied historical-hide action with the exact bytes present after startup migration, while retaining the original legacy keys and later renewal/migration assertions. Test: historical hide marks survive failed reads while an observed renewed question gets a fresh identity.

  • Bound page-fixture HTTP requests, synchronous JavaScript and the live-block terminal probe so a stalled helper cannot bypass the test's deadline. Tests: live blocks of every agent refuse forged web archives without writes and terminal a and tidy preserve them, page Confirm done buttons act once with exact fingerprints and journal all new ticks in three languages.

  • Correct the pane test filesystem so dashboard/metadata writes, including direct same-size replacements, advance only their own timestamp. Preserve direct progress renewals and native Map behavior. Test: mock file timestamps isolate sidecar writes and preserve explicit progress renewals. This corrects a demonstrated mock artifact; it does not establish the cause of full-suite timeouts.

  • Keep Codex reporting instructions until current hooks are approved. Wire bounded read-only trust observation into native setup, recheck exact source bytes and owned executables before retiring fallback, preserve managed fallback and effective override content, and project fresh read-only status in all three languages. Tests: new or untrusted Codex hooks keep fallback and exact approval retires it in en (also zh-TW/zh-CN), lost or unsupported Codex trust restores effective override fallback while status writes no instructions, a trusted observation invalidated before the lock cannot retire fallback or overwrite foreign groups, a hook source change while reading instructions cannot retire an existing fallback, an empty override remains empty and does not shadow personal AGENTS rules with a generated fallback, approved definitions cannot retire existing fallback after the owned board is replaced (also reporter), managed fallback edits preserve outside bytes and refuse ambiguous owned markers. Validation evidence, including failed suite results and focused checks, is retained in docs/validation/2026-10-19-codex-fallback.md.

  • Preserve the existing Codex hook group positions and foreign entries on reconnect. Add a read-only current-definition trust query for legacy hooks; partial, changed, disabled, duplicate or unavailable discovery cannot establish approval. Tests: reconnecting Codex preserves each owned group position and foreign hook groups, grouped hook renewal retains foreign entries inside a mixed group at their original positions (tests/connect-trust.test.ts), and the control-query cases in tests/codex-host.test.mjs. Validation evidence and approval-discovery limits are recorded in docs/validation/2026-10-19-codex-fallback.md.

  • Recognize the current version's frozen release tag when newer source keeps the same manifest version. A missing installer record no longer makes a known tagged board look foreign; edited personal files remain protected. The mutable pre-tag fingerprint stays outside its own bundle, preserving convergent release builds. Tests: the bundled release table excludes its current board fingerprint and retains historical ownership, bundled tagged board adoption: exact 0.23.3 without prior ownership updates and becomes owned, bundled tagged board adoption: exact 0.23.2 without prior ownership updates and becomes owned, bundled tagged board adoption: a modified published board stays preserved and unowned, bundled tagged board adoption: exact seeded prior ownership still updates the published board.

  • Keep reminder identity stable when an unresolved question moves into retained storage. A native pane reply creates resolution evidence only after submission succeeds and the exact producer revision and source are rechecked; a dropped or failed submission leaves the original ask unread. Tests: a question another agent asks notifies once, not the ones already there at the start, a pane button whose answer does not reach Claude leaves its step waiting on you, buttons and all, an accepted pane reply cannot mark a same-word producer renewal made during submission answered, retaining a question changes no reminder identity while a new producer incarnation can notify.

  • Fix Mark read on live reminder/older questions in the native pane and terminal: validate every age shelf at the action write boundary while retaining exact identity, source and retirement checks. Label retained copies and served-page shelves as review only where no mutation is supported. Tests: Mark read on reminder and older terminal shelves saves the exact identity in every language, aged shelf hide actions keep identity and stale fingerprints while retained sources are explicitly review only, and the six aged pane questions hide and restore their exact identity cases.

  • Age unanswered questions independently of connection activity. Keep questions prominent through three days, group reminders through seven days, then retain them in a discoverable older shelf without actionable counts. Preserve immutable, content-addressed full source copies and original age across restart, inbox processing and explicit archive; end events never answer a pending ask, and multiple same-owner asks survive source cleanup and stale index writes; automatic archive retains unresolved sources. Opening a shelf grants no approval or completion. Exact resolved producer-token replays cannot recreate an unanswered inca...

Read more

Agent Board 0.23.3

Choose a tag to compare

@WenyuChiou WenyuChiou released this 19 Oct 20:34
5610ce6

Shared board and setup fixes for #62, #98, #93 and #94.

  • Confirm completed tasks from the pane, browser or terminal while preserving canceled steps and newer session work.
  • Preserve handoff/completion fences when old activity arrives late.
  • Keep verified busy Codex and Antigravity owners connected, with incoming work queued until ready.
  • Serialize optional Claude setup through the native worker; interrupted removal stays disabled and cannot silently reinstall.
  • Stabilize release fingerprints without losing historical generated-file ownership.

Validation: all six exact-head Windows/Linux CI checks passed. Local affected board/worker/setup suites:95 passed. Generated bundle and release-table checks pass together. Full generated-SDK typechecking remains unavailable; these checks do not prove native model delivery or desktop reverse messaging.

See CHANGELOG. README images and layout are retained. Existing local installations are not changed by publishing this release.

Agent Board 0.23.2

Choose a tag to compare

@WenyuChiou WenyuChiou released this 19 Oct 17:56
b0bb351

Fix common board behavior across agents:

  • Show pending reports in read-only chat (#88).
  • Protect live progress from archive actions (#99).
  • Handle verified prompts immediately without losing pending reports (#101).
  • Preserve question identity and allow explicit renewal of the same wording (#90).
  • Recover transient polling/storage failures, harden native state locks, and clarify remote reply limits.

Validation: 439 offline plugin tests, 197 Node passes (2 platform skips), 127 Python reporter tests, strict plugin validation, generated-file checks and all six CI jobs. Full host SDK typechecking and new native-model acceptance were not run. Installer worker and remote wake-up work remain open in #93 and #51.