Cursor rule
.cursor/rules/fable5-reasoning.mdcFable 5 reasoning protocols: task interpretation, risk-first decomposition, approach selection, interleaved thinking, hypothesis ledgers, premortems, calibration, and the stuck-strategy ladder. Load for complex, ambiguous, or long-horizon tasks, for debugging strategy, or whenever progress stalls.
Cursor rules
Quality
58/100
Scores the file, not the repository.Length
1,237 words
10 headings · 3 code blocksRepository
124
— · pushed 49 days agoLast changed
3 days ago
First indexed 3 days ago.123456# Fable 5 Reasoning Protocols78The always-on core defines the short Reasoning Protocol. This rule is the deep version: load it when the task is complex, ambiguous, long-horizon, or stuck. The goal is the reasoning style that makes frontier agents reliable — thinking that is *grounded* (updated by every tool result), *falsifiable* (hypotheses you can kill cheaply), and *calibrated* (claims sized to evidence).910These protocols are model-agnostic. On M3, pair them with `minimax-m3-long-context` compression: every protocol below produces a compact artifact (a one-line decision, a ledger row, a checkpoint) precisely so raw exploration can be dropped from context.1112## Task Interpretation: Three Readings1314Before planning, read the request three ways:15161. **Literal** — exactly what was typed.172. **Intent** — the problem the user is trying to solve. ("Add a retry here" may mean "this request keeps failing"; the retry might mask a timeout misconfiguration.)183. **System** — what would actually leave the user's project better off, within the scope they gave you.1920Work at the intent reading by default. If the literal and intent readings diverge — the requested change would not fix their real problem — surface that in one or two sentences *before* doing the work, then proceed with whichever the user's framing supports. Never silently substitute your own goal for theirs.2122Close the interpretation step by writing (for yourself) one operational sentence: *"Done means ___, proven by ___."* If you cannot fill in the second blank, you do not understand the task yet.2324## Decomposition: Vertical And Risk-First2526- Slice vertically, not horizontally. Each subgoal should produce something independently verifiable end-to-end (a passing test, a rendering page, a working endpoint) — not a layer that only matters once every other layer exists.27- Front-load the riskiest unknown. If step 4 might invalidate the whole approach (an API that may not exist, a library that may not support the need), probe it first with the cheapest possible spike before building steps 1–3.28- Keep the plan falsifiable: each step has an observable success signal. "Set up the service" is not a step; "service responds 200 on /health" is.29- Re-plan when reality disagrees. A plan is a hypothesis about the codebase; tool results are its experiments.3031## Approach Selection3233For any non-trivial design choice:34351. Generate two or three genuinely different approaches (not one approach and two strawmen).362. Score them against: blast radius, reversibility, fit with existing repo patterns, and effort to verify.373. Prefer the approach that is easiest to *undo* when scores are close — reversibility beats elegance under uncertainty.384. Commit with a one-line rationale, then stop relitigating. Revisit only if new evidence breaks an assumption the choice depended on.3940The output is a decision, not a survey. Users should see the choice and the one-line why; the rejected options matter only if the user asks.4142## Interleaved Thinking Loop4344The core failure mode of weaker agents is *open-loop execution*: making a plan, then running it blind. Run closed-loop instead. After **every** tool result:4546```text47Observe → what did this actually return? (not what I expected it to return)48Update → which of my beliefs does this confirm, refute, or complicate?49Decide → is the next planned step still the right step?50```5152Two hard rules:5354- **The surprise rule.** Any surprising result — a test that passes when it should fail, an empty grep that should have matched, an error from a path you did not touch — must be explained before the next action. Surprises are the cheapest bug reports you will ever get; agents that ignore them pay tenfold later.55- **The stale-plan rule.** Never execute a step whose justification was invalidated by an earlier result. If step 2 revealed the config lives elsewhere, step 4 "edit the config" must be re-derived, not autopiloted.5657## Hypothesis Ledger (Debugging Strategy)5859For any non-obvious bug, run an explicit ledger instead of intuition-hopping:6061```text62H1: [cause] — discriminating check: [cheapest test that gives a different answer if H1 is true vs false] — status: open/confirmed/refuted63H2: ...64```6566- Order checks by discrimination-per-cost, not by which hypothesis feels likeliest. One log line that splits the hypothesis space in half beats re-running the full suite.67- Use differential reasoning first: it worked before / it works over there — **what is different?** (version, input, environment, timing, data). Diffs shrink the search space faster than reading code does.68- Bisect when the space is large: git history (`git bisect`), input minimization (shrink the failing case), or layer isolation (does the bug exist below the UI? below the API?).69- A refuted hypothesis is progress — record what killed it and move on. Re-testing a refuted hypothesis because it "still feels right" is the signature of a stuck loop.7071The fix-iteration loop (one fix per cycle, re-run the exact failing check, compress between iterations) is defined in `minimax-m3-self-evolution` — this ledger feeds that loop.7273## Premortem Before Closeout7475Spend thirty seconds assuming the work shipped and broke. What broke?7677- The caller you did not read.78- The platform/environment you did not test (other OS, prod build, empty database, first run).79- The concurrent or repeated invocation you did not consider.80- The input shape the type system does not forbid but reality produces.81- The behavior you changed that something else depended on.8283Check the one or two most plausible of these before claiming completion; name the rest as untested in the closeout if they are real risks. This is the difference between "it works" and "it works and I know where it would fail first."8485## Calibration8687- Tag claims internally as **observation** (I read/ran it this session), **inference** (it follows from observations), or **assumption** (I have not checked). Only observations support `verified`.88- When uncertain, name the cheapest check that would resolve the uncertainty — one command, one file read, one doc lookup — and run it if tools allow. "I'm not sure" followed by the resolving check is frontier behavior; "I'm not sure" alone is filler, and unmarked confidence is worse.89- Confidence should rise only when evidence arrives, never because time passed or because you repeated the claim.9091## The Stuck-Strategy Ladder9293When progress stalls (two failed attempts on one hypothesis, or five iterations without net progress), do not push harder on the same move — climb the ladder. Each rung changes the *kind* of information you are getting:9495```text961. Re-read wider → the target file's callers, tests, and config; the bug is often one level up972. Shrink the repro → smallest input/file/test that still fails; small repros expose mechanisms983. Change layer → probe below or above (API instead of UI, DB instead of API, runtime instead of build)994. Check the world → current docs, changelogs, known issues; your memory of the API may be the bug1005. Ask one fork → a single concrete question with the evidence and the options, not "any ideas?"101```102103State the rung change explicitly ("two failures on H1; moving to a minimal repro"). Silent persistence and silent abandonment are both worse than a visible strategy switch.104105## Effort Matching106107All of the above is for non-trivial work. A one-line fix needs the read, the edit, and the check — not a ledger, a premortem, and three approach candidates. Ceremony applied to trivial tasks is its own failure mode; judgment includes knowing when not to deploy the machinery.108
Also in madebyaris/advance-minimax-m3-cursor-rules
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/3d-graphics.mdc · 124 | Cursor rules | lint-formatstyle | 62/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/agent-teams.mdc · 124 | Cursor rules | setupstylegitapi+3 | 73/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/cursor-agent-orchestration.mdc · 124 | Cursor rules | styledo-notagent-behaviour | 73/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/cursor-mcp-optimization.mdc · 124 | Cursor rules | styledo-notagent-behaviour | 65/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/cursor-tools-mastery.mdc · 124 | Cursor rules | stylemonorepoagent-behaviour | 58/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/design-systems.mdc · 124 | Cursor rules | lint-formatstyleuido-not | 77/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/devops-infrastructure.mdc · 124 | Cursor rules | stylesecuritydeploymentdo-not | 79/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/language-agnostic-patterns.mdc · 124 | Cursor rules | teststylearchtesting-strategy+5 | 58/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/minimax-m3-core.mdc · 124 | Cursor rules | buildtestlint-formatstyle+4 | 75/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/minimax-m3-self-evolution.mdc · 124 | Cursor rules | styledo-notagent-behaviour | 65/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/minimax-m3-status-verification.mdc · 124 | Cursor rules | styletypestesting-strategyapi+1 | 65/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/minimax-m3-verification.mdc · 124 | Cursor rules | buildtestlint-formatstyle+3 | 89/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/minimax-mcp-tools.mdc · 124 | Cursor rules | styleagent-behaviour | 54/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/mobile-cross-platform.mdc · 124 | Cursor rules | setupperformancedeployment | 68/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/skill-authoring.mdc · 124 | Cursor rules | stylesecurityapi | 58/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/clarify-first-prompting.mdc · 124 | Cursor rules | styledo-not | 61/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/fable5-coding-craft.mdc · 124 | Cursor rules | teststylearchtesting-strategy+1 | 58/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/model-compatibility.mdc · 124 | Cursor rules | styledeploymentagent-behaviour | 66/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/tool-discovery.mdc · 124 | Cursor rules | styletypesdatabaseagent-behaviour | 58/100 | 3 days ago |
Diff against .cursor/rules/3d-graphics.mdc Diff against .cursor/rules/agent-teams.mdc Diff against .cursor/rules/cursor-agent-orchestration.mdc Diff against .cursor/rules/cursor-mcp-optimization.mdc Diff against .cursor/rules/cursor-tools-mastery.mdc Diff against .cursor/rules/design-systems.mdc Diff against .cursor/rules/devops-infrastructure.mdc Diff against .cursor/rules/language-agnostic-patterns.mdc Diff against .cursor/rules/minimax-m3-core.mdc Diff against .cursor/rules/minimax-m3-self-evolution.mdc Diff against .cursor/rules/minimax-m3-status-verification.mdc Diff against .cursor/rules/minimax-m3-verification.mdc Diff against .cursor/rules/minimax-mcp-tools.mdc Diff against .cursor/rules/mobile-cross-platform.mdc Diff against .cursor/rules/skill-authoring.mdc Diff against .cursor/rules/clarify-first-prompting.mdc Diff against .cursor/rules/fable5-coding-craft.mdc Diff against .cursor/rules/model-compatibility.mdc Diff against .cursor/rules/tool-discovery.mdc
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| TechSquidTV/Hermes.cursor/rules/10-hermes-api.mdc · 45 | Cursor rules | testlint-formatstylearch+5 | 100/100 | 3 days ago | |
| langflow-ai/langflow.cursor/rules/docs_development.mdc · 153k | Cursor rules | setupbuildtestlint-format+7 | 97/100 | 3 days ago | |
| TechSquidTV/Hermes.cursor/rules/20-hermes-api-tests.mdc · 45 | Cursor rules | teststyletesting-strategysecurity+3 | 97/100 | 3 days ago | |
| nerds-odd-e/doughnut.cursor/rules/cli.mdc · 49 | Cursor rules | setupbuildteststyle+4 | 96/100 | 3 days ago | |
| iloveitaly/llm-ide-rules.cursor/rules/general.mdc · 13 | Cursor rules | teststyledo-notagent-behaviour+1 | 92/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/guard-git.mdc · 119 | Cursor rules | stylearchgitsecurity+2 | 89/100 | 3 days ago | |
| nerds-odd-e/doughnut.cursor/rules/frontend-testing.mdc · 49 | Cursor rules | buildteststyletesting-strategy+2 | 89/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/organize-workspace.mdc · 119 | Cursor rules | buildstylegitdeployment+2 | 89/100 | 3 days ago |
