Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
df0c154
WL-0MV16PXJ6003FEYT: lead README with Herdr agent-orchestration framing
Oct 9, 2026
524268f
WL-0MT2QBOD9003JZ5T: auto-downgrade critical priority on terminal tra…
Oct 9, 2026
da31f3d
fix(herdr): a-r audit reject preserves item priority (WL-0MUUAEDAU001…
Oct 9, 2026
b17272a
feat: add test churn analysis tool to evaluate TDD value (WL-0MUZRNLF…
Oct 10, 2026
141ceb8
WL-0MUZRNLFT004H8XJ: Implementation complete
Oct 10, 2026
de53aa0
docs: add standup for 2026-10-10
Oct 10, 2026
507e4e5
WL-0MV24RM9I0051GEF: switch hydrator active detection to exact tab-la…
Oct 10, 2026
1def938
WL-0MV24T2VJ007Q49J: add exhaustive tab-matching verification edge cases
Oct 10, 2026
9782eba
WL-0MUXA5RI2009EUTJ: Implementation complete
Oct 10, 2026
1256037
WL-0MV2E2ZS5001RGLO: Implementation complete
Oct 10, 2026
86fb193
WL-0MV2EFR8C003WE1T: Implementation complete
Oct 10, 2026
a229626
WL-0MV25EE4E0028KDI: Implementation complete
Oct 10, 2026
d89ad1c
WL-0MV2EH0IR004X9B0: Implementation complete
Oct 10, 2026
38c36ab
WL-0MV2EH10D007TBRW: Implementation complete
Oct 10, 2026
a26d59f
WL-0MV2EH1GV0002E98: Implementation complete
Oct 10, 2026
1ac00bd
WL-0MV2EH1X9000F3O8: Implementation complete
Oct 10, 2026
3a53bd2
WL-0MV2EH2E2002ICX2: Implementation complete
Oct 10, 2026
02dd327
WL-0MV2EH2UQ00839NY: Implementation complete
Oct 10, 2026
4e08184
WL-0MV2EH3BG004WIBC: Implementation complete
Oct 10, 2026
51f1ceb
WL-0MV2EH3S1003W3RC: Implementation complete
Oct 10, 2026
8820c55
WL-0MV2EKN1X006OKNH: Implementation complete
Oct 10, 2026
b194fba
WL-0MV2EH48P0070GTS: Implementation complete
Oct 10, 2026
48dd9d0
fix(list): use compareInReviewItems for within-bucket in_review sorting
Oct 12, 2026
0ec19dc
Cap recovery retry-loop backoff at 10m for all retry-path failures (W…
Oct 12, 2026
55d8db9
Fix: prevent orphaned sleep infinity from leaking in test_run_in_pane…
Oct 12, 2026
107442e
docs: add run-pi-agent.sh and release-lease-on-exit.mjs to herdr shar…
Oct 12, 2026
8567971
WL-0MV4V0V8Z003PBQ2: Implementation complete
Oct 12, 2026
5f53f50
WL-0MUYTCF4D000WVKR: Implementation complete
Oct 12, 2026
18bdca7
WL-0MV4UZ6C4007XDGI: record baseline test count and suite runtime
Oct 12, 2026
4424d69
WL-0MV4V2H4O004U8M9: Implementation complete
Oct 12, 2026
a415463
WL-0MUWDW0N6003KF6G: Implementation complete
Oct 12, 2026
1c34755
WL-0MV4V3WJN0013EZZ: Split dispatch wiring tests into dedicated file
Oct 12, 2026
dca2773
WL-0MSRG4828007ITI4: Implementation complete
Oct 12, 2026
b8e4ede
chore: remove test-churn analysis tooling (re-homed to SorraAgents)
Oct 12, 2026
5b25144
WL-0MV4V6LJQ0050FZX: Implementation complete
Oct 12, 2026
a93d2f4
WL-0MV4VCZE9001BM06: Split dispatch tier tests into dedicated file
Oct 12, 2026
a58d8d6
WL-0MV4VEQOZ005XH34: Split settings and worker state tests into dedic…
Oct 12, 2026
f505eb1
WL-0MV563825002R9Y1: Implementation complete
Oct 12, 2026
64bd22e
WL-0MV1BWETT005GSUJ: drive the selection-list in-progress marker from…
Oct 12, 2026
73c59a9
WL-0MV5638J1006URXA: Implementation complete
Oct 12, 2026
cde1d33
WL-0MV4VHFM3003IP1Y: Implementation complete
Oct 12, 2026
98451cb
WL-0MV4UTKU5008IFLH: Implementation complete
Oct 12, 2026
f37bc94
WL-0MV4UUK120029UR5: Implementation complete
Oct 12, 2026
a6f5ca9
WL-0MV5638ZS005I5XQ: gate cheap switch on machine-wide model cooldowns
Oct 12, 2026
5611687
WL-0MV4UVHQL00957OL: Implementation complete
Oct 12, 2026
d784968
WL-0MV4VJE8V00478ZF: Implementation complete
Oct 12, 2026
95c4730
WL-0MV4UWH28002OTNJ: Implementation complete
Oct 12, 2026
f3b9b43
WL-0MV4UXG2X000W8QW: Implementation complete
Oct 12, 2026
66a7a69
WL-0MV5CBO820024S5A: Implementation complete
Oct 12, 2026
467b4f4
WL-0MV4UY7IV001OCHG: Implementation complete
Oct 12, 2026
f975b47
WL-0MV5CBOUA008R2A6: Implementation complete
Oct 12, 2026
0dec805
WL-0MV4V0IF9008214R: Implementation complete
Oct 12, 2026
77c5523
WL-0MV5639GG00085Q7: bounded wake of one cooled-down job
Oct 12, 2026
8b5f7da
WL-0MV4VMEHO005X1QQ: Implementation complete
Oct 12, 2026
4892490
WL-0MUWDW0N6003KF6G: Implementation complete
Oct 12, 2026
279ba24
WL-0MV5639X70029BOI: bounded default cooldown and fail-closed hardening
Oct 12, 2026
5ff1372
WL-0MV5CBPI400508MK: Implementation complete
Oct 12, 2026
b8b0420
WL-0MV4VOH5R004XLD8: Implementation complete
Oct 12, 2026
bbc8e89
WL-0MV563ADO008FT6H: Implementation complete
Oct 12, 2026
4163175
WL-0MV5CBQ6L005SPAG: Implementation complete
Oct 12, 2026
d33418c
WL-0MV4VQ78L003TGY6: Implementation complete
Oct 12, 2026
6035914
WL-0MV5CBQTS008ZWHR: Implementation complete
Oct 12, 2026
d70c61e
WL-0MV5CBRGT0071D1Q: Implementation complete
Oct 12, 2026
d5be61f
WL-0MV563AU2007FM56: cooldown regression guard and full-suite verific…
Oct 12, 2026
1f70162
WL-0MV4VSNI00002WFM: Enforce per-test mock budget
Oct 12, 2026
dc45870
WL-0MSRG4828007ITI4: Implementation complete
Oct 12, 2026
27e28eb
WL-0MV4VTFYE0073POG: Implementation complete
Oct 12, 2026
fc23a8e
WL-0MV1BWETT005GSUJ: refresh the tab-based in-progress marker on the …
Oct 12, 2026
52ebacb
WL-0MV4V0V8Z003PBQ2: Implementation complete
Oct 13, 2026
453c88e
WL-0MV02VA29009WBEN: Implementation complete
Oct 13, 2026
32da4c0
WL-0MV6JGVPH009YDXB: Implementation complete
Oct 13, 2026
be65a48
WL-0MV6KV22S004NYIU: Implementation complete
Oct 13, 2026
8a94235
WL-0MV6TFX0600145M2: Implementation complete
Oct 13, 2026
477585a
WL-0MV70XY6D008013C: Implementation complete
Oct 13, 2026
87c5abd
WL-0MV71WBHB007D8ZE: Implementation complete
Oct 13, 2026
12a1269
WL-0MTF5WNZV003JKMJ: Implementation complete
Oct 13, 2026
16062fc
WL-0MTF5WO2Q008B8US: Implementation complete
Oct 13, 2026
8c6b3aa
Bump version to v1.0.21
Oct 13, 2026
5768ff1
Update CHANGELOG.md for v1.0.21
Oct 13, 2026
e2bcb69
Merge origin/dev into main (automated, CHANGELOG resolved)
Oct 13, 2026
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
3 changes: 2 additions & 1 deletion .pi/test-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@
"suiteCommands": [
"npm --silent test -- tests/cli",
"npm --silent test -- tests/unit"
]
],
"timeoutPerCommand": 1800
}
36 changes: 36 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,41 @@
# Changelog

## v1.0.21 (2026-10-13)
> **Release focus:** This release focuses on making the worklist more reliable and complete, ensuring blocked, in-progress, and reworked items always appear and that data refreshes instantly. It also fixes several crashes and data-loss issues that could occur when saving changes during conflicts or busy periods, and improves recovery behaviour when AI providers or long outages interrupt queued jobs.
### Features
- The README now clearly explains this is a Herdr extension for managing teams of AI agents, with Worklog as shared project memory. (WL-0MV16PXJ6003FEYT)
- In-progress tasks now always appear in your work list, even when many items await review. (WL-0MV6KV22S004NYIU)
- The work items list now updates within seconds when an agent makes changes. (WL-0MV02VA29009WBEN)
- Release notes can now include a custom call-to-action message. (WL-0MUWEPN6X0044R43)
- Long outages now retry less often, so recovery is smoother and less disruptive. (WL-0MUY9GDPG0062NWF)
- Queued jobs now resume automatically when AI providers recover, instead of piling on more requests. (WL-0MV54ZP3Y00514Y9)
- Blocked tasks now appear in the worklist so you can see what's holding up your backlog. (WL-0MV6TFX0600145M2)
- Stale in-progress tasks now automatically return to the right queue. (WL-0MTF5WO2Q008B8US)
- Worklist data now refreshes instantly when you return to the tab, so you always see up-to-date info. (WL-0MTF5WO1N0088P5P)
- Finished items no longer stay marked critical, so urgent lists show only work that still needs attention. (WL-0MSJM4EIV001A0V9)
### Bug Fixes
- Your item updates now stay safe even when another session syncs at the same time. (WL-0MUVSQ4EO00092E7)
- Fixed a crash that could strand your committed work when saving while others changed the same files. (WL-0MV533YSW004D1E1)
- Fixed a crash that could lose your progress when saving changes during busy periods. (WL-0MV5FAZCQ006EHWE)
- Fixed a crash that could lose your work when saving changes during a conflict. (WL-0MV569DDI003CCF1)
- Prevents a crash when your changes are pushed after someone else updates the same branch. (WL-0MV5FDJE30088GGY)
- Blocked items now always appear in your default worklist, so release-blocking tasks can't be hidden. (WL-0MV71WBHB007D8ZE)
- Blocked items now appear in the review queue so nothing release-blocking goes unseen. (WL-0MV70XY6D008013C)
- Rejecting an item for rework no longer changes its priority. (WL-0MUUAEDAU001GT1L)
- Test runs no longer send fake release notifications to Discord. (WL-0MUYA98Z8003HU8X)
- Your completed work is no longer lost when another change lands at the same time. (WL-0MUYTCF4L000FX3M)
- High-priority items now appear first in the In Review list, so you can triage the most important work first. (WL-0MUWDW0N6003KF6G)
- Tests now finish reliably instead of hanging when output is piped. (WL-0MUYTCF4D000WVKR)
- Finishing work no longer fails when your branch is behind, so your progress stays safe. (WL-0MV5LY0J8005FKTZ)
- Items in review that are being reworked now always appear in your list. (WL-0MV6JGVPH009YDXB)
### Other
- Removed duplicate tests to keep the game running smoothly and reliably. (WL-0MV28X3BT0079JM3)
- Audits now run faster in off-peak hours by using spare capacity. (WL-0MUFD33FT0080OD5)
- Tests are now more reliable, so bugs get caught faster and fixes ship sooner. (WL-0MV28X3SL005R5KX)
- Improves game stability and performance through ongoing code cleanup. (WL-0MSS3380K0002ZVO)
- Removed a leftover plugin that caused warnings, so your plugin list is now clean. (WL-0MSRG4828007ITI4)
- Clearer docs help operators keep worklists accurate and stable. (WL-0MTF5WNZV003JKMJ)

## v1.0.20 (2026-10-09)
> **Release focus:** This release focuses on reliability and resilience across agent sessions, fixing issues that could cause stalled work, shared slots, and interrupted sessions while adding automatic retries for connection errors and unavailable AI providers. It also improves day-to-day usability with multi-item deletion, a dedicated work item tab, an interview "Thinking…" indicator, and clearer guidance from the review queue and doctor.
### Features
Expand Down
13 changes: 13 additions & 0 deletions CLI.md
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,12 @@ Priority downgrade cascade:
- When an item's priority is downgraded away from `critical` (to `high`, `medium`, or `low`), any direct children still at `critical` priority are automatically downgraded to `high` so that a non-critical parent has no critical subtasks. Children already at `high` or below are left untouched.
- In JSON mode, the downgraded children are reported in a `downgradedChildren` array. In human-readable mode, a summary line like `[Downgraded 2 child(ren) from critical to high]` is printed.

Terminal priority auto-downgrade (WL-0MSJM4EIV001A0V9):

- When an item with `critical` priority transitions to a terminal state — `status` `completed` or `stage` `in_review` — its priority is automatically downgraded to `high`, so finished work stops competing with genuinely urgent open items. Closing via `wl close` is also a terminal transition and downgrades `critical` to `high`.
- Only an actual transition triggers the downgrade: editing an item that is already terminal does not rewrite its priority. Non-critical priorities (`high`, `medium`, `low`) are never modified, and non-terminal transitions (e.g. `--stage plan_complete`) leave `critical` intact.
- In JSON mode the downgraded item is reported in a `downgradedItem` field. In human-readable mode a summary line like `[Downgraded priority of WL-ABC123 from critical to high]` is printed.

Example:

```sh
Expand Down Expand Up @@ -437,6 +443,13 @@ This is an audit gate leak; re-audit it or record a deliberate exception with
`wl close --force` bypasses the warning and records a durable waiver on an uncovered
`in_review` root, so the bypass is auditable.

**Terminal priority auto-downgrade (WL-0MSJM4EIV001A0V9):** Closing is a terminal
transition, so a `critical` item is automatically downgraded to `high`. When a subtree is
closed recursively or with `--force`, every closed descendant that was `critical` is
downgraded too; non-critical priorities are left untouched. The JSON result object
reports the downgraded items in a `downgradedItems` array, and human-readable mode prints
a summary line like `[Downgraded 1 item from critical to high]`.

**Output format (recursive close):** When the audit-gated recursive close path is triggered:

- **Human-readable output** reports the count of successfully closed descendants:
Expand Down
14 changes: 9 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
# Worklog

A lightweight, Git-friendly issue tracker designed for AI agents and development teams. Track hierarchical work items with a CLI or REST API -- all backed by SQLite with JSONL-based Git syncing.
A [Herdr](https://herdr.dev) extension that assists with the management and orchestration of teams of AI agents. It browses and selects work from the backlog, dispatches agents into panes, tracks their live status, and releases claims abandoned by agents that have gone away.

At the heart of that orchestration is **Worklog**: a lightweight, Git-friendly issue tracker that also serves as the project's history. Every work item records its description, acceptance criteria, and comment trail, so each agent gets the relevant context for the job it is given. Track hierarchical work items with a CLI or REST API — all backed by SQLite with JSONL-based Git syncing.

## Features

- **CLI + API**: Manage work items from the command line or a REST API
- **Git-Friendly Syncing**: JSONL format enables seamless team collaboration via Git with automatic conflict resolution
- **Hierarchical Work Items**: Parent-child relationships for organizing epics, features, and tasks
- **Plugin System**: Extend the CLI with custom commands (see [Plugin Guide](PLUGIN_GUIDE.md))
- **Herdr Orchestration**: Browse and select work items, dispatch Pi agent panes, track live agent status, and self-heal abandoned `in_progress` claims from a Herdr pane (see [Herdr plugin](packages/herdr/README.md))
- **AI Agent Integration**: Pi agent plugin modules that auto-load into every session — activity indicator, session health, model/provider display, guardrails, error recovery (`/retry`), and skill-path tool (see [Pi extension](packages/tui/extensions/README.md)).
- **Heartbeat Skill**: Automated work item monitoring via the Pi agent — run `/skill:heartbeat` to flag items needing producer review or to audit completed items for closure readiness (see [skill/heartbeat/SKILL.md](skill/heartbeat/SKILL.md)).
- **Hierarchical Work Items**: Parent-child relationships for organizing epics, features, and tasks
- **Plugin System**: Extend the CLI with custom commands (see [Plugin Guide](PLUGIN_GUIDE.md))
- **CLI + API**: Manage work items from the command line or a REST API
- **Git-Friendly Syncing**: JSONL format enables seamless team collaboration via Git with automatic conflict resolution
- **Multi-Project Support**: Custom prefixes for issue IDs per project

## Installation
Expand Down Expand Up @@ -163,6 +166,7 @@ You can get a lot of value from using Worklog as a memory for your agents. But y
| [docs/dev/wl-process-healthcheck.md](docs/dev/wl-process-healthcheck.md) | wl process healthcheck watchdog usage (cron/systemd, thresholds) |
| [docs/dev/audit-debug-log-retention.md](docs/dev/audit-debug-log-retention.md) | Audit debug log retention policy + runbook: sweep locations/thresholds, dry-run/`--apply`/`--check`, cron install/removal, safety guarantees |
| [docs/dev/downtime-dispatcher.md](docs/dev/downtime-dispatcher.md) | Leader-election + shared-coordination downtime dispatcher architecture (herdr); critical-first dispatch tier + freeze split-by-skill; automated per-project tabs (one tab per work-item prefix) and interactive item-ID-tab placement (invoking workspace, fail-open) |
| [docs/dev/test-suite-baseline.md](docs/dev/test-suite-baseline.md) | Pre-change test file count and suite runtime baseline for the legacy `test/` deduplication epic (reproducible commands + metrics) |
| [docs/pane-triage-skill.md](docs/pane-triage-skill.md) | Approval-gated pane-triage skill and the cross-language pane-close bridge that exposes the shared classifier to Python skills |

## Tutorials
Expand Down
Loading
Loading