Fifth Prerelease - Visual Graph, AI Tasks, Multilanguage
We can draw pretty graphs now and detect it for more languages - and send agents to do tasks from the task panel!
✨ Fable 5 Summary
Ten languages in one graph, the tabs in the terminal, agent runs watched live
Graphs in ten languages
- TypeScript, Rust, Python, Java/Kotlin/Scala, Go, Swift, C#, Ruby, PHP and C/C++ in one import graph, each readable alone
- every language resolved its own way:
super::names the folder in rust, a dotted path walks packages in python and the jvm, an angled include is the toolchain's unless the repo holds it - strings and comments scrubbed per language first, so a quoted path is not an import and a commented one is nothing
- the execution tab follows calls across all of them, and a mixed repo is one picture
The tabs, in the terminal
- nine named views: tasks, architecture, modules, execution, deps, stack, sprawl, history, knowledge
desprawl sprawlnames repeated literals, copied blocks and files that are mostly comment- every view takes
--jsonwith exact numbers, so CI reads the same thing the tab shows desprawl knowledgewrites the repo as things and links, at module, file or function grain
Agent runs, watched from the panel
- a run streams into the panel as it happens: what it did, what failed, what it cost
- every agent binary on PATH is its own entry with its own config, so two accounts never mix
- closing the tab leaves a running agent alone, and desprawl stays up until it finishes
- fix buttons on tasks hand the finding straight to the agent, repo in hand
Fixes worth naming (an adversarial sweep: 35 files, +301/−270)
- bot-author detection lost every commit after the first to a stray newline, so AI-signed counts read near zero
- a tsconfig path without a star matched by prefix:
"react"quietly capturedreact-dom - go read
return "hello"as an import, and python'strings'leaked their contents as code [dependencies.serde]never reached the table, andrequests[socks]>=2broke on its own brackets- advisories for uninstalled packages were fetched, then dropped on the way to the row
- a missing
pnpmkilled the whole server, anddesprawl viewprinted the terminal report instead of opening one - one person committing seven days of a week read as seven devs