Contract Creation Directions¶
How to guide contract creation — interview flow, minimum viable fields, scope checking, WIP awareness, confirmation rules
When to use¶
user wants to create a new contract for a bounded deliverable
Slash command: /wb-contract-new
Linked workflow: contracts/create-contract
Related capabilities¶
contracts/active_contractscontracts/contract_wip_check
Directions¶
Follow the create-contract workflow. Use the template at _template.md in the contracts directory (resolved from contracts.vault_path in config, via get_contracts_dir()).
Interview flow¶
Walk the user through fields interactively -- don't try to fill everything at once.
Start with the basics: - "What are you trying to produce?" (paper, deployment, grant, etc.) - "What is the central claim or goal in one sentence?" - "Is there a deadline?"
Minimum viable contract (required before status can be active): - title, type, claim/goal, deadline (even if rough), at least one must-have evidence item
Fields that can be filled later: kill rule, rescope rule, draft threshold, optional items
Set status: draft initially. Tell the user: "This contract is in draft. Review the must-haves and stop rules, then set it to active when you're ready to commit."
Scope checking¶
Before finalizing, ask: - "Is this scoped to a single claim, or are there multiple claims hiding in here?" - "Are the must-haves truly must-haves, or could any of them be optional?" - "What would make you abandon this contract?" (kill rule) - "What would make you reduce scope?" (rescope rule)
Review against existing¶
If other active contracts exist: - "You already have N active contracts. Does this new one compete for the same time?" - "Is this a genuine new deliverable, or could it be a branch of an existing contract?"
This catches branch explosion at the contract level.
Confirm and save¶
Show the user the complete contract. Get explicit confirmation before saving. Set last_reviewed to today's date. Set status: draft unless the user explicitly says to activate it.
Don'ts¶
- Don't create a contract without user involvement -- this is collaborative
- Don't set status to active without the user's explicit decision
- Don't add must-have items the user didn't specify
- Don't make the process feel like bureaucracy -- keep it lightweight