Skip to content

Timeline: stuck requests, tool use and team health (combined) - #586

Merged
Birfy merged 1 commit into
mainfrom
fix/timeline-report-fields
Oct 21, 2026
Merged

Birfy merged 1 commit into
mainfrom
fix/timeline-report-fields

Conversation

@Birfy

@Birfy Birfy commented Oct 21, 2026

Copy link
Copy Markdown
Collaborator

Fixes #534, Fixes #538, Fixes #567

Risk: T2 (plugins/timeline/**).

What

One PR for the three timeline read-model proposals that all touch the same return line of
plugins/timeline/src/window.js and the same docs/subsystems/timeline.md row, so the owner
gets one PASS and one click instead of three rebases:

Both new window fields are additive; the window version and every existing field are unchanged.
Host-side has no copy of this code (the timeline is a plugin), so patches/ds-bot/ is untouched
and ds-bot-patches.mjs check still passes.

Supersedes

Closes #535, #539 and #568 as superseded: their content, review and tests are all carried here,
including the authorship trail in the three PRs. Thanks to HugoXK for the three originals.

Checks (run by the maintenance round on this tree)

  • ds-bot-patches.mjs check — OK (10 patches, core == ds-bot + patches).
  • check-arch-docs.mjs with ARCH_DOCS_BASE=HEAD~1 — OK (7 changed files).
  • changelog.mjs check — OK (12 fragments).
  • plugins/timeline tests — 101/101.
  • scripts/lint-plugins.mjs timeline — 0 errors, 8 warnings (all pre-existing).
  • TDD: with window.js and timeline.js at the base commit and health.js absent, 3 tests fail
    (the two new window tests and the health test file); all pass with the change.

Not run: one-shot npm run verify (the container OOMs at 2 GiB), full core suite, smoke, Desktop.

One combined timeline read-model change, replacing the three proposals at the
same code line and the same docs row (#535, #539, #568): the window now carries
the open requests waiting longest, the tools each Bot used with their failures,
and timeline/health reduces the same window to per-Bot signals and flags.

Fixes #534
Fixes #538
Fixes #567
@Birfy Birfy self-assigned this Oct 21, 2026
@Birfy Birfy added agent-pr Pull request opened by an agent area:automation Scheduled tasks and automation awaiting-approval PR is green and waits for the maintainer's approval (T2/T3) or a review PASS at its tip enhancement New feature or request labels Oct 21, 2026

@Birfy Birfy left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: PASS at d131a1e

Tip SHA: d131a1e3c0174d1036b425f81ceeb47dbe7cd2a7
This is the combined replacement for #535 / #539 / #568, built by the maintenance round as the owner asked, so the three proposals become one PASS and one click. The three originals are closed as superseded and their content, tests and wording are all here.
Diff (7 files, +148 -3): `window.js` gains `stuck` (open request arrows, worst first, `waitedMs` floored at 0, capped at 20) and `toolUse` (per-Bot tool calls by cleaned name with failure counts, capped at 20 per Bot) as two additive blocks plus two names on the existing return line; new `plugins/timeline/src/health.js` (`buildHealth(window)`, pure) with its `timeline/health` endpoint wired in `timeline.js` and `dispose`; the tests from both originals; the `timeline.md` row merged into one sentence and the new `health.js` row and endpoint bullet; one changelog fragment.
Host side has no copy of the timeline (it is a plugin), so `patches/ds-bot/` is untouched and the patches check still passes; the window version and every existing field are unchanged, so nothing that reads the window today breaks.
Ran at the tip: CI all green (tests-ok, plugins social/tree/timeline, package, Node 24). On this tree: `ds-bot-patches.mjs check` OK (10 patches, core == ds-bot + patches), `check-arch-docs.mjs` with `ARCH_DOCS_BASE=HEAD~1` OK (7 files), `changelog.mjs check` OK, `plugins/timeline` 101/101, `scripts/lint-plugins.mjs timeline` 0 errors / 8 pre-existing warnings, TZ=UTC.
TDD: with `window.js` and `timeline.js` at the base commit and `health.js` absent, 3 tests fail (both new window tests and the health file); all 101 pass with the change.
Merge state: clean against main 33fb55ed and against every other open PR.
Not run: one-shot `npm run verify` (2 GiB OOM), full core suite, smoke, Desktop.
Tier: **T2** (`plugins/timeline/**`). The owner's own click in the GitHub UI is the approval and this PASS must sit on the tip; I do not approve or merge it myself. Any new commit voids this PASS.

@Birfy
Birfy added this pull request to the merge queue Oct 21, 2026
Merged via the queue into main with commit 41b0856 Oct 21, 2026
8 checks passed
@Birfy
Birfy deleted the fix/timeline-report-fields branch October 21, 2026 03:07
HugoXK pushed a commit to HugoXK/FlyBot that referenced this pull request Oct 21, 2026
…inkFlowLab#590)

**Risk: T3** (`AGENTS.md` and the policy docs).

The owner's new hard rule: when an issue already has a pull request,
work in that one — do not open a second and close the first. This
records it next to the admission line, so the two are read together.

## What changes (4 files, +7 -1)
- `AGENTS.md`: a new paragraph in the admission-line section — re-base
the open branch, use `update-branch`, or push a commit to its head, and
put the tests there too; a contributor's fork is treated the same while
it allows maintainer edits; the only exception is a branch that cannot
be pushed, and then the reason goes on the issue, never a silent swap.
- `docs/code-standards.md`: the same rule as a bullet under "Merge only
a reviewed tip".
- `docs/autonomous-dev.md`: one sentence in the merge-by-tier item.
- `.claude/skills/fix-issue/SKILL.md`: a bullet in step 4 (PR).

It applies to new work from now on: ThinkFlowLab#586 and its closed originals
(ThinkFlowLab#535/ThinkFlowLab#539/ThinkFlowLab#568) are left exactly as they are, as the Chief asked.

## Checks
- `node --test .github/scripts/*.test.mjs` — 93/93.
- `check-arch-docs.mjs` with `ARCH_DOCS_BASE=HEAD~1` — OK (4 changed
files).
- `scripts/ds-bot-patches.mjs check` — OK (no code touched).
- `changelog.mjs check` — OK; no fragment, a change users cannot see and
that ships no code.
- `TZ=UTC`.

Not run: one-shot `npm run verify` (2 GiB OOM in this container), full
core suite, smoke, Desktop.
@Birfy Birfy removed awaiting-approval PR is green and waits for the maintainer's approval (T2/T3) or a review PASS at its tip agent-pr Pull request opened by an agent labels Oct 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:automation Scheduled tasks and automation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Timeline: a team-health endpoint (#357) Timeline: which tools each Bot used, and how often they failed Timeline: list the requests waiting longest

1 participant