@wrongstack/core 0.302.2 → 0.305.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/README.md +1 -1
- package/dist/chronicle/index.js +117 -30
- package/dist/chronicle/project-server.js +12 -5
- package/dist/coordination/agents/index.js +4645 -3448
- package/dist/coordination/agents/project-agent-auto-optimize.d.ts +116 -0
- package/dist/coordination/agents/project-agent-capture-window.d.ts +29 -0
- package/dist/coordination/agents/project-agent-config-io.d.ts +11 -0
- package/dist/coordination/agents/project-agent-consolidation.d.ts +34 -2
- package/dist/coordination/agents/project-agent-directive-outcome.d.ts +57 -0
- package/dist/coordination/agents/project-agent-files.d.ts +12 -3
- package/dist/coordination/agents/project-agent-identity-types.d.ts +4 -0
- package/dist/coordination/agents/project-agent-identity.d.ts +38 -11
- package/dist/coordination/agents/project-agent-learning-entries.d.ts +8 -2
- package/dist/coordination/agents/project-agent-learning-policy.d.ts +22 -1
- package/dist/coordination/agents/project-agent-learning-structured.d.ts +72 -1
- package/dist/coordination/agents/project-agent-optimizer.d.ts +49 -0
- package/dist/coordination/agents/project-agent-quarantine.d.ts +63 -0
- package/dist/coordination/agents/project-agent-skill-layer.d.ts +146 -0
- package/dist/coordination/agents/role-skills.d.ts +11 -1
- package/dist/coordination/agents/types.d.ts +10 -2
- package/dist/coordination/director-prompts.d.ts +19 -6
- package/dist/coordination/director-tools.d.ts +2 -2
- package/dist/coordination/fleet.d.ts +0 -6
- package/dist/coordination/index.d.ts +1 -1
- package/dist/coordination/index.js +5746 -4326
- package/dist/coordination/mail-tools.d.ts +1 -1
- package/dist/core/agent-types.d.ts +4 -2
- package/dist/core/agent.d.ts +1 -0
- package/dist/core/context.d.ts +19 -0
- package/dist/core/conversation-state.d.ts +14 -0
- package/dist/core/fallback-profile-manager.d.ts +70 -2
- package/dist/core/index.js +317 -108
- package/dist/core/system-prompt-blocks.d.ts +1 -1
- package/dist/core/system-prompt-builder.d.ts +13 -1
- package/dist/core/system-prompt-glossary.d.ts +73 -0
- package/dist/core/system-prompt-memory-skills.d.ts +2 -2
- package/dist/defaults/index.js +1635 -1120
- package/dist/execution/council-orchestrator.d.ts +3 -13
- package/dist/execution/index.js +3136 -2706
- package/dist/execution/one-shot-llm.d.ts +5 -0
- package/dist/goal/index.js +7 -0
- package/dist/hq/index.js +17 -7
- package/dist/hq/protocol/kanban.d.ts +21 -0
- package/dist/hq/protocol.js +5 -1
- package/dist/hq/redaction.d.ts +14 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +5502 -3483
- package/dist/infrastructure/index.js +247 -122
- package/dist/kernel/events/agent-events.d.ts +28 -0
- package/dist/plugin/index.js +111 -7
- package/dist/registry/index.js +11 -0
- package/dist/registry/tool-registry.d.ts +8 -0
- package/dist/replay/hash.d.ts +9 -0
- package/dist/replay/index.js +14 -4
- package/dist/replay/replay-provider-runner.d.ts +31 -1
- package/dist/security/index.js +92 -21
- package/dist/security/kanban-boundary.d.ts +5 -1
- package/dist/security/secret-vault.d.ts +2 -0
- package/dist/session-catalog/index.js +86 -10
- package/dist/session-catalog/project-server.js +100 -17
- package/dist/session-catalog/protocol.d.ts +20 -4
- package/dist/session-catalog/store.d.ts +19 -3
- package/dist/storage/index.js +305 -69
- package/dist/storage/memory-consolidator.d.ts +4 -2
- package/dist/storage/plan-store.d.ts +1 -1
- package/dist/storage/session-resume-validation.d.ts +24 -0
- package/dist/storage/session-store/directory-scan.d.ts +5 -1
- package/dist/storage/session-store/fork-session.d.ts +13 -1
- package/dist/storage/session-store/load-cache.d.ts +11 -0
- package/dist/storage/session-store/prune-helpers.d.ts +5 -0
- package/dist/storage/session-store.d.ts +18 -0
- package/dist/tasking/index.js +5 -0
- package/dist/tools/index.js +1151 -831
- package/dist/types/config/mcp-features.d.ts +31 -1
- package/dist/types/config/root.d.ts +23 -1
- package/dist/types/config/skills-fleet-brain.d.ts +34 -0
- package/dist/types/config/tools.d.ts +22 -0
- package/dist/types/config/ui.d.ts +14 -0
- package/dist/types/config.d.ts +1 -0
- package/dist/types/default-config.d.ts +1 -0
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.js +23 -0
- package/dist/types/multi-agent.d.ts +7 -0
- package/dist/types/session.d.ts +9 -1
- package/dist/types/task-graph.d.ts +2 -0
- package/dist/types/tool-executor.d.ts +2 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +217 -76
- package/dist/utils/project-state-guard.d.ts +21 -0
- package/dist/utils/session-scoped-path.d.ts +17 -0
- package/dist/utils/todos-format.d.ts +20 -0
- package/instructions/leader-after-task.md +3 -4
- package/instructions/system-lite.md +17 -14
- package/instructions/system-pro.md +29 -30
- package/instructions/system.md +29 -28
- package/package.json +3 -3
- package/skills/wrongstack-kanban/SKILL.md +95 -93
|
@@ -1,132 +1,134 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wrongstack-kanban
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
triggers:
|
|
10
|
-
- user says "kanban", "board", "task dispatch", "kanban queue"
|
|
11
|
-
- working with the kanban tool or kanban_queue
|
|
12
|
-
- managing project work through boards
|
|
3
|
+
description: |
|
|
4
|
+
Record substantial project work on WrongStack's IPC-backed Kanban board so it
|
|
5
|
+
survives the session and other agents can see it. Covers card detail, the
|
|
6
|
+
managed Backlog→Todo→Running→Review→Done lifecycle, lease-fenced dispatch,
|
|
7
|
+
and what "verified" means before a card reaches Done.
|
|
8
|
+
trigger: working with the kanban tool, managing project work through boards, or advancing a managed card's lifecycle
|
|
13
9
|
required-capabilities: [work.plan]
|
|
14
|
-
required-tools: [kanban
|
|
10
|
+
required-tools: [kanban]
|
|
15
11
|
---
|
|
16
12
|
|
|
17
|
-
# WrongStack Kanban
|
|
13
|
+
# WrongStack Kanban
|
|
18
14
|
|
|
19
|
-
##
|
|
15
|
+
## What the board is for
|
|
20
16
|
|
|
21
|
-
The
|
|
22
|
-
|
|
23
|
-
|
|
17
|
+
The board tells whoever picks the work up what is in flight, what it depends
|
|
18
|
+
on, and what already happened. **It is a record, not a checkpoint.** Put
|
|
19
|
+
substantial or multi-step work on it so the state outlives the session; a
|
|
20
|
+
trivial edit, a quick read, or a question does not need a card. Resume the
|
|
21
|
+
existing card for the same request instead of creating a duplicate.
|
|
24
22
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
1. **Never claim a task is "done" in chat without a board mutation.**
|
|
28
|
-
If you completed work, you must call `kanban` with `action: "mark_assignment"`
|
|
29
|
-
or `action: "transition_task"` to persist the result. A chat-only claim of
|
|
30
|
-
completion is fake progress.
|
|
31
|
-
|
|
32
|
-
2. **Never mark a task "completed" without verification.**
|
|
33
|
-
On managed boards, `mark_assignment(completed)` parks the card in Review —
|
|
34
|
-
it does not complete it. Only `verifyTaskCompletion` passing (or reviewer
|
|
35
|
-
acceptance) moves a card to Done.
|
|
23
|
+
**The board follows the work; the work does not wait on the board.** If Kanban
|
|
24
|
+
persistence fails, say so and keep working — do not stall.
|
|
36
25
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
26
|
+
If board or card identity is unclear, call `kanban` with action `workbench`
|
|
27
|
+
first. Its Now / Next / Blocked / Review lanes and alerts are navigation over
|
|
28
|
+
authoritative boards; follow the selected card back to its board before
|
|
29
|
+
mutating it, and never treat the Workbench projection as a second task store.
|
|
41
30
|
|
|
42
|
-
|
|
43
|
-
Every managed-board task must have at minimum a `description`. A title-only
|
|
44
|
-
card is rejected at creation time.
|
|
31
|
+
## Proportional hierarchy
|
|
45
32
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
33
|
+
- A genuinely atomic request is **one childless leaf card**. It does not need
|
|
34
|
+
invented children.
|
|
35
|
+
- Composite work is a parent plus dependency-ordered children created with the
|
|
36
|
+
`kanban` action `split_atomic`. Only a parent marked `atomic: true` needs
|
|
37
|
+
`childTaskIds`.
|
|
38
|
+
- Scale card count to the size of the work. Never let card bookkeeping become
|
|
39
|
+
the task.
|
|
50
40
|
|
|
51
|
-
##
|
|
41
|
+
## Card detail
|
|
52
42
|
|
|
53
|
-
|
|
43
|
+
What a managed board actually enforces before a card leaves Backlog:
|
|
54
44
|
|
|
55
45
|
| Field | Required | Why |
|
|
56
46
|
|-------|----------|-----|
|
|
57
47
|
| `description` | **Yes** | A title alone is not actionable scope |
|
|
58
|
-
| `assignee` | **Yes** | Work without an owner is untracked |
|
|
59
|
-
| `dueDate` | **Yes** | Work without a deadline drifts indefinitely |
|
|
60
|
-
| `labels` | **Yes** (≥1) | Tags categorize and filter work |
|
|
61
|
-
| `childTaskIds` | **Yes** (≥1) | Every task is decomposed into subtasks |
|
|
48
|
+
| `assignee` (or `assignedAgent` / assignment identity) | **Yes** | Work without an owner is untracked |
|
|
62
49
|
| `successCriteria` | **Yes** | Acceptance criteria define "done" before work starts |
|
|
50
|
+
| `childTaskIds` | Only when `atomic: true` | A composite parent must name its children; a leaf stays childless |
|
|
63
51
|
|
|
64
|
-
|
|
52
|
+
`dueDate`, `labels`, `priority` and `estimatedHours` are available and used when
|
|
53
|
+
set, but **not required** — a thirty-line fix has no genuine deadline, and
|
|
54
|
+
demanding one only teaches you to invent a date to clear the gate. The Kanban
|
|
55
|
+
Cleaner still lists them as advisory suggestions; that is not a block.
|
|
65
56
|
|
|
66
|
-
|
|
57
|
+
Fill what is genuinely known. A thin card beats untracked work, and the rest is
|
|
58
|
+
filled in as it becomes known.
|
|
67
59
|
|
|
68
|
-
|
|
69
|
-
order, and creation time — not randomly. Do not attempt to influence dispatch
|
|
70
|
-
order by shuffling tasks or boards.
|
|
60
|
+
## Anti-fake-progress rules
|
|
71
61
|
|
|
72
|
-
|
|
73
|
-
`
|
|
74
|
-
|
|
62
|
+
1. **Never claim a task is done in chat without a board mutation.** If you
|
|
63
|
+
completed work, call `kanban` with `mark_assignment` or `transition_task` to
|
|
64
|
+
persist it. A chat-only completion claim is fake progress.
|
|
65
|
+
2. **Never mark a task completed without verification.** On a managed board
|
|
66
|
+
`mark_assignment(completed)` moves the card to Review — it does not complete
|
|
75
67
|
it.
|
|
68
|
+
3. **Never skip lifecycle stages.** Managed cards move exactly one stage at a
|
|
69
|
+
time. The guard rejects jumps.
|
|
70
|
+
4. **Never report work as in progress without a board assignment.** If work is
|
|
71
|
+
happening, the card must carry an active assignment with lease metadata.
|
|
72
|
+
5. **Never shrink tracked scope by omission.** Todo, task and plan rows are
|
|
73
|
+
identity-bearing projections of Kanban cards. Keep every unfinished row and
|
|
74
|
+
its `kanbanBoardId`/`kanbanTaskId` binding in full-list updates.
|
|
76
75
|
|
|
77
|
-
|
|
78
|
-
with the `heartbeat_assignment` action before it expires. Expired leases are recovered by the
|
|
79
|
-
system and the task is reassigned.
|
|
76
|
+
## Dispatch contract
|
|
80
77
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
78
|
+
1. **Dispatch is deterministic.** Selection is by priority, column, order and
|
|
79
|
+
creation time — child cards before composite parents. Do not try to
|
|
80
|
+
influence it by shuffling tasks or boards.
|
|
81
|
+
2. **Claim before working.** Call `kanban` with `claim_task` (or let the
|
|
82
|
+
Director's queue tool claim for you) before starting. Working an unclaimed
|
|
83
|
+
card means another agent may be working it too.
|
|
84
|
+
3. **Heartbeat or lose the lease.** Call `kanban` with `heartbeat_assignment`
|
|
85
|
+
before the lease expires. Expired leases are recovered by the supervisor and
|
|
86
|
+
the task is returned to the queue for reassignment.
|
|
87
|
+
4. **Fence your writes.** Pass `expectedLeaseId` on every `mark_assignment` and
|
|
88
|
+
`heartbeat_assignment`. If your lease was recovered, the write becomes a safe
|
|
89
|
+
no-op instead of corrupting the successor's state.
|
|
84
90
|
|
|
85
91
|
## Completion contract
|
|
86
92
|
|
|
87
|
-
1. **"Done" means verified.** The completion gate runs
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
result.
|
|
94
|
-
|
|
95
|
-
3. **File-scope is checked.** If `expectedFileChanges` is set, the verifier
|
|
93
|
+
1. **"Done" means verified.** The completion gate runs the verifier, which
|
|
94
|
+
executes success-criteria checks deterministically — tests and commands are
|
|
95
|
+
actually run, not asserted.
|
|
96
|
+
2. **Chat evidence is not board evidence.** Saying "tests pass" verifies
|
|
97
|
+
nothing. The verifier runs the real command and records the result.
|
|
98
|
+
3. **File scope is checked.** When `expectedFileChanges` is set, the verifier
|
|
96
99
|
compares the actual git diff against the expected paths. Unexpected changes
|
|
97
100
|
fail the scope check.
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
|
110
|
-
|
|
|
111
|
-
| Fail work | `mark_assignment(failed)` with error |
|
|
101
|
+
4. **Acceptance depends on board policy.** When verification passes, a managed
|
|
102
|
+
board auto-accepts Review → Done by default. A board that sets
|
|
103
|
+
`lifecycle.autoAccept: false` holds the card in Review for an explicit
|
|
104
|
+
reviewer `transition_task`. Either way, a failing or absent verdict never
|
|
105
|
+
reaches Done on its own.
|
|
106
|
+
|
|
107
|
+
## Every material action produces a board mutation
|
|
108
|
+
|
|
109
|
+
| Action | Required mutation |
|
|
110
|
+
|--------|-------------------|
|
|
111
|
+
| Start work | `mark_assignment(running)` — a managed card advances to Running with it |
|
|
112
|
+
| Complete work | `mark_assignment(completed)` — a managed card advances to Review |
|
|
113
|
+
| Fail work | `mark_assignment(failed)` with `error` |
|
|
112
114
|
| Split scope | `split_task` or `split_atomic` |
|
|
113
115
|
| Add evidence | `add_note` or `add_link` |
|
|
114
116
|
| Change plan | `update_task` or `add_dependency` |
|
|
117
|
+
| Tick a criterion | `update_check` with `checkStatus: "passed"` (read ids from `get_task`) |
|
|
115
118
|
|
|
116
119
|
## Prohibited patterns
|
|
117
120
|
|
|
118
|
-
| Anti-pattern | Why
|
|
119
|
-
|
|
120
|
-
| Creating title-only
|
|
121
|
-
| Reporting
|
|
121
|
+
| Anti-pattern | Why |
|
|
122
|
+
|--------------|-----|
|
|
123
|
+
| Creating title-only cards on a managed board | Rejected at creation; no description means no actionable scope |
|
|
124
|
+
| Reporting done without board evidence | Fake progress; the board is the shared record |
|
|
122
125
|
| Randomizing task selection | Dispatch is deterministic by design |
|
|
123
|
-
|
|
|
124
|
-
|
|
|
125
|
-
|
|
|
126
|
+
| Working without a lease | Untracked, and may collide with another agent |
|
|
127
|
+
| Omitting unfinished Todo/task/plan rows | Requirement identity and coverage would be lost |
|
|
128
|
+
| Inventing subtasks for a leaf card | Recursive decomposition to satisfy process, not the work |
|
|
126
129
|
|
|
127
|
-
##
|
|
130
|
+
## Related skills
|
|
128
131
|
|
|
129
|
-
- `sdd` —
|
|
130
|
-
- `bug-hunter` —
|
|
131
|
-
- `
|
|
132
|
-
- `multi-agent` — Parallel dispatch through kanban_queue
|
|
132
|
+
- `sdd` — spec-driven development creates boards from task graphs
|
|
133
|
+
- `bug-hunter` — findings can be tracked as cards
|
|
134
|
+
- `multi-agent` — parallel dispatch through the Director's queue tool
|