gm-skill 2.0.1169 → 2.0.1171
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/bin/plugkit.version +1 -1
- package/bin/plugkit.wasm +0 -0
- package/bin/plugkit.wasm.sha256 +1 -1
- package/gm-plugkit/plugkit-wasm-wrapper.js +35 -0
- package/gm.json +2 -2
- package/package.json +2 -2
- package/skills/gm-skill/SKILL.md +2 -0
package/README.md
CHANGED
|
@@ -35,7 +35,7 @@ An earlier generation fanned out fifteen per-platform downstream repos (gm-cc, g
|
|
|
35
35
|
|
|
36
36
|
## Version
|
|
37
37
|
|
|
38
|
-
`2.0.
|
|
38
|
+
`2.0.1171` — auto-bumped from the canonical `gm` repo. Every push to `AnEntrypoint/gm` (or any cascading sibling crate) republishes this package.
|
|
39
39
|
|
|
40
40
|
## Source of truth
|
|
41
41
|
|
package/bin/plugkit.version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.1.
|
|
1
|
+
0.1.422
|
package/bin/plugkit.wasm
CHANGED
|
Binary file
|
package/bin/plugkit.wasm.sha256
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
fc556868ffca7ab16ec04a13538bb42e853894f541a8251148165aa8e423dc83 plugkit.wasm
|
|
@@ -1115,6 +1115,41 @@ async function runSpoolWatcher(instance, spoolDir) {
|
|
|
1115
1115
|
}
|
|
1116
1116
|
}, 60_000);
|
|
1117
1117
|
|
|
1118
|
+
const _wrapperPathInstalled = path.join(os.homedir(), '.claude', 'gm-tools', 'plugkit-wasm-wrapper.js');
|
|
1119
|
+
let _wrapperShaAtBoot = '';
|
|
1120
|
+
try {
|
|
1121
|
+
const _crypto = require('crypto');
|
|
1122
|
+
_wrapperShaAtBoot = _crypto.createHash('sha256').update(fs.readFileSync(_wrapperPathInstalled)).digest('hex');
|
|
1123
|
+
} catch (_) {}
|
|
1124
|
+
setInterval(() => {
|
|
1125
|
+
try {
|
|
1126
|
+
if (!_wrapperShaAtBoot) return;
|
|
1127
|
+
const _crypto = require('crypto');
|
|
1128
|
+
const cur = _crypto.createHash('sha256').update(fs.readFileSync(_wrapperPathInstalled)).digest('hex');
|
|
1129
|
+
if (cur === _wrapperShaAtBoot) return;
|
|
1130
|
+
logEvent('plugkit', 'wrapper.drift', {
|
|
1131
|
+
boot_sha: _wrapperShaAtBoot.slice(0, 12),
|
|
1132
|
+
file_sha: cur.slice(0, 12),
|
|
1133
|
+
action: 'exit-for-respawn',
|
|
1134
|
+
});
|
|
1135
|
+
console.error(`[plugkit-wasm] wrapper.js drift detected → exiting so supervisor reloads fresh wrapper`);
|
|
1136
|
+
try {
|
|
1137
|
+
fs.writeFileSync(path.join(spoolDir, '.shutdown-reason.json'), JSON.stringify({
|
|
1138
|
+
reason: 'wrapper-change',
|
|
1139
|
+
ts: Date.now(),
|
|
1140
|
+
pid: process.pid,
|
|
1141
|
+
boot_sha: _wrapperShaAtBoot.slice(0, 12),
|
|
1142
|
+
file_sha: cur.slice(0, 12),
|
|
1143
|
+
}));
|
|
1144
|
+
} catch (_) {}
|
|
1145
|
+
try { releaseLock(); } catch (_) {}
|
|
1146
|
+
try { fs.unlinkSync(STATUS_PATH_FOR_TEARDOWN); } catch (_) {}
|
|
1147
|
+
process.exit(0);
|
|
1148
|
+
} catch (e) {
|
|
1149
|
+
console.error(`[wrapper-drift-check] error: ${e.message}`);
|
|
1150
|
+
}
|
|
1151
|
+
}, 60_000);
|
|
1152
|
+
|
|
1118
1153
|
setInterval(() => {
|
|
1119
1154
|
try {
|
|
1120
1155
|
const idleMs = Date.now() - lastActivityMs;
|
package/gm.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gm",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1171",
|
|
4
4
|
"description": "Spool-dispatch orchestration engine with unified state machine, skills, and automated git enforcement",
|
|
5
5
|
"author": "AnEntrypoint",
|
|
6
6
|
"license": "MIT",
|
|
@@ -17,5 +17,5 @@
|
|
|
17
17
|
"publishConfig": {
|
|
18
18
|
"access": "public"
|
|
19
19
|
},
|
|
20
|
-
"plugkitVersion": "0.1.
|
|
20
|
+
"plugkitVersion": "0.1.422"
|
|
21
21
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gm-skill",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1171",
|
|
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",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"gm.json"
|
|
40
40
|
],
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"gm-plugkit": "^2.0.
|
|
42
|
+
"gm-plugkit": "^2.0.1171"
|
|
43
43
|
},
|
|
44
44
|
"engines": {
|
|
45
45
|
"node": ">=16.0.0"
|
package/skills/gm-skill/SKILL.md
CHANGED
|
@@ -20,4 +20,6 @@ Now dispatch `instruction` by writing an empty body to `.gm/exec-spool/in/instru
|
|
|
20
20
|
|
|
21
21
|
Nothing else lives here. Every concern that feels like it belongs in this file — how to batch, what verbs exist, when to scan for residuals, how the browser surface works, where the watcher logs go, how updates land, when to stop — is served by `instruction` when the moment calls for it. Trying to remember it from this skill instead of asking plugkit is forced closure: the agent acts on a stale snapshot of policy instead of the live one plugkit holds.
|
|
22
22
|
|
|
23
|
+
Memory writes route through `memorize-fire` only — any native "save to memory" affordance the harness exposes is invisible to plugkit's recall index and is forbidden. Questions to the user fire last, after scope-expansion and a `WebSearch`/`WebFetch` pack have both closed empty.
|
|
24
|
+
|
|
23
25
|
Only plugkit.
|