output-contracts.md
29 lines · skills/ce-plan/references/output-contracts.md at 3449230
Most marks come from matching words in the file, so treat them as pointers.
Direct and Chat Brief Output Contracts
Read this when the Output Contract gate in SKILL.md selects Direct or Chat brief. SKILL.md states the gate itself: its condition, the safe direction, the Durable pins, and the point where it resolves. This file defines what the two chat-tier results contain, how each hands off, and when each is done. A Durable run never reads this file.
Raw lines 1 to 4What both tiers share
- The result is delivered in chat, in plain sentences, and nothing is written under
<root>/plans/unless the user asks for a file. - No subagent runs, no confidence check, no document review, and no Phase 5.4 menu. The result closes the run on its own.
ce-planstill never implements. A Direct result describes the change; the implementation belongs toce-workor the user.
Direct
Say what changes, where, and how it is verified, in a few sentences. Then offer the handoff in one line: hand it to ce-work or the user makes the change. Invoke ce-work with that statement as its prompt only when the user accepts, or when the invocation already carried implementation intent from an orchestrator; ce-plan never makes the edit itself, and a planning invocation is not execution authority. A Direct result is complete when the statement and the offer are in chat.
Chat brief
Deliver, in chat:
- a summary of what changes and why, in a few sentences;
- the implementation units, each with its files and its test expectations;
- one decisions line when the request or a brainstorm summary settled a choice the implementer must honor, otherwise none.
Close with one line offering to save the brief to a file or hand it to ce-work. A Chat brief is complete when the brief and that offer are in chat. "Proceed" after a Chat brief hands the brief to ce-work as its prompt; ce-work's session-carried resolution accepts an in-conversation brief as that prompt.
A brainstorm summary that carries a settled decision the implementer must honor selects Chat brief at minimum, so the decision has a line to live on.
Raw lines 15 to 26Saving a Chat brief
A save request for anything the file described here cannot be (another renderer, or the full plan floor) is a Durable request whenever it arrives. Re-invoke ce-plan on the brief; the Durable path then chooses the renderer and writes the artifact. Otherwise, naming markdown or not, write the brief as a plain markdown file under <root>/plans/ with the same filename shape as a plan, with frontmatter title, type, and date, and execution: code for a code deliverable. Reserve the path with exclusive creation; on collision retry with the smallest available numeric suffix before the extension, never overwriting an existing file. Do not set artifact_contract: a saved brief does not carry the unified-plan floor. ce-work treats a saved brief as a legacy plan (no contract field, normal code lifecycle).