Answer
app.concurrency in schema.sql is 10. It was set in commit 942eb7c on
8 Jul 2020, and a recorded handover call gives the reason: the SES rate limit was being hit.
Untangle reads a repository’s commits, reviews, issues, docs and handover calls, then answers with the evidence behind each decision.
The examples on this page are real Untangle output for knadh/listmonk, an open-source newsletter manager.
Scroll to pull the threadThe reason a value is 10 lives in a commit from 2020, a review thread, an incident ticket, and a call where someone explained it once. The person who knew may have left.
In listmonk alone, 2,270 commits, 896 pull requests and 2,284 issues hold 2,546 recorded decisions.
Ask in plain words. Untangle matches the question to an exact config key, then walks its decision through every piece of evidence, in order.
app.concurrency in schema.sql is 10. It was set in commit 942eb7c on
8 Jul 2020, and a recorded handover call gives the reason: the SES rate limit was being hit.
A new value supersedes the old one, and both stay on the record. Keep scrolling to move through time and see what was true on any date.
app.concurrency was
Record the call before someone leaves. Untangle transcribes it, renders it in English, and links what was said to the files and keys it names.
6 min 52 s of call, 15 decisions extracted. The transcript is synthetic demo data with fictional people; the repository, paths and keys are real.
why does listmonk use MongoDB?
No recorded decision answers this, so Untangle refuses instead of guessing. It shows the closest entities it found and the person most likely to know.
Pulse ranks contradictions, drift, missing rationale and ownership gaps across the graph. Each warning opens the same evidence path as a question.
18 active decisions 3 risks 83% with recorded rationale
Open source under the MIT license. The default answer path is deterministic and works without a model key. A model can improve the wording, but it can’t add uncited claims.
Git history, GitHub discussions, docs, symbols, config changes and dependencies go into a Neo4j graph.
The router resolves the entity you named and retrieves its decision chain and evidence.
Read the answer with its citations, the supersession timeline, a confidence score and the person to ask.
Ask why the code is like this, and follow the evidence back through time.