Repository navigation
Agent Board 0.7.1: daily workflow and timeline history - #3
Conversation
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 800ebf1f21
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| // A newer child result is not the outcome of the parent request. Once | ||
| // the group is terminal, enrich the root for review; active groups still | ||
| // prioritize the worker actually doing the work. | ||
| const representative = group.rows.some(isGlobalNonterminal) ? pickGlobalRepresentative(group.rows) : group.root; |
There was a problem hiding this comment.
Retain failed-child enrichment when selecting the review root
When a completed parent has a failed child and no remaining active work, this now enriches only the parent instead of the failed child. The child becomes a globalSummaryCard, which sets errorPreview and activity to null and supplies only “Execution failed”; buildGlobalExecution still selects that failed child as its primary card because failure outranks completion. Consequently, the failed execution and its attention item lose the actual error details previously fetched by eventsTail. Preserve failure enrichment for these groups while obtaining the parent's completion-review evidence separately.
Useful? React with 👍 / 👎.
| useEffect(() => () => { | ||
| if (latest.current && !latest.current.unavailableSources.includes("bb")) persist(mergeCheckpoint(baselineRef.current, latest.current)); | ||
| }, []); |
There was a problem hiding this comment.
Persist the catch-up checkpoint when the page is hidden
If a user closes the browser tab or reloads Agent Board rather than navigating away within React, this effect cleanup does not run. After the initial checkpoint exists, successful observations are otherwise persisted only by “Mark seen”, so ordinary browser exits leave the checkpoint stale and subsequent visits repeatedly report results already observed on earlier visits. This contradicts the documented behavior that leaving the view records the visit's observations. Add a page-lifecycle handler, such as pagehide or an appropriate visibility-change handler, that persists the latest successful snapshot without acknowledging changes during ordinary refreshes.
Useful? React with 👍 / 👎.
Agent Board now offers specific attention actions, completion review, a catch-up digest, saved dashboard views and a release/update card. The dashboard has restrained visual polish and compact expandable results. The execution timeline scrolls through earlier retained BB history using incremental paging, preserves the visible position, merges live updates, bridges reconnect gaps and retries failed metadata reads.
The update flow discovers public official GitHub releases and uses BB's existing eligible-update operation only after review and confirmation. It does not widen source ranges or reset settings. This is compatible release 0.7.1 within the marketplace's existing ^0.7.0 selector.
Validation: 505 automated tests passed, TypeScript passed, BB frontend/backend build and actual 81-file package inspection passed. The local installation reports 0.7.1 with compatible UI. The implementation was exercised with 300 distinct history events across six pages and 390px mobile scroll-position preservation. Hosted Linux/Windows validation must pass before merging. No fresh physical-device or nonempty optional Fleet/Redteam run is claimed. See docs/validation-0.7.1.md.
CI follow-up: the first Windows run and one unchanged rerun timed out in the discovery-timer test. Its setup advanced to an unrelated hourly update interval, causing 181 dashboard reads. The test now flushes only initial zero-time work and asserts exactly one read per discovery interval. Only tests/global-app.test.tsx changed after the prepared release commit; shipped runtime and package source are unchanged. All 505 local tests and TypeScript pass again. Fresh hosted checks run on this test-only follow-up.