kanbango 3.4.1 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +2 -0
- package/CHANGELOG.md +13 -0
- package/agent-playbook.js +8 -1
- package/index.html +1222 -1314
- package/kanban.js +108 -4
- package/mcp-server.js +59 -10
- package/package.json +1 -1
- package/tests/run.js +2 -0
package/AGENTS.md
CHANGED
|
@@ -11,6 +11,8 @@ Source of truth: `agent-playbook.js` (also MCP tool descriptions + `kanban_read`
|
|
|
11
11
|
- list_epics default = live only (hides done + archived); `include_archived` / `status` to widen
|
|
12
12
|
- list tasks default hides tasks under done/archived epics; show/show_epic by id always works
|
|
13
13
|
- show: `view=execution` while coding; `full` only if needed
|
|
14
|
+
- show task returns `epic_goals` (parent compass; `""` if none) — check drift vs goal
|
|
15
|
+
- log architecture decisions: `update` `adr={decision,why}` append; `show_epic` full rolls up `adrs`
|
|
14
16
|
- epic_create with description/goals; create tasks with `epic=E001` (prefer id)
|
|
15
17
|
- create once with `description`, `specs`, `in_scope`, `out_of_scope`, `acceptance_criteria`
|
|
16
18
|
- move/update/delete: `return=none`; subtasks = full array replace (no toggle)
|
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [3.5.0] - 2026-08-24
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- GUI cockpit layout: rail of initiatives, NOW panel for `active`, columns icebox/planned/done, paper document for task and epic
|
|
14
|
+
- Paper shows spec, in/out scope, AC, steps; read-only `adr[]` and `evidence[]` when present
|
|
15
|
+
- Task `show` injects parent `epic_goals` (empty string when none) as a compass
|
|
16
|
+
- Task `adr[]` with append via `update adr={decision,why}`; `show_epic` full rolls up child `adrs`
|
|
17
|
+
- Tests: `tests/gui-cockpit.test.js`, `tests/kanban-epic-goals-adr.test.js`
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
- GUI no longer uses epic swimlanes; epics filter the board from the rail
|
|
21
|
+
- Active is NOW, not a fourth board column
|
|
22
|
+
|
|
10
23
|
## [3.4.1] - 2026-08-20
|
|
11
24
|
|
|
12
25
|
### Fixed
|
package/agent-playbook.js
CHANGED
|
@@ -11,6 +11,8 @@ const DROP_IN_RULE = [
|
|
|
11
11
|
'- list_epics default = live only (hides done + archived); include_archived / status to widen',
|
|
12
12
|
'- list tasks default hides tasks under done/archived epics; show/show_epic by id always works',
|
|
13
13
|
'- show: view=execution while coding; full only if needed',
|
|
14
|
+
'- show task returns epic_goals (parent compass); empty string if no epic/goals — check drift vs goal',
|
|
15
|
+
'- log architecture decisions: update adr={decision,why} append; show_epic full rolls up adrs',
|
|
14
16
|
'- epic_create with description/goals; create tasks with epic=E001 (prefer id)',
|
|
15
17
|
'- create once with description,specs,in_scope,out_of_scope,acceptance_criteria',
|
|
16
18
|
'- move/update/delete: return=none; subtasks=full array replace',
|
|
@@ -24,6 +26,8 @@ const TOOL_DESCRIPTIONS = {
|
|
|
24
26
|
'Read board. TOKEN RULES: list defaults to view=summary (id/title/col/progress only).',
|
|
25
27
|
'Hierarchy: epic (container/context) → task (work) → subtasks (steps).',
|
|
26
28
|
'Always pass col when possible. Prefer show+view=execution over full.',
|
|
29
|
+
'show task (planning/execution/full) includes epic_goals (parent epic goals; "" if none) — use as compass; check progress toward goal.',
|
|
30
|
+
'execution/full also include adr[]; show_epic full rolls up child adrs (not stored on epic file).',
|
|
27
31
|
'list_epics default live only (empty|planned|active; hides done+archived).',
|
|
28
32
|
'Pass include_archived=true or status=done|archived to see closed initiatives.',
|
|
29
33
|
'list hides tasks under done/archived epics unless include_archived/include_done; show/show_epic by id always works.',
|
|
@@ -38,6 +42,7 @@ const TOOL_DESCRIPTIONS = {
|
|
|
38
42
|
'Actions: create|move|update|delete (daily); epic_create|epic_update|epic_archive|epic_unarchive|epic_delete;',
|
|
39
43
|
'plan_create→plan_advance→plan_evidence→plan_done (non-trivial only).',
|
|
40
44
|
'epic_create: title + description/goals/in_scope/out_of_scope. Link tasks via epic=E001.',
|
|
45
|
+
'Log architecture decisions on the task: update with adr={decision,why} appends one entry (why this choice).',
|
|
41
46
|
'delete: task_id (hard remove). epic_delete: epic_id, always cascades child tasks.',
|
|
42
47
|
'epic_archive/epic_unarchive: epic_id — hide/restore initiative without deleting history.',
|
|
43
48
|
'create/plan_create: title required; also send description,specs,in_scope,out_of_scope,acceptance_criteria',
|
|
@@ -63,7 +68,9 @@ const MUST_CONTAIN = [
|
|
|
63
68
|
'subtasks',
|
|
64
69
|
'epic_create',
|
|
65
70
|
'epic_archive',
|
|
66
|
-
'epic_delete'
|
|
71
|
+
'epic_delete',
|
|
72
|
+
'epic_goals',
|
|
73
|
+
'adr'
|
|
67
74
|
];
|
|
68
75
|
|
|
69
76
|
function playbookHelpPayload() {
|