A planned compiler and runtime pipeline, documented without overstating implementation.
Responsibilities, inputs, outputs, current status, and source paths are listed below. Every implementation source path is currently "not present in checkout".
Token model
Input: Felidae source text
Output: Integer token entries + offsets
Responsibility: Use the pinned SentencePiece model to create the integer input consumed by the parser.
Source: SentencePieceModel / IntegerTokenList
Integer parser
Input: Integer token entries
Output: Program AST
Responsibility: Parse facts, methods, imports, expressions, queries and dynamic operator patterns.
Source: IntegerParser
Runtime registration
Input: Program AST
Output: Loaded module/fact state
Responsibility: Register declarations transactionally, resolve imports and publish executable program state.
Source: FelidaeRuntime / Interpreter
Interpreter
Input: Loaded program or query
Output: Runtime values / query solutions
Responsibility: Execute main, explicit queries, REPL expressions and runtime/native calls.
Source: felidae
AST debugger
Input: Program source
Output: Diagnostics and editor metadata
Responsibility: Analyze AST structure without executing queries and expose LSP/metadata endpoints.
Source: felidae_debug
Celidae analysis
Input: Parsed declarations/literal facts
Output: Interactive HTML views
Responsibility: Build structural and analytical views without executing main, methods or native libraries.
Source: src/celidae
Native modules
Input: Validated module call
Output: Host/native result
Responsibility: Keep host-facing and specialized operations behind explicit C++ shared-library boundaries.
Source: core + native_modules
Security model
The intended security model is policy-first: tool permissions, data scopes, human approvals, audit logs, and citation requirements should be validated before risky actions. This is not implemented in the checkout and remains a research topic.
Runtime
A future runtime would execute agent workflows, mediate tool calls, manage scoped memory, enforce policy decisions, and emit traces. No runtime source is present here.