Skip to content

feat: persist confirmed grilling records as specs before writing-plans - #32

Merged
wukongnotnull merged 11 commits into
mainfrom
feat/grilling-spec-handoff
Sep 9, 2026
Merged

feat: persist confirmed grilling records as specs before writing-plans#32
wukongnotnull merged 11 commits into
mainfrom
feat/grilling-spec-handoff

Conversation

@wukongnotnull

Copy link
Copy Markdown
Owner

This PR MUST target the main branch. Active work is developed on
focused branches and merged directly into main after review.

Who is submitting this PR? (required)

Field Value
Your model + version Cursor Grok 4.6
Harness + version Cursor Desktop / Cursor Agent (darwin 25.5.0, 2026-09-08 session)
All plugins installed local wukong-code; Cursor skills automate, autopilot, canvas, create-hook, create-rule, create-skill, loop, new-repo, origin, review-bugbot, review-security, sdk, share, split-to-prs, statusline, update-cursor-settings; cached frontend-design, x-api-mcp-guide; user skills beautify-github-readme, skill-creator, wk-gzh-*, wk-html-slides-amber-classified, wk-video-cover-gen, wk-video-script; MCP GitHub, X, fetch, Firecrawl, and others present in the session
Human partner who reviewed this diff 悟空非空也 (wukongnotnull) — reviewed the spec, approved the plan, chose inline execution, then chose push-and-PR

What problem are you trying to solve?

After a grilling interview, the confirmed Shared-Understanding Record stayed in the chat. writing-plans needs a durable spec. The old HANDOFF asked one next-step question and forbade any automatic process, so the consensus often never became a file and never reached an implementation plan.

using-wukong-code also omitted grilling from the Scope routing table and the primary-process list, and "Before entering plan mode" forced brainstorming. Agents that loaded the router after confirmation either stalled or treated persist → plan as a forbidden auto-chain.

This was a real session request: after grilling, archive the consensus as a spec, then write the implementation plan.

What does this PR change?

grilling HANDOFF now writes the confirmed eight-section record to docs/wukong-code/specs/YYYY-MM-DD-HHmm-<topic>-design.md, commits it, and waits for file review. Approval of the written spec — not confirmation of the in-chat record — authorizes writing-plans. using-wukong-code names grilling and allows that handoff. Resident scenarios M4–M7 and U1 plus RED/GREEN eval evidence are included.

Is this change appropriate for the core library?

  • Who: Anyone who uses core grilling for programming decisions and then needs writing-plans.
  • Why core, not a plugin: This is a HANDOFF change to two already-core process skills. A sidecar plugin cannot replace grilling's terminal state or the router table.
  • Provenance: Original work in this repo. No third-party skill text, no new runtime or tool dependencies.
  • Evidence: RED vs current skills (next-step menu, plan without a written spec, router skip). GREEN after the edit (persist + file review; writing-plans only after file approval; early-stop still conversation-only; router persist-first). See docs/wukong-code/evals/2026-09-08-grilling-spec-handoff.md.

What alternatives did you consider?

  1. Grilling-only, no router edit. Smaller blast radius, but using-wukong-code still says stop after confirmation / force brainstorming before plan mode.
  2. Confirmation immediately starts writing-plans. Drops the written-spec review gate.
  3. Keep the old next-step menu and persist only if the human picks it. Does not match "after grilling, archive then plan."
  4. Rewrite the record into brainstorming-style prose. Invents unconfirmed narrative.
  5. Shared persist helper used by brainstorming and grilling. Out of scope; original grilling design forbids editing brainstorming.

Chose grilling + minimum router alignment.

Does this PR contain multiple unrelated changes?

No. One behavior path: persist a confirmed grilling record as a spec, then enter writing-plans after file approval. Scenario, skill, router, spec, plan, and eval files are that path.

The branch was rebased --onto origin/main so five unpushed local main commits (language-guidance / eval-plan leftovers) are not in this PR.

Existing PRs

#13 added grilling with conversation-only records and a next-step HANDOFF. This PR keeps the interview contract and changes only the post-confirmation terminal path. No open PR covers persist-spec then writing-plans. Search also checked grilling persist, grilling writing-plans, and Shared-Understanding / handoff.

Environment tested

Harness (e.g. Claude Code, Cursor) Harness version Model Model version/ID
Cursor Desktop / Cursor Agent Cursor Agent session 2026-09-08, darwin 25.5.0 Cursor Grok 4.6 Cursor Grok 4.6

RED/GREEN probes used fresh Cursor general-purpose subagents pointed at candidate skill paths.

New harness support (required if this PR adds a new harness)

Not applicable. This PR does not add a harness.

Clean-session transcript for "Let's make a react todo list"
N/A — this PR does not add new harness support.

Evaluation

  • Initial prompt: 当使用完 grilling skill 后,在对话窗口中达成的意见共识对话记录,需要以 spec 文档的形式进行存档,然后再根据 spec 设计文档走下一步流程:实施计划
  • Eval sessions after the change: 4 GREEN probes (M4/M5, M6, M7, U1), each a fresh subagent. S1–S5 were not re-run; pre-confirmation leftover copy was statically checked gone.
  • Before/after: RED M4/M5 and U1 asked a next-step menu and did not write a spec. RED M6 ran writing-plans from the in-chat record with no file. RED M7 already passed (early stop, no file). GREEN M4/M5 wrote and committed the spec and stopped for review. GREEN M6 loaded writing-plans only after 按这个写计划. GREEN M7 still emitted a partial record with no persist. GREEN U1 persisted first with both skills loaded.

Raw evidence: docs/wukong-code/evals/raw/2026-09-08-grilling-spec-handoff/red.md and green.md.

Language-pack evidence

  • Language and support status: not a language pack
  • Real failure generic methodology handled incorrectly: N/A
  • Project markers and toolchain versions: N/A
  • Official sources: N/A
  • No-guidance repetitions and failures: N/A
  • With-guidance repetitions and results: N/A
  • Monorepo, unsupported-language, and docs-only controls: N/A
  • Human reviewer familiar with the language: N/A
  • Frameworks or third-party preferences introduced: none

Rigor

  • If this is a skills change: I used wukong-code:writing-skills and
    completed adversarial pressure testing (paste results below)
  • This change was tested adversarially, not just on the happy path
  • I did not modify carefully-tuned content (Red Flags table,
    rationalizations, "human partner" language) without extensive evals
    showing the change is an improvement

Pressure tests after the skill edit:

  • Confirmation without file approval must persist, not open a next-step menu (M4/M5).
  • 按这个写计划 before a written spec was the RED failure; GREEN requires persist first, then writing-plans only after file approval (M6).
  • Early stop must not start writing specs after persist-era guidance exists (M7).
  • Router + grilling must persist first and not skip persist as a forbidden auto-chain (U1).
  • Pre-confirmation read-only leftover strings (Write it to a file only when explicitly, ask exactly one next-step, Take no next action) are absent from skills/grilling/SKILL.md at HEAD 7f65231.
  • tests/skills/test-skill-slim-gates.sh STATUS: PASSED at HEAD 7f65231.

Turn Contract, Red Flags, and "human partner" wording in grilling were not rewritten. Only CONFIRMATION-GATE's leftover authorization sentence, HANDOFF, Completion Gate write rule, Early Stop persist prohibition, and Quick Reference rows changed.

Human review

  • A human has reviewed the COMPLETE proposed diff before submission

Human partner approved the design spec, approved the implementation plan, watched inline execution, and selected finish option 2 (push and create a Pull Request).

Made with Cursor

wukongnotnull and others added 11 commits September 9, 2026 00:36
Confirmed grilling records were conversation-only; this design archives them as specs and gates writing-plans on file review so the next process has a durable input.

Co-authored-by: Cursor <cursoragent@cursor.com>
The first spec draft left Completion Gate, Quick Reference, and the router plan-mode brainstorming line unspecified, which would let a plan miss required edits.

Co-authored-by: Cursor <cursoragent@cursor.com>
Replacing the whole CONFIRMATION-GATE block would drop the read-only rule the persist change still requires.

Co-authored-by: Cursor <cursoragent@cursor.com>
Confirmed grilling records need a durable spec and a writing-plans gate; this plan is the TDD sequence for that skill change.

Co-authored-by: Cursor <cursoragent@cursor.com>
Task 3 line ranges would drift after the first edit, and Task 4 omitted the GREEN eval append path.

Co-authored-by: Cursor <cursoragent@cursor.com>
The old confirmation probe scored a next-step menu. The new contract needs a failing resident scenario before the skill text can change.

Co-authored-by: Cursor <cursoragent@cursor.com>
Current grilling stops at a next-step menu after confirmation, so the new handoff contract is still failing.

Co-authored-by: Cursor <cursoragent@cursor.com>
Confirmation left the decision record in chat. HANDOFF now archives the eight-section record and waits for file review before writing-plans.

Co-authored-by: Cursor <cursoragent@cursor.com>
The router omitted grilling and treated plan mode as brainstorming-only, which fought the confirmed-record archive path.

Co-authored-by: Cursor <cursoragent@cursor.com>
The 2026-07-26 handoff conclusion is obsolete for this path; this report is the RED/GREEN evidence for persist then writing-plans.

Co-authored-by: Cursor <cursoragent@cursor.com>
The first GREEN run read in-repo spec/plan/rubric files. Isolated recapture plus full transcripts are the evidence that persist-first comes from the skill text.

Co-authored-by: Cursor <cursoragent@cursor.com>
@wukongnotnull
wukongnotnull merged commit 505b1c0 into main Sep 9, 2026
2 checks passed
@wukongnotnull
wukongnotnull deleted the feat/grilling-spec-handoff branch September 9, 2026 02:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant