The README's user documentation, moved here
Eight sections left the README for the pages that own them: Quickstart into
Getting Started, Install and Configuration into Installation (and Runtime
Controls for the flags), Common workflows into the Cookbook plus the server page's
protocol facts, Troubleshooting and Getting help into the FAQ, What it does into
Features, and Two products into Library and Engine.
Most of it was already here — these pages were written alongside the README — so
this is the part that existed only there: the two error strings as FAQ questions,
the Getting-help section whole, the installer's "from a clone or an unzipped
download" and `--product TinyTitanCLI`, the ANE sidecar and Tiled Top-K numbers,
the Responses and Messages protocol facts, and the library's plan and layout
links. Nothing is carried twice, and no figure or command was lost.
Also: Cookbook's link to Runtime Controls named an anchor that does not exist
(`#mid-session-switches`; the heading is "Switching mid-session"). Fixed.
Library and Engine: tools, both directions
The page said the facade could report a tool call but not ask for one. It can do
both now — `tools:` on `respond`, and the assistant turn plus a `tool` result to
close the loop — so the bullet describes the loop instead of the gap.
Tracker: TT-046 closed — the queue is empty
Every row the library split opened is closed. The page says what closed last and
keeps the toolchain rule, which is a rule rather than a task.
Tracker: TT-043 closed — reasoning and tool calls cross the facade
One row left: a request vocabulary of the facade's own, which is also what would
make the toolCall event reachable by letting a caller offer tools.
Tracker: TT-040 closed, and the page says the device is honoured
Two rows left: reasoning and tool calls on the facade, and a request vocabulary
that is not the OpenAI wire format.
Tracker: TT-039 closed — the §5 contract is tested
Three rows left, all medium: the device, reasoning and tool calls, and the
request vocabulary. The library page now states the one-generation-per-session
rule as a contract rather than a gap, and AGENTS.md says how to run the gated
suite that proves it.
Tracker: TT-041 closed — the integrity policy is a knob, the streaming mode is not
The gap list loses its streaming line and records why: one runtime mode, whose
slot count `expertCacheSlots` already chooses. Four rows remain, all medium.
Tracker: TT-042 closed, and the prompt event is documented
The facade's `promptProcessed` fires once before the first token now, with the
prompt's length and how much of it the cache held, so the page stops saying no
event reports it. Three rows remain small and three are medium.
The toolchain rule, and the tracker worked down into closable rows
"Xcode 27 / Swift 6.4, and nothing else, is supported" now reads the same on
Home, Getting Started, Installation and Library and Engine as it does in
AGENTS.md, and Library and Engine describes the log sink an embedder owns.
The tracker loses TT-038 — the library split it described is delivered, in
source and in binary — and gains eight rows for what is actually left: the log
sink and its kin, the device, the request vocabulary, the prompt event,
reasoning and tool calls, error classification, the dense Qwen 3.5 prefill
chunk, and the §5 contract tests. Each is independently closable, which is what
working them down needs. TT-045 is already gone: the sink landed in 3fa7ddb.
Library and Engine: the archive ships a demo
The binary archive now carries `demo/` — two terminal apps from one source, one
per link form — so the page says what a reader gets and how to run it. The
library's own page is where someone lands after "how do I use this".
Library and Engine: the binary form, and the engine runs on the library
The page gains what a consumer gets from a release: `libTinyTitanLib.a` (merged,
one file to link), `libTinyTitanLib.dylib`, the module set and module maps, and
the Metal shader sources that have to sit beside their executable — with the
verified command lines and a note that depending on the package stays the
supported route.
It also stops saying things that are no longer true: the orchestrator's
diagnostics go to stderr now, not stdout, and both front ends — CLI included —
generate through the library.
TT-038's next step is P2, the contract tests and the gaps the plan records; the
library itself is delivered, in source and binary form.
Library and Engine: the two products, and TT-038 moves to Open
The library (`TinyTitanKit`) and the engine are separate products on one branch,
the way the two DeepSeek Harness bundles are separate under `plugins/`. The new
page is the user-facing guide: adding the library, the four types that make up
its API, the limits the facade does not cover yet, and the one-tag versioning.
TT-038 loses its blocker — the maintainer answered §9.3 (a product of this
package) and §9.5 (`TinyTitanKit`) — so it is Open and here, with phase A2 (the
CLI's driver onto the facade) as the next step.