gm-skill 2.0.2301 → 2.0.2303

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.
@@ -1 +1 @@
1
- baac66b368e9e15dc91f138f057f5a743eee3a871040e1e8cfb46ade73f26f31 plugkit-slim.wasm
1
+ 11a66e6a171dcc009ee28e1a27bee534bfb0e5abc63f67671e7295c074ba9f80 plugkit-slim.wasm
@@ -1 +1 @@
1
- 0.1.1077
1
+ 0.1.1078
@@ -1 +1 @@
1
- db055d6ff6fe8901346921db771351f7f6f71dc0c8db041df4b646c8a0bda854 plugkit.wasm
1
+ 7310242244019cca3897e20154ebea268fcdc9f8a6d0649889719e284281964a plugkit.wasm
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm-plugkit",
3
- "version": "2.0.2301",
3
+ "version": "2.0.2303",
4
4
  "description": "Bootstrap and daemon-spawn tool for gm plugkit binary. Downloads the correct platform wasm, verifies SHA256, and launches agentplug-runner (the native wasm host) as the spool watcher daemon.",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -1 +1 @@
1
- baac66b368e9e15dc91f138f057f5a743eee3a871040e1e8cfb46ade73f26f31 plugkit-slim.wasm
1
+ 11a66e6a171dcc009ee28e1a27bee534bfb0e5abc63f67671e7295c074ba9f80 plugkit-slim.wasm
@@ -1 +1 @@
1
- 0.1.1077
1
+ 0.1.1078
package/gm.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm",
3
- "version": "2.0.2301",
3
+ "version": "2.0.2303",
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.1077"
20
+ "plugkitVersion": "0.1.1078"
21
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm-skill",
3
- "version": "2.0.2301",
3
+ "version": "2.0.2303",
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",
@@ -122,7 +122,7 @@ function resolveConformancePaths() {
122
122
  return {
123
123
  proseSourceDir,
124
124
  browserMdPath: path.join(proseSourceDir, 'browser.md'),
125
- executeMdPath: path.join(proseSourceDir, 'execute.md'),
125
+ execJsOptsProseMdPath: path.join(proseSourceDir, 'prove.md'),
126
126
  browserRsPath: path.join(root, 'agentplug', 'crates', 'agentplug-host', 'src', 'browser.rs'),
127
127
  cdpEvalJsPath: path.join(root, 'agentplug', 'crates', 'agentplug-host', 'src', 'cdp_eval.js'),
128
128
  execJsRsPath: path.join(root, 'agentplug', 'crates', 'agentplug-host', 'src', 'exec_js.rs'),
@@ -172,23 +172,23 @@ function crossReferenceBrowserPrefixes(browserMd, browserRs, cdpEvalJs) {
172
172
  return { conformanceFindings, promisedPrefixCount: promisedPrefixes.length };
173
173
  }
174
174
 
175
- function extractExecJsOptsFieldsFromProse(executeMd) {
175
+ function extractExecJsOptsFieldsFromProse(execJsOptsProseMd) {
176
176
  const optsFieldRe = /opts\.([a-zA-Z][a-zA-Z0-9]*)/g;
177
177
  const promisedOptsFields = new Set();
178
178
  let m;
179
- while ((m = optsFieldRe.exec(executeMd)) !== null) {
179
+ while ((m = optsFieldRe.exec(execJsOptsProseMd)) !== null) {
180
180
  if (m[1] !== 'true' && m[1] !== 'false') promisedOptsFields.add(m[1]);
181
181
  }
182
182
  return promisedOptsFields;
183
183
  }
184
184
 
185
- function crossReferenceExecJsOptsFields(executeMd, execJsRs) {
186
- const promisedOptsFields = extractExecJsOptsFieldsFromProse(executeMd);
185
+ function crossReferenceExecJsOptsFields(execJsOptsProseMd, execJsRs) {
186
+ const promisedOptsFields = extractExecJsOptsFieldsFromProse(execJsOptsProseMd);
187
187
  const conformanceFindings = [];
188
188
 
189
189
  for (const field of promisedOptsFields) {
190
190
  if (!execJsRs.includes(`opts.get("${field}")`)) {
191
- conformanceFindings.push(`execute.md promises exec_js opts.${field} with no matching opts.get("${field}") in exec_js.rs`);
191
+ conformanceFindings.push(`prove.md promises exec_js opts.${field} with no matching opts.get("${field}") in exec_js.rs`);
192
192
  }
193
193
  }
194
194
  return { conformanceFindings, promisedOptsFieldCount: promisedOptsFields.size };
@@ -196,7 +196,7 @@ function crossReferenceExecJsOptsFields(executeMd, execJsRs) {
196
196
 
197
197
  function runConformanceCheck() {
198
198
  const paths = resolveConformancePaths();
199
- const requiredFiles = [paths.browserMdPath, paths.executeMdPath, paths.browserRsPath, paths.cdpEvalJsPath, paths.execJsRsPath];
199
+ const requiredFiles = [paths.browserMdPath, paths.execJsOptsProseMdPath, paths.browserRsPath, paths.cdpEvalJsPath, paths.execJsRsPath];
200
200
  const missingFiles = checkEveryRequiredFileExists(requiredFiles);
201
201
 
202
202
  if (missingFiles.length > 0) {
@@ -207,11 +207,11 @@ function runConformanceCheck() {
207
207
  const browserMd = fs.readFileSync(paths.browserMdPath, 'utf8');
208
208
  const browserRs = fs.readFileSync(paths.browserRsPath, 'utf8');
209
209
  const cdpEvalJs = fs.readFileSync(paths.cdpEvalJsPath, 'utf8');
210
- const executeMd = fs.readFileSync(paths.executeMdPath, 'utf8');
210
+ const execJsOptsProseMd = fs.readFileSync(paths.execJsOptsProseMdPath, 'utf8');
211
211
  const execJsRs = fs.readFileSync(paths.execJsRsPath, 'utf8');
212
212
 
213
213
  const browserResult = crossReferenceBrowserPrefixes(browserMd, browserRs, cdpEvalJs);
214
- const execJsResult = crossReferenceExecJsOptsFields(executeMd, execJsRs);
214
+ const execJsResult = crossReferenceExecJsOptsFields(execJsOptsProseMd, execJsRs);
215
215
  const allFindings = [...browserResult.conformanceFindings, ...execJsResult.conformanceFindings];
216
216
 
217
217
  if (allFindings.length) {