Repository navigation
v1.91.158.0 feat(config): plan_mode_preamble=off drops the plan-mode preamble from installed skills (port of #3213) - #3308
Conversation
…ble (#3168) Generated skills ship a ~1.8 KB "## Plan Mode Safe Operations" + "## Skill Invocation During Plan Mode" block on every skill, for hosts and users who never enter plan mode. This adds a --plan-mode=off flag to gen-skill-docs that drops that block at gen time. Default builds (planMode undefined or true) keep the block byte-identically. The "PLAN MODE EXCEPTION — ALWAYS RUN" markers inside skill bodies still apply when the flag is off. (cherry picked from commit 51edee9)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
… and every installed render gstack-config plan_mode_preamble (on|off, default on) makes ./setup pass --plan-mode=off to every gen:skill-docs render, gbrain-refresh and the gstack-relink router render. The default Claude install, which otherwise serves the committed SKILL.md files, gets a plain render with the key off; the activation record notes plan_mode=off so switching back on removes the render, including on the gbrain=unknown keep branch. With the key on or unset every path and record is byte-for-byte unchanged. Fixes #3168. Finishes #3213 by @xingzihai. Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
…renders; alias follows the router Review findings on the plan_mode_preamble wiring: - a build renders env hosts without --plan-mode=off, so with the key off setup no longer skips their re-render after a build; - with the key off the gbrain-absent branch leaves the render to the plain re-render, so a failed render keeps the previous one; - gstack-relink refreshes the _gstack-command alias after re-rendering the router (also fixes the same staleness for disabled_skills). Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
|
😎 This pull request was merged. |
…ode-optin Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> # Conflicts: # CHANGELOG.md
E2E Evals: ❌ FAIL121 executed, 0 reused rule/judge records | 0 manual accepted (unscored; no score-cache credit) | $33.41 rule/judge cost | reconcile exit: 1 Profile: pr / mode Derived dependents (scripts/pr-dependencies.ts):
Rule and judge shards
Fail-closed reconciliationSliced lane: planner → duration-packed executors → fail-closed report. Behavior cases run a pre-registered 3-trial panel (PASS at 2/3 with no contract violation); a PASS 2/3 is shown with its failed trial, never as a clean pass. Reused results retain their original provenance and expiry. Failures and split verdicts |
|
flaky: tpa-absent-darwin, failed in run 39315041557 attempt 1 (eval-slices (14)), passed on rerun 39315041557 attempt 2, logged for the daily flaky-fix pass flaky: /plan-design-review with UI scope, failed in run 39315041557 attempt 1 (eval-slices (4), outcome=ceiling_reached), passed on rerun 39315041557 attempt 2, logged for the daily flaky-fix pass |
…ode-optin Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> # Conflicts: # CHANGELOG.md
…preamble from installed skills (port of #3213) Merge origin/main and stamp 1.91.158.0. Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
|
flaky: ship-docsync-current, failed in run 39338691964 attempt 1 (eval-slices (3): 5x "command outside declared docs observation interface"), passed on rerun 39338691964 attempt 2, logged for the daily flaky-fix pass |
|
Merging under Garry's flaky-test rule (2026-10-19). ship-docsync-current failed in attempt 1 and passed on the rule-16 rerun of its slice only. It's unrelated to this diff and logged in the flaky ledger. slices-report stays bound to attempt 1 by design until F1 lands. — GStack Minder |
Ports #3213 by @xingzihai (fixes #3168) and finishes it as an opt-in
gstack-configkey, as asked on the original PR. Installed copies never run the generator by hand, so a--plan-mode=offflag alone helps nobody. The contributor's commit is a cherry-pick with them as author. Default output and every install path are byte-identical while the key isonor unset.The flag (from #3213)
gen-skill-docs --plan-mode=offdrops the "Plan Mode Safe Operations" and "Skill Invocation During Plan Mode" preamble block (about 1.8 KB per skill). ThePLAN MODE EXCEPTION — ALWAYS RUNmarkers inside skill bodies still apply. On main, hosts whose capabilities sayplanMode:falsealready render without the block (#3236), so this matters for Claude, Copilot and OpenCode.The key
gstack-config set plan_mode_preamble off(values on|off, default on). An unknown value warns and storeson. When set outside setup, it prints how to apply it now:./setup --refresh-registered.--plan-mode=offto everygen:skill-docsinvocation (16 sites). When a build already rendered the env-var hosts without the flag, setup renders them again.gstack_claude_render_actionchooses a plain render, the.overlayrecord notesplan_mode=off, and switching back toonremoves that render, including on the gbrain-unknown "keep" branch. setup no longer deletes the last good render before re-rendering when the key is off. A gbrain render carries the flag too._gstack-commandalias after a router rewrite, which fixes the same stale alias fordisabled_skills. gstack-config gbrain-refresh passes the key to its render. gstack-upgrade reruns setup, so it inherits the choice.Scope note
The Captain cleared the setup call sites and the one gstack-config key. On top of that, review found three things that needed small setup edits: the five
NEEDS_BUILDguards (the build path rendered env hosts without the flag), the inline render-removal guard (it deleted the last good render before the re-render), andbin/gstack-relinkandbin/gstack-render-claude.sh, which no open PR owns. setup and bin/gstack-config are also edited by the held PRs #3298 and #3192, which rebase when they're unheld.Gate integrity
No existing test was edited, and no threshold, trial count, case kind or judge changed. New tests:
plan-mode-off-generation(3),plan-mode-preamble-config(6),plan-mode-preamble-render(12) andplan-mode-preamble-setup(1).plan-mode-off-build(9) is kept unchanged from #3213. Negative controls, each checked by reverting the code:gen:skill-docsinvocation in setup and the render helper carries it;Validation
gen:skill-docsleaves git clean.Known gap, not caused by this change: setup copies the deprecated
connect-chromealias from the committed source, so it ignores this key just as it ignores overlay and gbrain renders.CHANGELOG entry is under
[Unreleased]. Unstamped.Closes #3168