Will Anderson
0a36a454f9
feat: unified testing framework — unit and e2e same syntax, seed-based graph testing, debugger infrastructure
...
- New crate el-test: test discovery, in-memory graph seeding, assertion evaluator, TestRunner, TestReport with human/JSON/JUnit XML output
- New keywords: test, seed, assert, target — fully integrated into lexer, parser, codegen, type-checker
- Parser extensions: TestDef, SeedStmt, Assert AST nodes; seed blocks handle type: as field name (keyword-as-ident in seed context)
- Debugger: DebugEvent, Debugger, StepMode, StackFrame in el-compiler — breakpoints, step-over, step-into, step-out
- CLI: el test-file <file.el> runs tests; el test integrates with project; el debug attaches debugger; --output json|junit for CI
- 52 new tests in el-test covering discovery, graph seeding, assertion evaluation, pass/fail/error/skip, report generation, JUnit XML
- Example: examples/hello-project/src/tests.el — 6 unit tests pass, 1 e2e test correctly skipped without ENGRAM_URL
2026-04-27 19:11:59 -05:00
Will Anderson
48b72843e1
feat: package manager, build system, native cross-compilation, plugin system
...
Add three new crates and extend the compiler and CLI toolchain:
- el-manifest: el.toml manifest parser using serde + toml crate; supports
package info, registry/path/version deps, build config with seal key
sources, cross targets, and plugins; Manifest::find_manifest() walks up
the directory tree
- el-registry: HTTP registry client (reqwest + tokio) for
packages.neurontechnologies.ai; PackageMetadata, fetch/download/publish/
search, BLAKE3 checksum verification, local cache at ~/.engram/packages/
- el-build: build orchestrator with incremental builds (BLAKE3 file hashes
in .el/build-cache.json), cross-compilation target tagging, dep resolution,
plugin registry with on_ast/on_typed_ast/on_bytecode hooks, test runner,
fmt/check/clean commands
- CrossTarget and NativeTarget enums with triple() and artifact_extension()
methods; NativeTarget::Host detects compile-time platform via cfg! macros
- Plugin system: CompilerPlugin trait + PluginRegistry; dynamic loading is
a marked TODO with clear extension point for libloading
- CLI extended with: new, add, remove, update, build --cross, run, test,
check, fmt, clean, publish, search, plugin add/remove/list; old
single-file commands moved to build-file/seal/unseal subcommands
- Fix pre-existing debugger.rs borrow error (unwrap_or temporary lifetime)
- Fix checker.rs and codegen.rs to handle TestDef/Seed/Assert Stmt variants
- Add spec/language.md sections 12-14: package system, build system,
plugin system, cross-compilation targets table
130 tests passing, zero warnings
2026-04-27 19:08:25 -05:00
Will Anderson
9ced941590
feat: engram-lang — new programming language, quantum-sealed prod target, spreading activation types
2026-04-27 18:46:51 -05:00
Will Anderson
61a4632163
feat: engram-reasoning — graph-native inference engine, evidence chains, confidence propagation
2026-04-27 18:36:37 -05:00
Will Anderson
192528543f
feat: schema projections, command transactions, quantum-secure encryption
2026-04-27 18:26:46 -05:00
Will Anderson
69410a6908
feat: serve studio from engram-server — browser is the runtime, no Electron
2026-04-27 17:30:20 -05:00
Will Anderson
6601761cd9
feat: Engram sync layer — swarm memory protocol, peer delta sync, distributed activation
2026-04-27 17:18:51 -05:00
Will Anderson
2454c83e82
feat: HNSW index, consolidation engine, Kotlin/TS/Go bindings, SQLite migration connector
...
- vector.rs: replace flat O(n) scan with instant-distance HNSW for stores
>= 100 nodes; flat scan retained as fallback for small graphs; dirty-flag
persistence in sled triggers index rebuild only when nodes are added
- consolidation.rs: Episodic → Semantic promotion based on activation_count
and salience_floor thresholds; global decay pass after each cycle;
ConsolidationConfig + ConsolidationReport types; 8 tests
- migration.rs: reads Neuron SQLite (memory_nodes, knowledge_entries,
graph_edges) and writes to Engram sled; placeholder unit-vector embeddings
with TODO for ONNX; 5 tests including full in-memory DB roundtrip
- crates/engram-migrate: CLI binary (engram-migrate --sqlite / --output)
- crates/engram-jni: JNI cdylib exposing open/close/put_node/get_node/
activate/search_embedding/touch/decay/node_count/edge_count via
Java_ai_neuron_engram_EngramDb_* entry points; 6 tests
- bindings/kotlin: EngramDb.kt (AutoCloseable JNI wrapper), EngramNode,
EngramEdge, ActivatedNode, EngramTypes; build.gradle.kts; settings.gradle.kts
- bindings/typescript: engram-wasm crate (wasm-bindgen, serde-wasm-bindgen);
WasmEngramDb with in-memory backend (sled not available in WASM);
TypeScript wrapper (index.ts, types.ts, package.json, tsconfig.json)
- bindings/go: engram.go (CGo wrapper), engram.h (C header), engram_test.go
(4 tests covering open/close/put_node/get_node/node_count/decay); go.mod
- engram-core: wasm feature gate for in-memory backend; mem_storage.rs;
activation.activate_mem for WASM path; Node::with_id helper;
salience.rs doctest fixed (text block)
- examples/basic.rs: consolidation section added
- examples/migrate.rs: migration API demonstration
Build: cargo build --workspace -- zero warnings, zero errors
Tests: 38 pass (25 engram-core + 7 engram-ffi + 6 engram-jni)
2026-04-27 16:00:47 -05:00
Will Anderson
1a609502c8
init: Engram v0.1 — native memory substrate for accumulating intelligence
...
Memory is not stored and retrieved — it is activated and propagated.
Implements the spreading activation model with salience decay, typed edges,
four memory tiers, and flat cosine vector search over a sled embedded store.
2026-04-27 15:37:42 -05:00