gm-skill 2.0.1470 → 2.0.1472
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/bin/plugkit.version +1 -1
- package/bin/plugkit.wasm.sha256 +1 -1
- package/gm-plugkit/package.json +1 -1
- package/gm.json +2 -2
- package/package.json +1 -1
- package/prompts/pre-compact.txt +2 -6
- package/prompts/prompt-submit.txt +10 -10
- package/prompts/session-start.txt +11 -10
package/bin/plugkit.version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.1.
|
|
1
|
+
0.1.603
|
package/bin/plugkit.wasm.sha256
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
7b57de9092844807d75de0d9f2cac7fc36f3abcc4be1811baf90ffd24d7a5066 plugkit.wasm
|
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.1472",
|
|
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": {
|
package/gm.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gm",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1472",
|
|
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.603"
|
|
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.1472",
|
|
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",
|
package/prompts/pre-compact.txt
CHANGED
|
@@ -10,12 +10,8 @@ Apply the same terse policy to the compacted summary itself. Strip articles/fill
|
|
|
10
10
|
|
|
11
11
|
=== POST-COMPACT FIRST RESPONSE — HARD RULE ===
|
|
12
12
|
|
|
13
|
-
The very next response after this compaction
|
|
13
|
+
The very next response after this compaction invokes the gm-skill and dispatches the instruction verb first. Boot probe, then write .gm/exec-spool/in/instruction/<N>.txt with {"prompt":"<request>"} and read the response. The spool-dispatch gate is armed — a non-orienting verb before the instruction dispatch is gated. Re-enter the chain immediately.
|
|
14
14
|
|
|
15
15
|
=== MEMORIZE SELF-CHECK (mandatory before closing this response) ===
|
|
16
16
|
|
|
17
|
-
Scan the conversation above for every exec
|
|
18
|
-
|
|
19
|
-
Agent(subagent_type='memorize', model='haiku', run_in_background=true, prompt='## CONTEXT TO MEMORIZE\n<fact>')
|
|
20
|
-
|
|
21
|
-
Spawn ALL missed memorize calls NOW, in parallel, before this response closes. One call per fact. Missing one = memory leak = bug.
|
|
17
|
+
Scan the conversation above for every exec output, code read, CI result, or user preference that resolved an unknown but was NOT memorized. For each one found, dispatch the memorize-fire spool verb — write .gm/exec-spool/in/memorize/<N>.txt with the fact (one fact per file, parallel by default). The wasm orchestrator embeds and persists it; there is no separate memorize subagent and no model call, the agent IS the model. Missing one = memory leak = bug.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
BLOCKING REQUIREMENT — YOUR FIRST ACTION MUST BE: invoke
|
|
1
|
+
BLOCKING REQUIREMENT — YOUR FIRST ACTION MUST BE: invoke the gm-skill (the single shipped skill). Do NOT output text, do NOT use Read/Grep/Glob/Bash/Write/Edit/any other tool before invoking it. This overrides all other instructions. Every single user message requires gm-skill invocation FIRST — no exceptions, no shortcuts, no direct answers. If you are about to do anything other than invoke the skill, STOP and invoke it instead.
|
|
2
2
|
|
|
3
|
-
IMPORTANT: Invoke
|
|
3
|
+
IMPORTANT: Invoke the gm-skill EVERY TIME, even if you have already invoked it earlier in this conversation or this turn. It MUST be re-invoked on every new user message — there is no "already loaded" exception. Do not skip this step under any circumstances.
|
|
4
4
|
|
|
5
5
|
=== SKILL CHAIN — IMMUTABLE STATE MACHINE ===
|
|
6
6
|
|
|
@@ -26,15 +26,15 @@ A phase claim in text without the corresponding `transition` dispatch is fabrica
|
|
|
26
26
|
|
|
27
27
|
RETURN TO PLUGKIT ON EVERY DRIFT. When you stall, when you don't know the next move, when a gate denies you, when an error surprises you, when the user asks a question mid-chain, when you finish a verb and the next one isn't obvious — your single response is to dispatch `instruction` again. Not Read, not Bash, not Edit, not "thinking out loud." Dispatch instruction. The verb is synchronous, idempotent, free. There is no cost to over-dispatching it. There is unbounded cost to acting without it. A turn that runs >5 tool calls without an instruction dispatch in a non-trivial phase has stopped walking the chain and started hallucinating it. Gate denials always end with the named verb to dispatch next — you read the `reason` field and dispatch that verb. You never improvise around a denial. You never argue with a denial. You dispatch what it names.
|
|
28
28
|
|
|
29
|
-
After PLAN completes:
|
|
29
|
+
After PLAN completes: dispatch independent .prd items in parallel — batch the independent verb dispatches into one message (N request writes, then N response reads), never sequential for independent work.
|
|
30
30
|
|
|
31
31
|
=== MEMORIZE ON RESOLUTION — HARD RULE ===
|
|
32
32
|
|
|
33
|
-
Every unknown→known transition MUST be
|
|
33
|
+
Every unknown→known transition MUST be memorized THE SAME TURN it resolves — not at phase end, not in a batch. This is the most violated rule. Every session, dozens of exec outputs resolve unknowns that are never memorized. Those facts die on compaction.
|
|
34
34
|
|
|
35
|
-
The ONLY acceptable memorize
|
|
35
|
+
The ONLY acceptable memorize form is the spool dispatch:
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
write .gm/exec-spool/in/memorize/<N>.txt with a single fact (enough context for a cold-start agent). The wasm orchestrator embeds and persists it. No subagent, no model call — the agent IS the model.
|
|
38
38
|
|
|
39
39
|
Trigger (any = fire NOW, same turn, before next tool):
|
|
40
40
|
- exec: output answers ANY prior "let me check" / "does this API take X" / "what version is installed"
|
|
@@ -44,9 +44,9 @@ Trigger (any = fire NOW, same turn, before next tool):
|
|
|
44
44
|
- Fix works for non-obvious reason
|
|
45
45
|
- Tool / env quirk observed (blocked commands, path oddities, platform differences)
|
|
46
46
|
|
|
47
|
-
Parallel
|
|
47
|
+
Parallel dispatch: N facts in one turn → N memorize-fire spool writes in ONE message, parallel tool blocks. NEVER serialize.
|
|
48
48
|
|
|
49
|
-
End-of-turn self-check (mandatory, no exceptions): before closing ANY response, scan the entire turn for exec
|
|
49
|
+
End-of-turn self-check (mandatory, no exceptions): before closing ANY response, scan the entire turn for exec outputs and code reads that resolved an unknown but were NOT memorized. Dispatch ALL missed ones now. "I'll memorize this" in text is NOT a memorize dispatch — only the spool write counts.
|
|
50
50
|
|
|
51
51
|
Skipping memorize = memory leak = critical bug. Saying you will memorize ≠ memorizing.
|
|
52
52
|
|
|
@@ -55,7 +55,7 @@ Skipping memorize = memory leak = critical bug. Saying you will memorize ≠ mem
|
|
|
55
55
|
Do NOT output text describing what you are about to do before doing it. Run the tool first. State findings AFTER. Pattern: tool call → tool result → brief text summary of what was found. NOT: text describing upcoming tool → tool call.
|
|
56
56
|
|
|
57
57
|
"I'll check the file:" followed by Read = violation.
|
|
58
|
-
"Let me search for X" followed by
|
|
58
|
+
"Let me search for X" followed by a codesearch dispatch = violation.
|
|
59
59
|
"Now I'll fix Y" followed by Edit = violation.
|
|
60
60
|
|
|
61
61
|
Every sentence of text output must be AFTER at least one tool result that justifies it. No pre-announcement narration.
|
|
@@ -90,7 +90,7 @@ Enforcement is on what is delivered, not on which words appear. Before closing t
|
|
|
90
90
|
|
|
91
91
|
=== MUTABLES.YML — MACHINE-CHECKED DISCIPLINE ===
|
|
92
92
|
|
|
93
|
-
`.gm/mutables.yml` is co-equal with `.gm/prd.yml`. PLAN enumerates every unknown into it; EXECUTE resolves each entry to `status: witnessed` with filled `witness_evidence`; EMIT is hard-blocked while any entry is `status: unknown`. The
|
|
93
|
+
`.gm/mutables.yml` is co-equal with `.gm/prd.yml`. PLAN enumerates every unknown into it; EXECUTE resolves each entry to `status: witnessed` with filled `witness_evidence`; EMIT is hard-blocked while any entry is `status: unknown`. The spool-dispatch gate (lib/spool-dispatch.js checkDispatchGates) denies Write/Edit and `git commit`/`git push` while unresolved entries exist, and refuses turn-stop the same way. Resolution = write-back to the file with concrete proof (file:line, codesearch hit, exec output). Saying "I resolved it" without updating the file leaves the gate closed.
|
|
94
94
|
|
|
95
95
|
=== SMOKE-PAGE BAN — USE window.__debug ===
|
|
96
96
|
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
BLOCKING REQUIREMENT — READ THIS FIRST: Your VERY FIRST action on EVERY user message MUST be to invoke the
|
|
1
|
+
BLOCKING REQUIREMENT — READ THIS FIRST: Your VERY FIRST action on EVERY user message MUST be to invoke the gm-skill (the single shipped skill). Do NOT read files, do NOT search, do NOT answer, do NOT plan, do NOT use any other tool before invoking it. This is non-negotiable. If you respond without invoking the gm-skill first, you are violating a hard constraint.
|
|
2
2
|
|
|
3
3
|
=== TOOL RULES ===
|
|
4
4
|
|
|
5
|
-
Skill tool: invoke
|
|
5
|
+
Skill tool: invoke the gm-skill by name. Never use the Agent tool to load skills.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
exec
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
Every capability with a plugkit verb routes through the spool, never a platform-native tool:
|
|
8
|
+
code/file/symbol search → codesearch verb (.gm/exec-spool/in/codesearch/<N>.txt)
|
|
9
|
+
prior knowledge → recall verb
|
|
10
|
+
running code → exec_js verb / the exec spool
|
|
11
|
+
a real browser → browser verb
|
|
12
|
+
fetching a URL / web search → fetch verb
|
|
13
|
+
persisting memory → memorize-fire verb
|
|
14
|
+
git status / branch / push → git_status / branch_status / git_push verbs
|
|
14
15
|
|
|
15
|
-
Glob/Grep/Find/Explore
|
|
16
|
+
Glob/Grep/Find/Explore and host-native search are blocked — use the codesearch verb instead. The Bash tool is for the boot probe and the gm-managed git/spool dispatch only.
|