Cognia 7.3.0 — Experimental transformer tools: RAG and web fetch

Applies to: transformer, orchestration, rag, web-fetch, cdct-levelized

Prepared October 19, 2026. This release adds two tools that a runtime-3 transformer can call in the middle of generation: retrieval over Elasticsearch (rag) and reading one web page by URL (web-fetch). Both are released as experimental. The infrastructure (index lifecycle, ingestion, search, HTTP fetch, tool-call loop, REST, orchestration, record/replay) passes its validation gate; the published tool-use checkpoint does not yet pass the model gate, so no claim is made that a model reliably chooses or uses tools.

Without --tools the transformer behaves exactly as in 7.2.1 (invariant TI-3: /generate with tools disabled produces bit-identical output). Existing tokenizers and checkpoints (.ctok, .ctm) are unchanged and stay compatible; saved networks, snapshots and DPSH event logs too.

Added

  • Chat profile chat-v3. A tokenizer profile with an explicit end-of-turn token, the tool tokens <|rag|>, <|search|> and <|result|>, a system token and eight reserved slots. The profile is chosen from the model vocabulary; a chat-v2 checkpoint is refused with a chat-v3 tokenizer (ModelMismatch) instead of loading silently. cognia_transformer_tokenizer extend-chat-v3 migrates a chat-v2 checkpoint explicitly and records the provenance.
  • Tool-call loop. The model emits a tool token and an argument; the runtime calls the tool, inserts the result as untrusted data and generation continues. A result can never produce a control token, a command or another tool call. Calls have deadlines and a per-request limit (--max-tool-calls).
  • cognia_rag — RAG over a single Elasticsearch 8.x node over HTTPS with a verified CA and an API key: declared collections lowered to versioned mappings, ingestion of versioned chunks with provenance, BM25 search with stable citations, reindex and atomic alias switch. Hybrid retrieval is experimental and has no production embedder.
  • cognia_web_fetch — fetches one explicit HTTP(S) URL under a strict policy (SSRF protection, size and time limits) and returns plain text extracted from HTML.
  • Tool-aware transformer server. cognia_transformer_serve and cognia_transformer_serve_cuda take --tools rag,search, --rag-model, --rag-collection, --web-fetch-policy, --tool-record and --tool-replay. GET /_tools describes the enabled tools; synchronous, session and asynchronous responses carry safe tool_calls and RAG citations, and streaming responses emit SSE tool_result events. cognia_transformer_run uses the same tool registry.
  • Deterministic record/replay of tool calls in .ctoolrec files; replay is bit-identical, so experiments and training data need no network.
  • Orchestration tool components that communicate only through versioned ports on the message bus; monitoring shows tool telemetry without payloads.
  • Tool-use training and evaluation. Training data in chat-v3 with result blocks masked out of the loss, a dataset generator (generate-tool-use-dataset.php in Example 17), cognia_tool_use_predict (predictions of a real checkpoint with tools on and off) and cognia_tool_use_evaluate (strict R-11 gate, FAIL_MODEL exit code 1).
  • cognia_validate_tools — the release gate for the tools, groups A–G. Group C needs a live Elasticsearch; the Compose fixture is in Docs/implementation/retrieval-tools/elasticsearch/. Without it the group returns BLOCKED.
  • Agent Design Kit: engine cards rag and web-fetch (EN + CZ), design guides, capability matrix and CLI references for all new programs.

Validation results

  • Groups A, B, D, E and F of cognia_validate_tools: PASS.
  • Group C: PASS on October 19, 2026 against the pinned Elasticsearch 8.17.8 fixture over CA-verified HTTPS with a least-scope API key: 50 documents, exact top four, recall@4 1.0 with and without Czech diacritics, stale versions excluded, reindex, atomic alias switch and old-generation deletion.
  • Group G (model): FAIL_MODEL on 200 document-separated held-out rows for the published checkpoint: call precision 0.835, call recall 0.605 (gate ≥ 0.7), answer-accuracy lift 0.0 (gate ≥ +0.3), unsupported claims 0.0, failure honesty 0.0 (gate ≥ 0.9). The report is published in Docs/implementation/retrieval-tools/evidence/R-11-tool-use-report.json. A larger tool-use-gate training configuration is included in Example 17 and has not been evaluated for this release.

Known limitations

  • rag and web-fetch are experimental. No released checkpoint reliably decides when to call a tool or answers from its result; the package contains no trained tool-use checkpoint.
  • RAG has release evidence for one Elasticsearch node and a 50-document fixture only; recall without Czech diacritics was measured on that fixture (R-07), not on a general corpus.
  • Web-fetch does not execute JavaScript, authenticate, search for URLs or extract PDF/DOCX. The <|search|> token takes a URL; there is no web search engine.
  • The limitations of 7.2.1 still apply: Linux camera input was not verified on real hardware, cuBLAS is not bundled, the Windows package targets the RTX 50 series only, and on Linux the desktop client is a browser launcher.

Correction to the 7.1.0 notes

Levelized CDCT 7.1.0 shipped the Elasticsearch retrieval contracts and an adapter verified against a fake transport only: it could not be configured from the CLI, supported plain HTTP rather than HTTPS, and rejected every real _search response because it did not request version: true. 7.3.0 fixes the request (R-01) and moves CDCT onto the shared HTTPS Elasticsearch client (R-02).