Private
Public Access
1.6 KiB
1.6 KiB
Token firewalling is mandatory — error logs and deep history never bubble up to high-tier models
The firewall
The 4-tier MMA is built around a sharp boundary: each tier's input is abstracted relative to the tier above it. Per docs/MMA_Support/Overview.md:15:
"Token Firewalling: Error logs and deep history are never allowed to bubble up to high-tier models. The system relies heavily on abstracted AST views (Skeleton, Curated) rather than raw code when context allows."
The four abstraction layers, in increasing detail:
| Tier | View | What it contains |
|---|---|---|
| 1 (Orchestrator) | Directory map | file names + nested paths only |
| 2 (Tech Lead) | Skeleton View | class/def signatures, params, type hints (no docstrings, no bodies) |
| 2 (Tech Lead) | Curated View | class definitions, docstrings, # [HOT] / @core_logic bodies; standard bodies replaced with ... # Hidden |
| 3 (Worker) | Raw View | unredacted, line-by-line source code of the single target file only |
Why
- The most expensive models (Tier 1, Tier 2) burn context on architectural reasoning. They do not need (and should not receive) raw implementation noise.
- The cheapest models (Tier 3) can read raw code because they only read one file at a time.
What this means in practice
- A Tier 2 agent reading foreign modules sees Skeleton View, not Raw View.
- A Tier 1 agent does not see code at all — only directory trees + architecture docs.
- AST view generation is the responsibility of
file_cache.py(or equivalent) — never an LLM call. - The boundary is enforced by the tool dispatcher, not by prompt instructions.