Skip to content
Xnovity
Compiler architecture

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".

Completed

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

Completed

Integer parser

Input: Integer token entries
Output: Program AST

Responsibility: Parse facts, methods, imports, expressions, queries and dynamic operator patterns.

Source: IntegerParser

Completed

Runtime registration

Input: Program AST
Output: Loaded module/fact state

Responsibility: Register declarations transactionally, resolve imports and publish executable program state.

Source: FelidaeRuntime / Interpreter

Completed

Interpreter

Input: Loaded program or query
Output: Runtime values / query solutions

Responsibility: Execute main, explicit queries, REPL expressions and runtime/native calls.

Source: felidae

Completed

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

In Progress

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

Completed

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.