gm-skill 2.0.1644 → 2.0.1645
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/gm-plugkit/package.json +1 -1
- package/gm-plugkit/plugkit.version +1 -1
- package/gm.json +1 -1
- package/lib/spool-dispatch.js +16 -6
- package/package.json +1 -1
package/gm-plugkit/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gm-plugkit",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1645",
|
|
4
4
|
"description": "Bootstrap and daemon-spawn tool for gm plugkit binary. Downloads the correct platform binary, verifies SHA256, and starts the spool watcher daemon. Includes plugkit-wasm-wrapper for WASM-based spool watching.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.1.
|
|
1
|
+
0.1.703
|
package/gm.json
CHANGED
package/lib/spool-dispatch.js
CHANGED
|
@@ -320,9 +320,14 @@ function checkDispatchGates(sessionId, operation, extra) {
|
|
|
320
320
|
const residuals = [];
|
|
321
321
|
if (fs.existsSync(prdPath)) {
|
|
322
322
|
try {
|
|
323
|
-
const
|
|
324
|
-
if (
|
|
325
|
-
residuals.push('PRD
|
|
323
|
+
const raw = fs.readFileSync(prdPath, 'utf8');
|
|
324
|
+
if (raw.trim().length === 0) {
|
|
325
|
+
residuals.push('prd.yml is empty/truncated -- cannot confirm PRD is actually done; restore from git or re-scope before declaring done');
|
|
326
|
+
} else {
|
|
327
|
+
const statuses = yamlStatusValues(raw);
|
|
328
|
+
if (statuses.includes('pending') || statuses.includes('in_progress')) {
|
|
329
|
+
residuals.push('PRD has open items -- resolve or name-and-stop before declaring done');
|
|
330
|
+
}
|
|
326
331
|
}
|
|
327
332
|
} catch (e) {
|
|
328
333
|
residuals.push(`prd.yml unreadable (${e.message}) -- cannot verify PRD state`);
|
|
@@ -330,9 +335,14 @@ function checkDispatchGates(sessionId, operation, extra) {
|
|
|
330
335
|
}
|
|
331
336
|
if (fs.existsSync(mutsPath)) {
|
|
332
337
|
try {
|
|
333
|
-
const
|
|
334
|
-
if (
|
|
335
|
-
residuals.push('
|
|
338
|
+
const raw = fs.readFileSync(mutsPath, 'utf8');
|
|
339
|
+
if (raw.trim().length === 0) {
|
|
340
|
+
residuals.push('mutables.yml is empty/truncated -- cannot confirm mutables are actually resolved; restore from git or re-scope before declaring done');
|
|
341
|
+
} else {
|
|
342
|
+
const statuses = yamlStatusValues(raw);
|
|
343
|
+
if (statuses.includes('unknown')) {
|
|
344
|
+
residuals.push('unresolved mutables present -- resolve with witness_evidence before declaring done');
|
|
345
|
+
}
|
|
336
346
|
}
|
|
337
347
|
} catch (e) {
|
|
338
348
|
residuals.push(`mutables.yml unreadable (${e.message}) -- cannot verify mutable state`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gm-skill",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1645",
|
|
4
4
|
"description": "Canonical universal harness — AI-native software engineering via skill-driven orchestration; bootstraps plugkit for task execution and session isolation. Install in any AI coding agent host.",
|
|
5
5
|
"author": "AnEntrypoint",
|
|
6
6
|
"license": "MIT",
|