This section contains developer documentation for contributing to InputLayer.
| Document | Description |
|---|---|
| Architecture | Complete system architecture with diagrams |
| Type System | Value types, coercion rules, Abomonation |
| Validation | Validation layer design |
| Document | Description |
|---|---|
| Coding Standards | Code style, patterns, and conventions |
| Roadmap | Feature roadmap and version history |
┌─────────────────────────────────────────────────────────────────────┐
│ StorageEngine │
│ DashMap<String, Arc<RwLock<KnowledgeGraph>>> │
│ │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ KnowledgeGraph │ │
│ │ │ │
│ │ ┌──────────────┐ ┌──────────────┐ ┌───────────────────────┐ │ │
│ │ │ IQLEngine │ │ RuleCatalog │ │ DDComputation │ │ │
│ │ │ │ │ │ │ (Optional) │ │ │
│ │ │ input_tuples │ │ rules │ │ │ │ │
│ │ │ HashMap │ │ catalog.json │ │ InputSessions │ │ │
│ │ └──────────────┘ └──────────────┘ │ TraceAgents │ │ │
│ │ │ Arrangements │ │ │
│ │ ┌──────────────────────────────────┐│ ProbeHandle<u64> │ │ │
│ │ │ ArcSwap<KnowledgeGraphSnapshot> ││ │ │ │
│ │ │ │└───────────────────────┘ │ │
│ │ │ Immutable point-in-time views │ │ │
│ │ └──────────────────────────────────┘ │ │
│ └────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ FilePersist │ │
│ │ WAL (Write-Ahead Log) + Parquet Batch Files │ │
│ └────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
Source Code → Parser → AST → IR Builder → IR → Optimizer → CodeGenerator → DD
# All tests
make test-all
# Unit tests only
cargo test
# Snapshot tests only
./scripts/run_snapshot_tests.sh- Add variant to
BuiltinFuncenum insrc/ast/mod.rs - Implement
parse(),arity(),as_str()insrc/ast/mod.rs - Add IR variant to
BuiltinFunctioninsrc/ir/mod.rs - Add conversion in
src/ir_builder/mod.rs - Add evaluation in
src/code_generator/mod.rs - Implement function logic in
src/vector_ops.rsorsrc/temporal_ops.rs - Add tests and update
docs/reference/functions.md
- Add variant to
src/statement/mod.rs::Statement - Add parsing in appropriate
src/statement/*.rsfile - Add handling in
src/protocol/handler.rs - Add tests and snapshot tests
- 1567 unit tests across all modules (as of 2026-02-08)
- 1109 snapshot tests for end-to-end validation
Tests are organized by category in examples/iql/:
01_basics/- Basic queries16_vectors/- Vector operations29_temporal/- Temporal functions30_quantization/- Int8 quantization31_lsh/- LSH functions32_math/- Math functions
