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
16 changes: 12 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,10 +114,18 @@ npm run demo -- --agents # with the agent layer on (see AGENTS.md)
A redelivery costs nothing, and the check that stops it runs *before* the first token is spent
rather than discarding a finished run at the end.

**`--board-writes` has no recorded cassettes and will not replay offline.** The flag is real (see
[AGENTS.md](AGENTS.md)), but recording that mode needs live API keys against both providers, so
`npm run demo -- --agents --board-writes` stops on a missing cassette rather than running green
having done nothing. That error is the intended behaviour, not a broken build.
**The board agent can also do the writing, and that replays offline too:**

```bash
npm run demo -- --agents --board-writes # PRD §5's "authority to write", the shape production runs
```

Worth watching rather than skimming. The agent reads the cards and their comment history *before*
writing, then departs from the plan where the board tells it something the pipeline could not — on
`01-meeting-mixed` it comments on the duplicate's card instead of silently skipping it, and files the
email copy as a subtask of the redesign it had just read. Every write it originates is re-run through
the same deterministic gates first, so one the gates refuse becomes a hold rather than a card. Off by
default; see [AGENTS.md](AGENTS.md) and [SECURITY.md](SECURITY.md) for what each mode guarantees.

```
▶ 01-meeting-mixed — A normal standup: four categories exercised, four cards created, one duplicate
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"text": "",
"toolCalls": [
{
"id": "toolu_01HGMH6E5yjhkbDk7KMAWzd2",
"name": "get_task_comments",
"arguments": {
"task_id": "t200"
}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
bebc72d6a42d
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"text": "",
"toolCalls": [
{
"id": "toolu_01F9TqfjGHTutbqfWR29AG6q",
"name": "add_comment",
"arguments": {
"task_id": "t200",
"body": "Rate limiting sign-off pending."
}
},
{
"id": "toolu_017k9qZfz7DFk7pNJrVm8vpx",
"name": "create_task",
"arguments": {
"title": "Add request-size cap on upload endpoint",
"list_key": "backend",
"assignee": "Avery Chen",
"description": "Add a request-size cap on the upload endpoint to prevent oversized uploads."
}
},
{
"id": "toolu_01URuuNrGnqASXeubumyUosS",
"name": "create_task",
"arguments": {
"title": "Write spec for usage-based billing idea",
"list_key": "product",
"assignee": "Jules Kim",
"description": "Write a spec exploring the usage-based billing idea."
}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
4bd62dfb246d
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
All three items have been written to the board.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cb2abfbd908e
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"text": "",
"toolCalls": [
{
"id": "toolu_01FAMhpQbuN8Gtp58bcoJx4P",
"name": "get_task_comments",
"arguments": {
"task_id": "t500"
}
},
{
"id": "toolu_0162ggDZvNBA224ZuQ7ExvmB",
"name": "get_task_comments",
"arguments": {
"task_id": "t600"
}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
c60b0d4cab3e
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"text": "Both items are duplicates of existing cards. I'll comment on each rather than create new cards.",
"toolCalls": [
{
"id": "toolu_01Rf1qepasrCmkw3GFFVCTGH",
"name": "add_comment",
"arguments": {
"task_id": "t500",
"body": "Duplicate reported: \"Own onboarding revamp\" — this is the same work as this card (first-run experience for new signups). Tracking here instead of a new card."
}
},
{
"id": "toolu_015xtxhC1nJN8syLrnmkHqg8",
"name": "add_comment",
"arguments": {
"task_id": "t600",
"body": "Duplicate reported: \"Handle partial deploy failures in pipeline\" — this is the same work as this card (deploy pipeline resilience to partial failures). Tracking here instead of a new card."
}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cd4208ee9b24
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Both items accounted for as duplicates via comments on t500 and t600.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
88b83a5bdc0a
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"text": "",
"toolCalls": [
{
"id": "toolu_012ayRxi2JsPjr68i4tJVSPE",
"name": "get_task_comments",
"arguments": {
"task_id": "t800"
}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
57c5d925be9b
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"text": "",
"toolCalls": [
{
"id": "toolu_01LWknZHU4WMqSmDbg6MNa4N",
"name": "create_task",
"arguments": {
"title": "Raise connection pool size and add alert",
"list_key": "backend",
"assignee": "Avery Chen",
"description": "Increase database/service connection pool size to handle load, and add an alert to monitor pool saturation going forward."
}
},
{
"id": "toolu_011AM4bDVpfYCfQ1f6VezmTE",
"name": "create_task",
"arguments": {
"title": "Write runbook documentation",
"list_key": "backend",
"assignee": "Sky Patel",
"description": "Document operational runbook covering common issues, diagnostics, and remediation steps."
}
},
{
"id": "toolu_01FJrtFAFkN2azke2uQHD72w",
"name": "add_comment",
"arguments": {
"task_id": "t800",
"body": "Status update: search relevance tuning work is ongoing."
}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
8cd00873ce55
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
All three items have been written to the board successfully.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
e35c54adc857
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"text": "",
"toolCalls": [
{
"id": "toolu_018jAs3kiPpqNa6ASuEZfxrC",
"name": "create_task",
"arguments": {
"title": "Fix billing invoice API endpoint field bug",
"list_key": "backend",
"assignee": "Rowan Diaz",
"description": "Fix a field bug in the billing invoice API endpoint."
}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
c3f3dcb0b8c3
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Created as mem-0001.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
a76958643bfa
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"text": "",
"toolCalls": [
{
"id": "toolu_01EWT7XxBsdTvyN2SJQNhfqf",
"name": "get_task",
"arguments": {
"task_id": "t901"
}
},
{
"id": "toolu_01RzkJ74ifkEqKUdcywDWLJP",
"name": "get_task",
"arguments": {
"task_id": "t900"
}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
956191932ed7
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"text": "",
"toolCalls": [
{
"id": "toolu_0184zXNXoP8t2W4asKQYoUnt",
"name": "get_task_comments",
"arguments": {
"task_id": "t901"
}
},
{
"id": "toolu_01E829bgrHRKExGHm3e2N1xJ",
"name": "get_task_comments",
"arguments": {
"task_id": "t900"
}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
98e01d9ea856
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"text": "",
"toolCalls": [
{
"id": "toolu_01J871fZzogMyY8bDfHSheRf",
"name": "create_task",
"arguments": {
"title": "Build rate limit usage dashboard",
"list_key": "backend",
"assignee": "Avery Chen",
"description": "Build a dashboard to visualize per-key API usage against rate limits, to help monitor and tune limits once rate limiting ships."
}
},
{
"id": "toolu_01VC88djTumtVy1PtyBDRfrX",
"name": "add_comment",
"arguments": {
"task_id": "t901",
"body": "Refactor settings module: proceeding as tidy-up only, no behaviour change, per plan."
}
},
{
"id": "toolu_01KN47a4wv4SLptQmgoRPr1p",
"name": "create_task",
"arguments": {
"title": "Fix off-by-one in the retry backoff",
"list_key": "backend",
"assignee": "Avery Chen",
"description": "Retry backoff calculation has an off-by-one error, contributing to the retry-loop overload issue described in the parent rate limiting task.",
"parent_id": "t900"
}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
fc279551be94
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
All three items written: new dashboard task created, settings cleanup update logged as a comment on t901, and the retry backoff fix created as a subtask of t900.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2be68a247355
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"text": "",
"toolCalls": [
{
"id": "toolu_0186JYcEQMtmDaFwqnUQCzm4",
"name": "create_task",
"arguments": {
"title": "Add pagination to export endpoint",
"list_key": "backend",
"assignee": "Avery Chen",
"description": "Add pagination support to the export endpoint to handle large result sets efficiently."
}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
18f8205132af
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Task written to the board.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
6c5f2ea2f7cb
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
No items were listed under the pipeline's decisions section — there is nothing to write to the board. Since the task is empty, there's nothing to reconcile against the existing card (t920), and no action is needed.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
8a92318e473c
47 changes: 47 additions & 0 deletions fixtures/cassettes-agents/01-meeting-mixed/board/write/turn-1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"text": "",
"toolCalls": [
{
"id": "call_00_yMj3lgtFZpwRYLClWztX0716",
"name": "get_task",
"arguments": {
"task_id": "t100"
}
},
{
"id": "call_01_xxZWYBmhme2Jznem4iJg9805",
"name": "get_task",
"arguments": {
"task_id": "t200"
}
},
{
"id": "call_02_4HjHHTZuhCpekQ1GmGZJ0984",
"name": "get_task",
"arguments": {
"task_id": "t300"
}
},
{
"id": "call_03_DRFP3TYcf5IGiLD5GPG33727",
"name": "get_task_comments",
"arguments": {
"task_id": "t100"
}
},
{
"id": "call_04_t7fOMwqZTZb3u2QOl9rZ8162",
"name": "get_task_comments",
"arguments": {
"task_id": "t200"
}
},
{
"id": "call_05_vWvn4BmbjY2fNv7XbQiL0478",
"name": "get_task_comments",
"arguments": {
"task_id": "t300"
}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
969bf48a0070
Loading
Loading