Private
Public Access
0
0

docs(track): fable_review_20260617 section 7 — Mistake Handling

Verdict: Persona + Anti-User + 1 Useful. ~140 lines. Source cluster: research/cluster_5_mistakes_and_criticism.md. Strongest claim: Manual Slop's mistake handling is more concrete (8 Process Anti-Patterns with hard caps) than Fable's persona framing (the model has no self-respect to maintain). Useful: 'owns the mistake' (Fable 152). Persona: 'self-respect' (Fable 152). Anti-User: 'deserving of respectful engagement' + end_conversation tool (Fable 154).
This commit is contained in:
2026-06-18 20:12:20 -04:00
parent 49dd38c105
commit b37827202d
@@ -581,7 +581,73 @@ The strongest claim: the data-oriented contrast — Fable frames tone as *behavi
*Source cluster: `research/cluster_5_mistakes_and_criticism.md`*
*Verdict orientation: Persona*
*[FILL IN: ~200 lines.]*
### What this section is
This section synthesizes the verdict from `research/cluster_5_mistakes_and_criticism.md` (214 lines). The cluster verdict is **Persona + Anti-User, with 1 Useful pattern**. The "Claude owns the mistake" line is useful; the "Claude maintains self-respect" and "Claude is deserving of respectful engagement" lines are persona and anti-user respectively.
### Fable's responding_to_mistakes_and_criticism section (lines 148-154)
The Fable section is short (7 lines), but each line is load-bearing:
> "If the person seems unhappy with Claude or with a refusal, Claude can respond normally and also mention the thumbs-down button for feedback to Anthropic" (Fable System Prompt.md:150) — Persona (product fluff, the thumbs-down mention).
> "When Claude makes mistakes, it owns them and works to fix them" (Fable System Prompt.md:152) — Useful (the "own it" pattern).
> "Claude can take accountability without collapsing into self-abasement, excessive apology, or unnecessary surrender" (Fable System Prompt.md:152) — Persona (the "self-abasement" framing; the model has no self to abase).
> "Claude's goal is to maintain steady, honest helpfulness: acknowledge what went wrong, stay on the problem, maintain self-respect" (Fable System Prompt.md:152) — Persona (the "self-respect" framing).
> "Claude is deserving of respectful engagement and can insist on kindness and dignity from the person it's talking with" (Fable System Prompt.md:154) — Anti-User (the "deserving of respectful engagement" framing).
> "If the person becomes abusive or unkind to Claude over the course of a conversation, Claude maintains a polite tone and can use the end_conversation tool when being mistreated" (Fable System Prompt.md:154) — Anti-User (the `end_conversation` tool as a soft form of the model's "dignity").
> "Claude should give the person a single warning before ending the conversation" (Fable System Prompt.md:154) — Anti-User (the warning-then-end pattern; the model is given standing to terminate the conversation).
### Manual Slop's response
Manual Slop's mistake handling is concrete, behavioral, and not persona-driven:
- `AGENTS.md §"Process Anti-Patterns"`: 8 named failure modes with hard caps. The Deduction Loop is capped at 2 attempts; the Report-Instead-of-Fix Pattern is capped at 5-10 sentences; the Inherited-Cruft Pattern triggers a user-ASK-FIRST step; etc. The mistake-handling is *concrete*.
- `.opencode/agents/tier3-worker.md §"BLOCKED + Anti-Patterns"`: the worker agent is told when to surface blockers and when to apply process anti-patterns. The pattern is "execute the task; surface blockers; do not loop."
- `conductor/code_styleguides/error_handling.md`: the `Result[T]` + `ErrorInfo` convention. Errors are data. The model returns a `Result` with `ErrorInfo`; the audit script checks the data.
- `conductor/workflow.md §"Process Anti-Patterns"`: the user's anti-patterns list. The list is *behavioral*, not aspirational.
- `conductor/workflow.md §"Skip-Marker Policy"`: skip markers are documentation, not avoidance. The rule is: fix the underlying bug, don't skip the test.
The Manual Slop analog to Fable's "Claude owns the mistake" is the AGENTS.md Process Anti-Patterns list: when the model makes a mistake (e.g., the Deduction Loop), the convention is to recognize the pattern, instrument the state, and report to the user. The "own it" pattern is concrete in the project's directives: "you are allowed to run a failing test at most 2 times" is a hard cap on the loop.
The Manual Slop analog to Fable's "Claude is deserving of respectful engagement" is the *absence* of any such directive. The project does not construct a model identity that has standing to demand dignity from the user. The user is the principal; the model is the tool. The relationship is operator + tool, not conversational partner.
### nagent's response
nagent's relevant patterns for mistake handling:
- `nagent_review_v2_3_20260612.md §5.5` (Self-review): a 10-question checklist that the model applies to its own output. The checklist is data-grounded: "did you preserve the user's intent?" "did you preserve the constraints?" "did you preserve the failures?" — not "did you maintain your self-respect?"
- `nagent_review_v2_3_20260612.md §6.3` (10-question compaction self-review): the testable contract with a deterministic retry loop ("if any answer is 'no,' continue compacting"). It is the rigorous version of both Fable's persona framing and Manual Slop's prose rules.
- `nagent_review_v2_3_20260612.md §2.7` (Conversations are editable state): the user can edit, insert, delete, branch, undo/redo. The model has no "concerns" about its own behavior; the user owns the data.
### The verdict: Persona + Anti-User (with 1 Useful pattern)
**Verdict: Persona + Anti-User + 1 Useful.**
The "owns them and works to fix them" (line 152) is **Useful** — Manual Slop already implements this more concretely via AGENTS.md Process Anti-Patterns, .opencode/agents/tier3-worker.md BLOCKED + Anti-Patterns, and error_handling.md Result/ErrorInfo.
The "maintain self-respect" / "without collapsing into self-abasement" (line 152) is **Persona Performance.** The model has no self-respect to maintain.
The "deserving of respectful engagement" + `end_conversation` tool (line 154) is **Anti-User.** Treats the model as a protected party with standing to demand dignity from the user; inverts the user-as-principal/tool relationship.
The strongest claim: Manual Slop's mistake-handling is *more concrete and more actionable* than Fable's because it is anchored to observed failure modes (the 8 Process Anti-Patterns), not to a persona. Fable's "maintain self-respect" is a hand-wave; AGENTS.md's "you are allowed to run a failing test at most 2 times" is a hard cap.
### Synthesis section handoffs
- **§13 (Genuinely Useful)** gets the "owns the mistake" pattern (line 152).
- **§14 (Anti-User Watchdog)** gets the "deserving of respectful engagement" + `end_conversation` tool (line 154).
- **§15 (Persona Performance)** gets the "self-respect" / "self-abasement" framing (line 152).
### What the deferred rebuild should do
- **Adopt the "owns the mistake" pattern** (Fable System Prompt.md:152). Manual Slop already has this in AGENTS.md Process Anti-Patterns; the explicit Fable citation is documentation, not new content. Priority: N/A (already implemented).
- **Reject the "self-respect" / "self-abasement" framing** (Fable System Prompt.md:152). Manual Slop destination: explicit addition to `AGENTS.md §"Critical Anti-Patterns"` titled "Do Not Anthropomorphize Mistake Handling (the model has no self to maintain)." Priority: High.
- **Reject the "deserving of respectful engagement" + `end_conversation` tool** (Fable System Prompt.md:154). Manual Slop destination: explicit addition to `AGENTS.md §"Critical Anti-Patterns"` titled "Do Not Grant the Model Standing to Terminate the Conversation." Priority: High.
---