@goodandready/dsh-kanban 0.2.35 → 0.2.36
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/lib/board-tool.js +8 -0
- package/lib/client.js +3784 -3567
- package/lib/config.js +4 -0
- package/lib/dependencies.js +175 -0
- package/lib/routes/board.js +4 -0
- package/lib/routes/task-actions.js +73 -0
- package/lib/routes/task.js +27 -1
- package/lib/routes.js +2 -0
- package/lib/server/task-handler.js +39 -0
- package/lib/store.js +15 -1
- package/lib/time-machine.js +214 -0
- package/package.json +1 -1
package/lib/board-tool.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { verifyAndRecordGate } from './verification.js'
|
|
2
|
+
import { checkMoveAllowed } from './dependencies.js'
|
|
2
3
|
//
|
|
3
4
|
// JSON Schema:
|
|
4
5
|
//
|
|
@@ -98,6 +99,13 @@ export function boardMoveDefinition({ store, config, eventHub }) {
|
|
|
98
99
|
return `Cannot move card: task belongs to workspace "${task.workspaceId}", but current session belongs to workspace "${sessionWs}". Cross-workspace moves are restricted by workspaceClaimBoundaries.`
|
|
99
100
|
}
|
|
100
101
|
}
|
|
102
|
+
if (column === 'in-progress') {
|
|
103
|
+
const moveCheck = checkMoveAllowed(task, column, store)
|
|
104
|
+
if (!moveCheck.allowed) {
|
|
105
|
+
return moveCheck.reason
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
101
109
|
// Model cannot transition directly to done without workflow validation
|
|
102
110
|
if (column === 'done' || TOOL_FORBIDDEN_COLUMNS.includes(column)) {
|
|
103
111
|
return 'The done column is a human-only acceptance boundary. A task is not finished by moving its card: move it to review for human acceptance; only a human can accept and move it to done.'
|