Why should agents work with AST symbols instead of raw text diffs?
DIRECT ANSWER
Text diffs make it easy for an agent to break structure, for example by dropping a closing brace, and raw compiler logs are long and noisy. hello.forge indexes TypeScript files into addressable AST symbols using the TypeScript compiler API and stores typecheck diagnostics as structured JSON records. No token or timing comparison has been measured.
What does a forge diagnostic look like?
Diagnostics are stored per file, line and code, so an agent can read a few fields instead of a full log. The shape below shows the fields; values come from your own run.
{
"file": "src/lib/example.ts",
"line": 42,
"code": "TS2345",
"severity": "error",
"message": "<compiler message>"
}What exists in the repo
- IMPLEMENTEDAST symbol indexSymbols per file./api/hello/forge/symbols
- IMPLEMENTEDStructured diagnosticsTypecheck results as JSON./api/hello/forge/diagnostics
- PROTOTYPESymbol-level patch applicationMutations are recorded; applying patches by symbol is limited.
- VISIONMicroVM test executionNot implemented.