Seed Diagnostics Surface
Stage0 shell seed and canonical Vitte seed source now share a phase-oriented diagnostics contract.
Required phases
Every seed diagnostic must declare one explicit phase:
lexerparserast_validationmodule_resolutionsymbol_resolutionsematypeckborrowckmir_loweringmir_verificationbackendlinkerruntime_execution
Generic phase-less bootstrap failures are outside the accepted diagnostics surface.
Lexer coverage
LEX_E_INVALID_CHARLEX_E_UNTERMINATED_STRINGLEX_E_INVALID_CHAR_LITERALLEX_E_INVALID_ESCAPELEX_E_INVALID_UNICODELEX_E_INVALID_NUMBERLEX_E_UNTERMINATED_COMMENTLEX_E_TOKEN_TOO_LARGE
The shell seed includes byte-oriented hints when they can be computed from the raw source bytes. The Vitte seed mirrors the same codes and phase split and is converging toward identical message wording.
Parser coverage
PARSE_E_TOPLEVEL_DECL_EXPECTEDPARSE_E_INCOMPLETE_EXPRPARSE_E_UNCLOSED_BLOCKPARSE_E_MISSING_RPARENPARSE_E_MISSING_COMMAPARSE_E_TYPE_EXPECTEDPARSE_E_PATTERN_EXPECTEDPARSE_E_BLOCK_EXPECTED
The parser surface now carries expected token, found token, syntax context, and recovery status for the supported bootstrap subset.
Module and symbol coverage
Module resolution now reports import chain, tested paths, requester module, and a closest-name hint. Symbol resolution now reports current scope, active imports, closest symbol, and original declaration information when available.
Available surfaces
Shell seed
toolchain/seed/vittec0.seed exposes text diagnostics and JSON diagnostics with pipeline_failed_at, primary_report, and phase_reports.
Canonical Vitte seed
toolchain/seed/src/main.vit now exposes:
diag <file>diag-json <file>check <file>diagnostics_text_for_source(...)diagnostics_json_for_source(...)
This Vitte surface reads a real file, analyzes it by phase, and renders a diagnostics JSON shape that is much closer to the shell seed surface.