# Consult Forge with versions, sources and complete reads

> A reliable search, read and source workflow for Total.js 5 and jComponent 20; coverage and evidence are explicit.

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: en
Content-SHA256: bc42083bd8e07eb1d3da1da6cbf27c7c425ea21348b2d6fa5badf1df7e2169f6
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: reviewed-workflow

## Start with the product and version

Forge documents backend Total.js 5 and frontend jComponent 20. They share names such as `DEF`, `GET`, `CACHE` and `ON` but run in different environments. Choose the product before applying a contract. The installed backend runtime is `total5@0.0.19`; the pinned framework development reference declares `0.0.20-1`. An upstream source reference is not a test result for the installed package.

Read `/knowledge-sources.json` for exact commits and SHA-256 fingerprints, `/knowledge-coverage.json` for declaration and component coverage, and `/knowledge-licenses.json` for preserved upstream license notices. `/knowledge.json` describes the current published documents, their actual languages, hashes and stable sections. The library version alone is insufficient to identify a jComponent bundle; retain its source fingerprint.

## Search, then read

Use `Forge_search` with an exact symbol such as `Controller.prototype.json`, `DEF.fallback` or `Component.prototype.setter`, or a short English/Spanish task query. Search includes the public document body. Matching excerpts help select a page; they are not the whole page and are not evidence that an example was executed. The response includes the actual content language; an untranslated page remains English.

Call `Forge_page` with the returned section and slug. Pass its `content_sha256` to refuse a changed page. To read just the matching section, pass its `anchor`. If `next_cursor` is present, continue with that cursor until it is null. Cursors bind the document, language, content hash and pinned source snapshot. If the page changes, restart the read. The old `offset` field remains available for existing clients, but a cursor provides revision checking.

Cite the page URL, its section anchor and the content hash used. A page found by search has not yet been read. A large page returned in parts has not been fully read until continuation finishes.

## Resolve a contract in the original implementation

Use `Forge_coverage` to resolve an exact symbol and identify its source id and file. Use `Forge_source` to read that file verbatim. Its `path` must match a text file in the pinned source manifest. Source reads are paginated and hash checked. The same bounded readers are available over HTTP at `/api/knowledge-search/`, `/api/knowledge-page/` and `/api/knowledge-source/` for clients that do not use MCP.

Sources include the installed runtime, pinned upstream framework, jComponent, components, and AIContext guidance. `aicontext` is architectural guidance, not proof that every example matches the installed runtime. Read a matching implementation and recipe before adopting a signature, lifecycle assumption or dependency. Do not execute a source excerpt as a standalone example.

Use `Forge_test` with the page section and slug to get its example files and the command for running them.
