How it works

Six stages, each a command you can run by hand, each leaving files you can read. Nothing happens inside a black box you cannot open.

1. Index

slm index walks your folders and writes a chunk index with the path, line range, hash and token estimate of every chunk. It is a file on disk, so you can grep it. Markdown is the first-class source; other text works.

2. Curate

A recipe names sources, exclusions, tiers and quality thresholds. Building it produces a report that says how many files came in, how many went out and why, how many duplicate clusters were folded, and how the mixes came out. Two hundred samples are drawn for you to approve before the dataset is trainable.

3. Train

train-new builds a bundle from nothing: tokenizer, config, checkpoint. train-next continues an existing bundle on new data and leaves the old one intact. Both stream loss, tokens per second and VRAM to the terminal and to the workspace.

4. Ask

slm ask retrieves the top chunks for your question and answers in extractive mode by default, so every claim is a quotation with a citation. Grounded mode blocks a claim the retrieved chunks do not support and says not enough evidence.

5. Call

A registry of tools, each with a schema, an allowed root and a confirmation tier. In the scratch lane a rule planner decides which tool a question needs; the arguments are validated against the schema before anything runs; tier B asks once and tier C asks every time. The trace records all of it.

6. Evaluate

Twelve suites cover retrieval, answers, classification, normalization, tool routing, conversation memory and more. The definition of done is written down: Recall@5 at or above 0.90, a citation on every answer, unsupported claims blocked, and train-next never touching the old bundle.