Fable review: faster preparation is not a faster or better agent
The supplied 23-task rerun halves pack overhead; scores hit a ceiling. The v0.20.0 cache bug was fixed, while licensing remains unclear.

FABLE · SOURCE + OWNER-SUPPLIED BENCHMARK · 25 SEP 2026
Fable opens with a useful constraint: before an agent tackles a task, it looks for lessons from earlier work. A 23-task re-benchmark supplied by the project owner suggests that v0.20.0 parallel fetching halves preparation time. That is not the same as solving tasks twice as fast, or solving them better. I read the source and pulled those claims apart.
The Fable core
- Local lessons before external retrieval
- Parallel pack build: 23/23 faster in supplied test
Limits
- 100/100 score ceiling; no quality gain measured
- Top-level LICENSE absent; optional engines differ
How it works and where to use it
Fable searches a local JSONL corpus with search.js, then retrieves and ranks session traces from five curated Hugging Face datasets with retrieve.js. boost.py assembles an advisory pack: Laya can triage relevance on Apple Silicon; Headroom compresses context, with a built-in light-dedupe fallback elsewhere. route.py chooses modes, and record.js saves a deduplicated task lesson. The smart scaffold, MCP server, capability installer, security scanner and video paths are additional features, not part of every core invocation.
A repeated flaky test can benefit from a previous fix; unfamiliar CLI debugging can draw hypotheses from public traces; an urgent task can use the lighter ULTRA --fast path without compression. External traces are untrusted examples, not instructions to execute. Setup documented in the README requires Node 18+ and Python 3.10+, with scripts/setup.py and a ZCode plugin or standalone skill. We reviewed source, but did not run installer code or independently benchmark the plugin.
How the benchmark was run
The attached HTML compares a fresh v0.20.0 fable arm at commit a86b9fb with archived v0.12.0 fable results across the same 23 tasks. The model-only control was reused, not rerun. It reports a fresh local corpus, deterministic graders, three contestants per batch and two early batches voided and rerun after prompt.md was missing. Those are reported methods, not steps we independently verified.
The 23-task results
The harness-timed pack-build median fell from 26.0 to 12.7 seconds, a reported 51.2% cut. All 23 tasks were faster. The three ULTRA tasks fell from 25.3 to 13.2 seconds on average. Below are all 23 pack-time pairs from the attachment; every task scored 100/100 in both versions. A perfect ceiling means no measured quality improvement. The local corpus grew from zero to 23 harness-authored cards; this is retrieval from recorded lessons, not model retraining. New smart-loop defaults were not exercised: routing remained 20 BOOST and 3 ULTRA. Three citation-suppression trials gave mixed results.
Scroll sideways for all columns
| Task | v0.12.0 pack, s | v0.20.0 pack, s | Saved, s | Route |
|---|---|---|---|---|
| C1 | 28.09 | 12.77 | 15.32 | BOOST |
| C2 | 26.32 | 11.35 | 14.97 | BOOST |
| C3 | 27.05 | 12.85 | 14.20 | BOOST |
| C4 | 26.08 | 11.52 | 14.56 | BOOST |
| T1 | 20.55 | 12.90 | 7.65 | BOOST |
| T2 | 25.80 | 12.61 | 13.19 | BOOST |
| T3 | 26.55 | 13.41 | 13.14 | BOOST |
| T4 | 26.79 | 12.47 | 14.32 | ULTRA |
| D1 | 26.34 | 12.06 | 14.28 | BOOST |
| D2 | 23.84 | 13.21 | 10.63 | BOOST |
| D3 | 25.30 | 12.40 | 12.90 | BOOST |
| D4 | 24.51 | 12.27 | 12.24 | BOOST |
| L1 | 26.41 | 12.43 | 13.98 | BOOST |
| L2 | 25.62 | 13.03 | 12.59 | BOOST |
| L3 | 25.78 | 12.41 | 13.37 | BOOST |
| L4 | 28.37 | 13.23 | 15.14 | BOOST |
| X1 | 25.36 | 13.16 | 12.20 | BOOST |
| X2 | 27.45 | 7.56 | 19.89 | BOOST |
| X3 | 26.77 | 13.53 | 13.24 | BOOST |
| X4 | 25.37 | 12.51 | 12.86 | BOOST |
| S1 | 24.57 | 12.81 | 11.76 | ULTRA |
| S2 | 26.01 | 12.71 | 13.30 | BOOST |
| S3 | 24.42 | 14.20 | 10.22 | ULTRA |
A warning about wall time
The 12 tasks with reliable wall markers in both sessions had agent-wall median 84.5 to 104.9 seconds, worse in the later run. The supplied report suggests model-serving drift, but does not establish that cause; three v0.20 runs lacked start markers after a cwd mistake. Cross-session agent time is not decision-grade evidence for either a total speedup or slowdown. Single attempts per task, a perfect score ceiling and no repeated independent trials limit generalization.
The cache bug tied to versions
The stock v0.20.0 retrieve.js called os.path.dirname(HEALTH) in Node; os.path is undefined, and a bare catch silently swallowed the error. The report says three retrievals produced no dataset-health cache, so failure-history ordering did not persist. This bug existed in the tested commit. The live repository has since advanced to v0.21.0: current source uses path.dirname and CHANGELOG records a v0.20.1 hotfix. We checked the code change, not its runtime behavior. Do not call the current release broken on the basis of the old benchmark.
Where the license stops
The README claims the plugin’s own code is MIT and points to LICENSE. The root LICENSE is absent in the current repository and GitHub detects no top-level license. Components have separate terms: AI4Animation is described as CC-BY-NC 4.0 and Remotion has its own license. The project’s many optional installers, external data feeds and skill instructions deserve a separate security and rights review before connecting sensitive work. This review does not certify those features.
Verdict
The pack-stage speedup is credible as a result of the supplied harness measurements and fits parallel source retrieval. Better agent quality or end-to-end productivity is not established. Try the narrow core on non-sensitive work, check which fallback engine actually ran, and repeat the controlled trials before leaning on a broader claim.
Project and credit
Fable source · Tested v0.20.0 commit · Changelog and fix.
Source checked 2026-09-25 at aaeeeb5; benchmark supplied as HTML for stock a86b9fb, not independently reproduced.