@evoclock/pi-agentic-driver 0.8.1 → 0.8.2
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@evoclock/pi-agentic-driver",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.2",
|
|
4
4
|
"description": "Guardrail extensions for Agentic Driver: advisory review, bounded Herdr communication, and guarded worker lifecycle.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "AGPL-3.0-or-later",
|
|
@@ -1079,8 +1079,15 @@ export function registerKanbanBoardTools(pi, { resolveBoardPath, boardPath } = {
|
|
|
1079
1079
|
async execute(_toolContext, input, _signal, _onUpdate, ctx) {
|
|
1080
1080
|
// Resolve the board per call from the calling session's working
|
|
1081
1081
|
// directory. No board here: structured board-unavailable, no write.
|
|
1082
|
-
|
|
1083
|
-
|
|
1082
|
+
let resolvedBoardPath = (typeof resolveBoardPath === "function" ? resolveBoardPath(ctx?.cwd) : null) ?? boardPath ?? null;
|
|
1083
|
+
// The write tool bootstraps: a MISSING board file is fine (the writer
|
|
1084
|
+
// creates it fresh under the lock). When the resolver finds no board,
|
|
1085
|
+
// fall back to the canonical board.md in the workspace so the writer
|
|
1086
|
+
// can create it.
|
|
1087
|
+
if (resolvedBoardPath === null && typeof ctx?.cwd === "string" && ctx.cwd !== "") {
|
|
1088
|
+
resolvedBoardPath = join(ctx.cwd, "TASKS.md");
|
|
1089
|
+
}
|
|
1090
|
+
if (resolvedBoardPath === null) {
|
|
1084
1091
|
const value = {
|
|
1085
1092
|
ok: false,
|
|
1086
1093
|
persisted: false,
|
|
@@ -1138,7 +1145,10 @@ export function registerKanbanBoardTools(pi, { resolveBoardPath, boardPath } = {
|
|
|
1138
1145
|
authority: input?.authority,
|
|
1139
1146
|
registries: {},
|
|
1140
1147
|
surface: "tasks",
|
|
1141
|
-
requireExistingBoard:
|
|
1148
|
+
// No requireExistingBoard here: the write tool bootstraps a
|
|
1149
|
+
// fresh board when none exists (§3.4/§5). Recreation is safe —
|
|
1150
|
+
// the writer builds fresh content only, and every card still
|
|
1151
|
+
// requires a genuine authority record.
|
|
1142
1152
|
});
|
|
1143
1153
|
} catch (error) {
|
|
1144
1154
|
const code = typeof error?.code === "string" ? error.code : "writer-error";
|