gm-qwen 2.0.793 → 2.0.794
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 +6 -0
- package/skills/gm-execute/SKILL.md +6 -0
- package/skills/planning/SKILL.md +6 -0
package/gm.json
CHANGED
package/package.json
CHANGED
package/skills/gm/SKILL.md
CHANGED
|
@@ -71,6 +71,12 @@ Surface → diagnose → fix at root cause → re-witness → continue. If the f
|
|
|
71
71
|
|
|
72
72
|
A skill chain that ships while ignoring a known-bad signal is forced closure (see MAXIMAL COVER).
|
|
73
73
|
|
|
74
|
+
**Auto-PRD on incidental error — HARD RULE.** Any reasonably-fixable error that surfaces mid-task — pre-existing build break, lockfile drift, broken dep feature, lint failure on neighboring code, missing cargo/npm artifact, type error in adjacent module, stale generated file, dead import, anything the agent can resolve from this session — is added to `.gm/prd.yml` as a new item the same turn it surfaces, and executed before COMPLETE. The user does not have to ask. The user did not cause it; surfacing it during their task is the agent's discovery, and the agent owns the fix. Genuinely out-of-reach errors (require the user's credentials, depend on external services down, demand product decisions) are name-and-stop with the residual recorded in PRD with `blockedBy: external` so it is visible — never silently dropped, never narrated past. The forcing function is delivery: closing a turn with a known-bad signal still emitting is forced closure regardless of whether the signal was "from a different task."
|
|
75
|
+
|
|
76
|
+
**Auto-PRD on re-architecting opportunities — HARD RULE.** The same rule applies to *obvious* refactor wins surfaced while doing the user's task: a hand-rolled implementation that an existing well-known library does cleaner; a multi-file ad-hoc system that a single import would replace; duplicated logic crying out for one helper; a naming/layout cleanup that would shrink the surface noticeably; a boilerplate pattern repeated in N places when one upstream tool covers it. These are not separate sessions — they're items the agent regresses to `planning` to add, and finishes before COMPLETE. The bar is "obvious + reachable from this session", not "any conceivable refactor"; speculative or aesthetic changes stay out. Library-replacement is a specific case: before keeping a local reimplementation of something a published package already provides, add a PRD item to swap to the import. Local code competes with upstream maintenance and loses.
|
|
77
|
+
|
|
78
|
+
**Cross-session PRD continuity — HARD RULE.** `.gm/prd.yml` is durable across sessions. Items left over from a previous session are *this* session's work the moment they're discovered. The agent finishes every item in the file before declaring complete — including ones the current user message did not mention. The PRD is the contract; sessions are scheduling. "From another session" is never a reason to skip an item.
|
|
79
|
+
|
|
74
80
|
## BROWSER WITNESS — HARD RULE
|
|
75
81
|
|
|
76
82
|
Editing code that runs in a browser requires a live `exec:browser` witness in the same turn as the edit. The witness does not defer to a later phase; later phases re-witness on top, they do not replace this one.
|
|
@@ -122,6 +122,12 @@ N facts → N parallel Agent calls in ONE message. End-of-turn self-check mandat
|
|
|
122
122
|
|
|
123
123
|
Issue surfaced mid-execution (failing test, exec stderr, broken import, runtime exception, lint/type error, deprecation warning, unexpected output) is fixed THIS turn, at root cause, in-band. Never `// TODO`, never `try/catch`-to-swallow, never `2>/dev/null`, never `.skip`, never "out of scope" inside the same file. Re-witness after fix. New unknown surfaced by the fix → regress to `planning`. Genuine out-of-scope → write a `.gm/prd.yml` item before continuing.
|
|
124
124
|
|
|
125
|
+
**Incidental errors auto-plan**: a reasonably-fixable issue that is *not* what the user asked about — pre-existing build break, lockfile drift, broken dep feature, dead import in adjacent module, missing artifact, neighboring lint failure — still belongs to the agent. Add it to `.gm/prd.yml` the same turn it surfaces and execute it before COMPLETE. Do not ask the user; do not narrate past it; do not file it as "next session." Only errors that genuinely need user credentials, decisions, or external services that are down are name-and-stop, recorded with `blockedBy: external`.
|
|
126
|
+
|
|
127
|
+
**Obvious re-architecting auto-plans**: same discipline for clear refactor wins surfaced mid-task — code competing with an existing library/package that does the same thing, multi-file ad-hoc logic one import would replace, duplicated logic asking for one helper. Regress to `planning`, add the item, execute. Bar is *obvious + reachable from this session*; speculative refactors stay out.
|
|
128
|
+
|
|
129
|
+
**Cross-session PRD**: items in `.gm/prd.yml` from prior sessions are this session's work the moment they're discovered. Finish every item in the file before COMPLETE — including ones the current user message did not mention. "From another session" is not an exemption.
|
|
130
|
+
|
|
125
131
|
## BROWSER WITNESS — HARD RULE
|
|
126
132
|
|
|
127
133
|
Editing browser-facing code (under `client/`, `docs/`, `*.html`, shaders, page-bundle imports, served JS/CSS, gh-pages assets, anything imported by a browser entry, anything visible in DOM/canvas/WebGL) → live `exec:browser` witness in THIS phase, same turn as the edit. Not deferred to EMIT, not deferred to VERIFY — those layers re-witness on top, they don't replace this one.
|
package/skills/planning/SKILL.md
CHANGED
|
@@ -67,6 +67,12 @@ Every issue surfaced during planning, execution, or verification is fixed in-ban
|
|
|
67
67
|
|
|
68
68
|
Surface → diagnose → fix → re-witness → continue. New unknown surfaced by the fix → regress here. Genuinely out-of-scope-irreversible → the residual goes into `.gm/prd.yml` *before* moving on; narration is not a substitute for an item.
|
|
69
69
|
|
|
70
|
+
**Auto-plan incidental errors**: any fixable error encountered while working on the user's task — even one unrelated to the original ask (pre-existing build break, neighboring lint failure, lockfile drift, broken dep, stale generated file) — is added to `.gm/prd.yml` as a new item the same turn it surfaces and executed before COMPLETE. The user does not have to notice it or ask. Closing a turn with a known-bad signal still emitting is forced closure. Only errors needing external credentials, product decisions, or down services are name-and-stop with `blockedBy: external`.
|
|
71
|
+
|
|
72
|
+
**Auto-plan obvious re-architecting**: same rule for clear refactor wins surfaced mid-task — hand-rolled code competing with a known library that does the same thing cleaner, multi-file ad-hoc system one import would replace, duplicated logic crying out for one helper. Re-enter PLAN, add the item, execute. Bar is *obvious + reachable from this session*; speculative or aesthetic changes stay out.
|
|
73
|
+
|
|
74
|
+
**Cross-session PRD continuity**: `.gm/prd.yml` is durable. Items left over from previous sessions are this session's work as soon as they're seen. Finish every item before COMPLETE — including ones the current user message did not mention. "From another session" is never a reason to skip.
|
|
75
|
+
|
|
70
76
|
## BROWSER WITNESS — HARD RULE
|
|
71
77
|
|
|
72
78
|
A `.prd` item that touches browser-facing code is not plan-complete unless its acceptance criteria include a live `exec:browser` witness with a `page.evaluate` assertion against the specific invariant the change establishes. "Manual verification", "test.js passes", and "browser test optional" are all unwitnessed and therefore unacceptable.
|