From 88dba0823669003a30a03bf928b61e60f69cbfff Mon Sep 17 00:00:00 2001 From: retoor Date: Sun, 18 Oct 2026 13:24:55 +0200 Subject: [PATCH] docs: README research-driven development section with archive stats --- README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/README.md b/README.md index a6773b6..80af4e2 100644 --- a/README.md +++ b/README.md @@ -374,6 +374,20 @@ The interactive UI toolkit lives in `tai.py` itself (stdlib-only, no dependencie Install asks for the bot token up front, verifies it against `getMe`, stores it in `~/.tai/telegram.env` (mode 0600), builds the sandbox container (used for voice transcription), and registers a `tai-telegram.service` systemd user unit with linger enabled (failures ignored). The bot long-polls, answers text, transcribes voice notes, and understands `/new`. It runs without `--yes`, so destructive shell commands are denied outright. Uninstall stops and removes the service and purges the container and image; the token file and data stay put. +## Research-driven development + +tai is built research-first: a load-bearing design decision starts with web searches, documentation reads, and prior-art analysis, and the research is not done until it is written into `research/` under the standing rule in [AGENTS.md](AGENTS.md) (maintained under the auspices of the Molodetz Institute). Every source actually consulted gets its own document: a Tier 1 Source Dossier when read and synthesized, a Tier 2 Source Citation Card when only seen in a result listing, never skipped, never inflated. Every decision the research produced gets a Conclusion document with revisit conditions, `research/INDEX.md` is updated in the same pass, and `research/audit.py` enforces the whole shape: the audit must PASS before the work counts as done. + +Snapshot as of 2026-10-18 (live counts always in [research/INDEX.md](research/INDEX.md)): + +| Metric | Count | +|---|---| +| Subjects | 13 | +| Source documents | 691 (216 Tier 1 / 475 Tier 2) | +| Conclusion documents | 29 | + +Subjects range from SQLite BM25 retrieval and TUI framework design to goal verification, prompt scaling, scheduler bounds, sandbox caps, and the full CAP protocol survey. When this README says a technique was rejected (embeddings, GraphRAG, memory vendors, gRPC), that rejection is a researched decision with documents behind it, not an omission. + ## Testing python3 test_tai.py # full agent/tools/vault/scheduler suite