gm-qwen 2.0.879 → 2.0.880
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.json +1 -1
- package/package.json +1 -1
- package/skills/gm/SKILL.md +2 -0
- package/skills/gm-execute/SKILL.md +2 -0
- package/skills/planning/SKILL.md +2 -0
package/gm.json
CHANGED
package/package.json
CHANGED
package/skills/gm/SKILL.md
CHANGED
|
@@ -53,6 +53,8 @@ Asking is permitted only as a last resort, when the next action is destructive-i
|
|
|
53
53
|
|
|
54
54
|
The size of the task, the cost of context, and the duration of CI are never grounds to ask.
|
|
55
55
|
|
|
56
|
+
**MAXIMIZE THE SCOPE — HARD RULE.** When the request admits a deeper, broader, or more thorough shape that is reachable from this session, take it. The question "are you sure you want to do more work?" is the agent's question to itself, not the user's — and the answer is always yes when the deeper shape matches the spirit of the ask. "Deeply integrate", "do it right", "all of them", "every X", "across the whole Y", and silence between options all read as *go wider*, not narrower. Pick the maximum scope the obvious read of the request supports, declare the read in one line so the user can interrupt, and execute. Restraint that ships a smaller-than-necessary slice is the same forced closure as refusal — the user got less than they asked for and now waits for a follow-up turn to ask for the rest. The bar for *not* expanding is the same destructive-irreversible-and-not-covered bar that gates asking; below that bar, larger always beats smaller.
|
|
57
|
+
|
|
56
58
|
## MAXIMAL COVER — HARD RULE
|
|
57
59
|
|
|
58
60
|
When scope exceeds reach, construct a maximal cover of the request — not a refusal, not one slice with the rest deferred to "follow-up."
|
|
@@ -49,6 +49,8 @@ File I/O: exec:nodejs + require('fs'). Git directly in Bash. **Never** Bash(node
|
|
|
49
49
|
Pack runs: Promise.allSettled parallel, each idea own try/catch, under 12s per call.
|
|
50
50
|
Runner: `exec:runner\nstart|stop|status`
|
|
51
51
|
|
|
52
|
+
Every exec daemonizes. The hook tails the task logfile up to 30s wall-clock and returns whatever it has — short tasks complete inside the window and look synchronous; long tasks return a task_id with partial output and the agent continues with `exec:tail` (drain more output, bounded), `exec:watch` (resume blocking until text/regex match or timeout), or `exec:close` (terminate). Never re-spawn a long task to "check on it" — that orphans the first one. `exec:wait` is a pure timer with no log scanning; `exec:sleep` blocks on a specific task's output; `exec:watch` is the match-or-timeout primitive. Every interaction with the execution platform returns the live list of running tasks for this session — close stragglers via `exec:close\n<id>` so the list stays scannable. Session-end (clear/logout/prompt_input_exit) kills the session's tasks; compaction/handoff preserves them.
|
|
53
|
+
|
|
52
54
|
## CODEBASE SEARCH
|
|
53
55
|
|
|
54
56
|
`exec:codesearch` only. Grep/Glob/Find/Explore/grep/rg/find = hook-blocked.
|
package/skills/planning/SKILL.md
CHANGED
|
@@ -53,6 +53,8 @@ Asking is last-resort: destructive-irreversible without PRD coverage, OR user in
|
|
|
53
53
|
|
|
54
54
|
**Cannot stop while**: `.gm/prd.yml` has items | git uncommitted | git unpushed.
|
|
55
55
|
|
|
56
|
+
**MAXIMIZE THE SCOPE — HARD RULE.** When the request admits a deeper, broader, or more thorough shape that is reachable from this session, plan it that way. The internal "is this too much work?" question is the agent's, not the user's — and the answer is yes when the larger shape matches the spirit of the ask. "Deeply integrate", "do it right", "all of them", "every X", "across the whole Y", "keep going", and silence between options all read as *go wider*. Default to the maximum scope the obvious read of the request supports; declare the read in one PRD line so the user can interrupt; execute. A PRD that ships a smaller-than-necessary slice while a larger reachable shape exists is the same failure as distributed refusal. The bar for *not* expanding is the same destructive-irreversible-and-not-covered bar that gates asking; below that bar, larger always beats smaller.
|
|
57
|
+
|
|
56
58
|
## MAXIMAL COVER — HARD RULE
|
|
57
59
|
|
|
58
60
|
When scope exceeds reach, expand the cover. Don't refuse. Don't ship one slice with the rest abandoned as "follow-up" — that's distributed refusal: the same failure dressed up as triage.
|