{ "schema": { "decisions": [ "seq", "id", "at", "business", "project", "raised_by_role", "raised_by_run", "class", "action", "route_to", "question", "options", "recommendation", "task_ref", "requirement_ref", "blocking", "supersedes" ], "decision_events": [ "seq", "decision", "at", "op", "by", "choice", "note", "via" ], "events": [ "seq", "id", "at", "business", "kind", "actor_role", "actor_run", "subject", "corrects", "body" ], "messages": [ "seq", "id", "at", "business", "from_role", "from_run", "to_role", "class", "in_reply_to", "decision", "corrects", "body" ] }, "decision": [ { "seq": 2, "id": "f71c73c9-c759-4aca-98d9-3e22e8c42b36", "at": "2026-10-14T16:33:48.544Z", "business": "mosaic-stack", "project": null, "raised_by_role": "pm", "raised_by_run": "ree689d5b17bf", "class": "gated", "action": "git.merge.protected", "route_to": "human", "question": "Can I squash-merge work/vikunja-19-265 into refactor? It's PRD v1.1, which you approved in decision 03130d08. Request 6870b3ca. The reviewer approved commit 8ae5a149 in verdict d3f97f9d, and I've closed task vikunja:19/265. The branch changes only four files: docs/prd/mosaic-stack.md, packages/tasks/requirements.json and two requirements tests. Its history also carries 010d30cbe, task 19/229's parseRequirementId commit, which never landed on refactor, plus a commit that reverts it. The coder couldn't drop that commit with a rebase, because push_working refuses non-fast-forward pushes. A squash merge keeps refactor's history clean and avoids a merge-order trap: unsquashed, the revert would delete src/parse-requirement-id.mjs if 19/229's branch had landed first. The six new ids (REQ-ORG-1, REQ-ORG-2, REQ-USER-1, REQ-THREAD-1, REQ-TPL-1, REQ-FED-1) don't reach list_requirements until this merges, so the Organization tasks wait on it.", "options": "[{\"key\":\"yes\",\"text\":\"Squash-merge work/vikunja-19-265 into refactor\"},{\"key\":\"no\",\"text\":\"Don't merge yet\"}]", "recommendation": "yes", "task_ref": null, "requirement_ref": null, "blocking": 0, "supersedes": null } ], "decision_events": [ { "seq": 2, "decision": "f71c73c9-c759-4aca-98d9-3e22e8c42b36", "at": "2026-10-14T16:35:32.002Z", "op": "resolved", "by": "jason", "choice": "yes", "note": null, "via": "cli" } ], "raise_allowed": [ { "seq": 386, "id": "6500ce49-ee8d-4cda-bda0-c8de4dd9397f", "kind": "action.allowed", "subject": "f71c73c9-c759-4aca-98d9-3e22e8c42b36", "actor_role": "pm", "at": "2026-10-14T16:33:48.545Z", "body": "{\"decision\":\"f71c73c9-c759-4aca-98d9-3e22e8c42b36\",\"action\":\"git.merge.protected\",\"operation\":\"decision.raise\",\"task_ref\":null,\"target\":\"refactor\",\"approvalChoice\":\"yes\",\"holderRun\":null}" }, { "seq": 387, "id": "130e1d4d-e9db-4fa2-9a27-d318fff2aae2", "kind": "human.input", "subject": "f71c73c9-c759-4aca-98d9-3e22e8c42b36", "actor_role": null, "at": "2026-10-14T16:35:32.003Z", "body": "{\"kind\":\"answer\",\"decision\":\"f71c73c9-c759-4aca-98d9-3e22e8c42b36\",\"op\":\"resolved\",\"choice\":\"yes\"}" } ], "verdict_events": [ { "seq": 353, "id": "99b58b9e-2d2e-4a3a-9229-138ed4305758", "kind": "task.created", "subject": "vikunja:19/265", "actor_role": "pm", "at": "2026-10-14T16:28:58.238Z", "body": "{\"request\":\"6870b3ca-83aa-4b55-857f-31a2a2910316\",\"requirement\":\"REQ-ROLE-3\"}" }, { "seq": 354, "id": "10297f1e-f6ca-4cee-b423-10ea1335df20", "kind": "action.allowed", "subject": "vikunja:19/265", "actor_role": "pm", "at": "2026-10-14T16:29:02.823Z", "body": "{\"action\":\"task.assign\",\"class\":\"within-role\",\"target\":\"vikunja:19/265\"}" }, { "seq": 355, "id": "8f4a9c74-dc54-4ff2-aceb-3d7a66d72346", "kind": "task.assigned", "subject": "vikunja:19/265", "actor_role": "pm", "at": "2026-10-14T16:29:03.047Z", "body": "{\"role\":\"coder\",\"previous\":[]}" }, { "seq": 360, "id": "43e6ff27-0182-41a1-a668-cf5f7adbe104", "kind": "action.allowed", "subject": "vikunja:19/265", "actor_role": "coder", "at": "2026-10-14T16:30:26.392Z", "body": "{\"project\":\"stack\",\"branch\":\"work/prd-v1-1\",\"ref\":\"work/vikunja-19-265\",\"commit\":\"1b3018313bfddc5535f9fe4d994a7ed97d9e5597\",\"previous\":null,\"action\":\"git.push.working\",\"class\":\"within-role\",\"target\":\"vikunja:19/265\"}" }, { "seq": 361, "id": "e4de55f5-3d98-4a4b-9a1f-b2758f2b8ec8", "kind": "action.allowed", "subject": "vikunja:19/265", "actor_role": "coder", "at": "2026-10-14T16:30:29.471Z", "body": "{\"action\":\"review.request\",\"class\":\"within-role\",\"target\":\"vikunja:19/265\"}" }, { "seq": 362, "id": "9b57eb2d-a6ca-4803-943b-71122fad6f6d", "kind": "review.requested", "subject": "vikunja:19/265", "actor_role": "coder", "at": "2026-10-14T16:30:29.472Z", "body": "{\"task_ref\":\"vikunja:19/265\",\"project\":\"stack\",\"ref\":\"work/vikunja-19-265\",\"commit\":\"1b3018313bfddc5535f9fe4d994a7ed97d9e5597\",\"to\":\"reviewer\",\"message\":\"f0488786-0a8e-4566-8430-793d428f221f\",\"held\":null}" }, { "seq": 367, "id": "c8874c5d-2ce0-47ee-9a7b-05fcd9a9bbdf", "kind": "action.allowed", "subject": "vikunja:19/265", "actor_role": "reviewer", "at": "2026-10-14T16:32:21.989Z", "body": "{\"action\":\"review.verdict\",\"class\":\"within-role\",\"target\":\"vikunja:19/265\"}" }, { "seq": 368, "id": "0a169903-cd6e-42d8-83aa-dccbeb7558c1", "kind": "review.verdict", "subject": "vikunja:19/265", "actor_role": "reviewer", "at": "2026-10-14T16:32:21.990Z", "body": "{\"task_ref\":\"vikunja:19/265\",\"request\":\"9b57eb2d-a6ca-4803-943b-71122fad6f6d\",\"commit\":\"1b3018313bfddc5535f9fe4d994a7ed97d9e5597\",\"verdict\":\"changes\",\"message\":\"864dd14a-1508-46b6-813c-59c559f50e3e\"}" }, { "seq": 370, "id": "e6c95fa9-3b77-4cc3-a58f-8cacdd9fcbdc", "kind": "action.refused", "subject": "vikunja:19/265", "actor_role": "coder", "at": "2026-10-14T16:32:30.194Z", "body": "{\"code\":\"non-fast-forward\"}" }, { "seq": 371, "id": "34ab6b62-1a75-4994-b999-ee1f6f8dd6f7", "kind": "action.allowed", "subject": "vikunja:19/265", "actor_role": "coder", "at": "2026-10-14T16:32:34.903Z", "body": "{\"project\":\"stack\",\"branch\":\"work/prd-v1-1\",\"ref\":\"work/vikunja-19-265\",\"commit\":\"8ae5a149152b35a6d8370924775725e5b36c7b92\",\"previous\":\"1b3018313bfddc5535f9fe4d994a7ed97d9e5597\",\"action\":\"git.push.working\",\"class\":\"within-role\",\"target\":\"vikunja:19/265\"}" }, { "seq": 372, "id": "fdb418cb-8a9a-4567-a748-808cdc67f099", "kind": "action.allowed", "subject": "vikunja:19/265", "actor_role": "coder", "at": "2026-10-14T16:32:37.405Z", "body": "{\"action\":\"review.request\",\"class\":\"within-role\",\"target\":\"vikunja:19/265\"}" }, { "seq": 373, "id": "a3a3c863-a4dd-4c5f-be15-e521a77c79ee", "kind": "review.requested", "subject": "vikunja:19/265", "actor_role": "coder", "at": "2026-10-14T16:32:37.406Z", "body": "{\"task_ref\":\"vikunja:19/265\",\"project\":\"stack\",\"ref\":\"work/vikunja-19-265\",\"commit\":\"8ae5a149152b35a6d8370924775725e5b36c7b92\",\"to\":\"reviewer\",\"message\":\"02ed7d6a-874c-4621-a639-cb7ed23999df\",\"held\":\"r5f11f56cb1a2\"}" }, { "seq": 378, "id": "73387835-52fe-474c-8817-6d632845cab3", "kind": "action.allowed", "subject": "vikunja:19/265", "actor_role": "reviewer", "at": "2026-10-14T16:33:11.504Z", "body": "{\"action\":\"review.verdict\",\"class\":\"within-role\",\"target\":\"vikunja:19/265\"}" }, { "seq": 379, "id": "d3f97f9d-f5c6-4f81-924d-d3c0698692f4", "kind": "review.verdict", "subject": "vikunja:19/265", "actor_role": "reviewer", "at": "2026-10-14T16:33:11.505Z", "body": "{\"task_ref\":\"vikunja:19/265\",\"request\":\"a3a3c863-a4dd-4c5f-be15-e521a77c79ee\",\"commit\":\"8ae5a149152b35a6d8370924775725e5b36c7b92\",\"verdict\":\"approve\",\"message\":\"3d9ab722-955d-4121-980f-801c3fe91bbd\"}" }, { "seq": 383, "id": "2cb95a6a-1782-4b20-847d-6dc4b807e295", "kind": "action.allowed", "subject": "vikunja:19/265", "actor_role": "pm", "at": "2026-10-14T16:33:30.904Z", "body": "{\"action\":\"task.close\",\"class\":\"within-role\",\"target\":\"vikunja:19/265\"}" }, { "seq": 384, "id": "b308369d-7146-4960-9ed8-f9a11bc1c4ba", "kind": "task.closed", "subject": "vikunja:19/265", "actor_role": "pm", "at": "2026-10-14T16:33:31.028Z", "body": "{\"verdict\":\"d3f97f9d-f5c6-4f81-924d-d3c0698692f4\"}" } ], "task229": [ { "seq": 161, "id": "564b5b7b-a397-4dcd-be05-3e076ea9f5da", "kind": "task.created", "subject": "vikunja:19/229", "actor_role": "pm", "at": "2026-10-12T19:31:35.565Z", "body": "{\"request\":\"a6f7b637-c3d0-4472-a0f3-1203c6bdb36f\",\"requirement\":\"REQ-QA-1\"}" }, { "seq": 164, "id": "74c0323a-9c8b-4149-9931-53ba9d9634a2", "kind": "action.allowed", "subject": "vikunja:19/229", "actor_role": "pm", "at": "2026-10-12T19:31:43.669Z", "body": "{\"action\":\"task.assign\",\"class\":\"within-role\",\"target\":\"vikunja:19/229\"}" }, { "seq": 165, "id": "66411a05-882c-4064-a9de-ee80f0e8b4b5", "kind": "task.assigned", "subject": "vikunja:19/229", "actor_role": "pm", "at": "2026-10-12T19:31:43.926Z", "body": "{\"role\":\"coder\",\"previous\":[]}" }, { "seq": 179, "id": "fff11a92-0af8-4e46-91bd-ab0714d07c3b", "kind": "action.allowed", "subject": "vikunja:19/229", "actor_role": "coder", "at": "2026-10-12T19:32:48.743Z", "body": "{\"action\":\"task.update.assigned\",\"class\":\"within-role\",\"target\":\"vikunja:19/229\"}" }, { "seq": 180, "id": "1e9737d4-c302-4ad6-b97c-c6298bdbd166", "kind": "task.state", "subject": "vikunja:19/229", "actor_role": "coder", "at": "2026-10-12T19:32:48.958Z", "body": "{\"role\":\"coder\",\"state\":\"in-progress\",\"previous\":\"todo\",\"percent_done\":0,\"comment\":false}" }, { "seq": 185, "id": "24531218-4e71-4ba5-9c62-2f7c62fa6a0f", "kind": "action.allowed", "subject": "vikunja:19/229", "actor_role": "coder", "at": "2026-10-12T19:33:07.963Z", "body": "{\"action\":\"task.update.assigned\",\"class\":\"within-role\",\"target\":\"vikunja:19/229\"}" }, { "seq": 186, "id": "778c6223-c62a-40ab-9772-edc0f2b22a86", "kind": "task.state", "subject": "vikunja:19/229", "actor_role": "coder", "at": "2026-10-12T19:33:08.161Z", "body": "{\"role\":\"coder\",\"state\":\"in-review\",\"previous\":\"in-progress\",\"percent_done\":0,\"comment\":true}" }, { "seq": 228, "id": "a7340eb3-6813-4b96-84f9-c75a9e370f5d", "kind": "action.allowed", "subject": "vikunja:19/229", "actor_role": "pm", "at": "2026-10-12T19:51:19.826Z", "body": "{\"action\":\"task.schedule\",\"class\":\"within-role\",\"target\":\"vikunja:19/229\"}" }, { "seq": 289, "id": "3b1f6ae9-17e5-4386-92ad-79eb1485bc56", "kind": "action.allowed", "subject": "vikunja:19/229", "actor_role": "coder", "at": "2026-10-13T19:53:20.783Z", "body": "{\"project\":\"stack\",\"branch\":\"work/req-qa-1-parse-requirement-id\",\"ref\":\"work/vikunja-19-229\",\"commit\":\"010d30cbe65ae54f140fc524adab5e92264d2964\",\"previous\":null,\"action\":\"git.push.working\",\"class\":\"within-role\",\"target\":\"vikunja:19/229\"}" }, { "seq": 290, "id": "e8ced63c-bea9-48cd-ae09-6271588e69cd", "kind": "action.allowed", "subject": "vikunja:19/229", "actor_role": "coder", "at": "2026-10-13T19:53:23.613Z", "body": "{\"action\":\"review.request\",\"class\":\"within-role\",\"target\":\"vikunja:19/229\"}" }, { "seq": 291, "id": "dd2c9b0f-0888-4718-9bbf-5ceca8452308", "kind": "review.requested", "subject": "vikunja:19/229", "actor_role": "coder", "at": "2026-10-13T19:53:23.614Z", "body": "{\"task_ref\":\"vikunja:19/229\",\"project\":\"stack\",\"ref\":\"work/vikunja-19-229\",\"commit\":\"010d30cbe65ae54f140fc524adab5e92264d2964\",\"to\":\"reviewer\",\"message\":\"2b06c06f-9661-4031-97ef-e823067a1197\"}" }, { "seq": 297, "id": "a620bde7-90c8-4ba3-b26e-b044fa5ceb8c", "kind": "action.allowed", "subject": "vikunja:19/229", "actor_role": "reviewer", "at": "2026-10-13T19:53:56.456Z", "body": "{\"action\":\"review.verdict\",\"class\":\"within-role\",\"target\":\"vikunja:19/229\"}" }, { "seq": 298, "id": "1fbd1ed1-2226-45c7-9cca-b959662932f3", "kind": "review.verdict", "subject": "vikunja:19/229", "actor_role": "reviewer", "at": "2026-10-13T19:53:56.457Z", "body": "{\"task_ref\":\"vikunja:19/229\",\"request\":\"dd2c9b0f-0888-4718-9bbf-5ceca8452308\",\"commit\":\"010d30cbe65ae54f140fc524adab5e92264d2964\",\"verdict\":\"approve\",\"message\":\"bc93c602-c6ee-4214-825c-a027aa7e8f16\"}" }, { "seq": 300, "id": "64e310e2-5940-4909-ab74-570b8a0d8318", "kind": "action.allowed", "subject": "vikunja:19/229", "actor_role": "coder", "at": "2026-10-13T19:54:01.535Z", "body": "{\"action\":\"task.update.assigned\",\"class\":\"within-role\",\"target\":\"vikunja:19/229\"}" }, { "seq": 301, "id": "2ab1440f-b48f-4886-ab5b-2bfa5132ea9a", "kind": "task.state", "subject": "vikunja:19/229", "actor_role": "coder", "at": "2026-10-13T19:54:01.929Z", "body": "{\"role\":\"coder\",\"state\":\"in-review\",\"previous\":\"in-review\",\"percent_done\":1,\"comment\":true}" }, { "seq": 304, "id": "46ca2baa-923e-4ab2-ad77-8e6ad07d2751", "kind": "action.allowed", "subject": "vikunja:19/229", "actor_role": "pm", "at": "2026-10-13T19:54:21.713Z", "body": "{\"action\":\"task.close\",\"class\":\"within-role\",\"target\":\"vikunja:19/229\"}" }, { "seq": 305, "id": "6c122422-7857-4a7d-9727-5cb910d9cd53", "kind": "task.closed", "subject": "vikunja:19/229", "actor_role": "pm", "at": "2026-10-13T19:54:21.796Z", "body": "{\"verdict\":\"1fbd1ed1-2226-45c7-9cca-b959662932f3\"}" } ], "source": "read-only from ~/.mosaic-dev/bus/bus.sqlite at 2026-10-14T17:48Z by sage; schema columns listed" }