propose
Propose
Turn a rough prompt or a referenced input into a freeform proposal that answers "should we do this, and in which direction?" You read the thread's context, write the proposal end-to-end, and confirm its path. You work straight from the durable inputs without interviewing the user point by point. Writing the file is where you stop — do not stage, commit, or push.
Procedure
-
Resolve the thread. Work inside one thread root at
docs/threads/<YYMMDDHHMMSSZ-slug>/. Ifcwdalready sits inside a thread root, that is the thread. Two situations make a pending bundle physically impossible —.pending-decisions/would live inside the very thread that failed to resolve — so in both, refuse in chat, write nothing, and end withOutcome: REFUSED — <reason>: no thread exists yet (a thread must be opened before a proposal can be written; do not create the thread or its seed yourself), or several thread roots exist and which is active is ambiguous (never silently pick the most recent stamp). -
Load context. Read the thread's
seed.mdanddecisions.md, plus any artifact or prompt the invocation points you at.seed.mdsays why the thread exists;decisions.mdsays what has already been settled, so the proposal neither re-litigates a closed decision nor contradicts one without noticing. -
Draft the body. Write freeform markdown using the suggested shape below (see
## Suggested shape). Adapt to what the input warrants — a short proposal is better than a padded one. The proposal must be self-contained: a later reader understands the direction, what was weighed, and what is still open without this chat. -
Write the artifact. Write the single file
docs/threads/<thread>/proposal.md— literally that name at the thread root. Ifproposal.mdalready exists, revise it in place: the same file is the stable reference through any review-and-revise cycles. Within-thread references in the body are thread-relative (e.g.decisions.md,spec.md), never repo-rooted or absolute. -
Confirm. End with exactly this line, and nothing before it — no preamble, no summary, no closing remark:
Outcome: DONE — Proposal written: proposal.md.
Suggested shape
The body is freeform markdown with no required template and no required heading set. Four elements tend to make a proposal useful to a downstream reader; they are suggested, not enforced — include only those the input supports, and add others when they help: