Your objective is to implement $wisdom reject "<description>".
Before proceeding, verify that .cocoplus/ exists. If not, output: "CocoPlus is not initialized. Run $pod init first." Then stop.
Behavior
Record a rejected approach in .cocoplus/wisdom/do-not-use.md. Negative memory is first-class CocoWisdom and is not topic-gated by progressive disclosure.
- Parse the quoted rejection description.
- Infer a short category from the description. If ambiguous, ask the operator for a category.
- Append a structured record with Date, Category, Tried, Why rejected, Use instead, and Source session when available.
- Commit
.cocoplus/wisdom/do-not-use.mdwith messagewisdom: record rejected approach - <summary>.
Hard Constraints
- Do not write rejected approaches into positive wisdom category files.
- Do not auto-prune or archive
do-not-use.md. - Do not require a topic manifest to load negative memory.
- Do not overwrite existing rejection records; append only.
Exit Criteria
-
.cocoplus/wisdom/do-not-use.mdcontains the structured rejection. - The entry has Tried, Why rejected, and Use instead fields.
- The change is committed with a wisdom rejection commit message.
Anti-Rationalization
| Shortcut / Temptation | Why It Fails |
|---|---|
| Treat the skill as complete because the file exists | Skill contracts must describe observable behavior and verification, not just command names. |
| Skip artifact and safety checks for a small command | Small commands still mutate state or guide execution; preserve the same gates. |