Since we're leaning heavily on AI and moving pretty fast, we should make sure we take time to invest in more robust test coverage. A quick scan of our test infra gives this overview :
Test Infrastructure Overview
Framework: Jest + TypeScript
Convention: .spec.ts = unit tests (offline),
.test.ts = integration tests (require API keys)
Root scripts: pnpm run test:local, test:live,
shell:test
Note: Tests run against compiled output in
dist/test/ — you must build first.
Packages WITH Tests
┌───────────────┬───────────────────────────┐
│ Package │ What's Covered │
├───────────────┼───────────────────────────┤
│ │ NFA/DFA compiler, grammar │
│ actionGrammar │ merging, terminal │
│ │ symbols, schema parsing │
├───────────────┼───────────────────────────┤
│ │ TypeScript → JSON Schema │
│ actionSchema │ conversion, type │
│ │ validation │
├───────────────┼───────────────────────────┤
│ cache │ LLM call caching, │
│ │ hit/miss logic │
├───────────────┼───────────────────────────┤
│ │ Action routing, │
│ dispatcher │ input→agent matching, │
│ │ type validation │
├───────────────┼───────────────────────────┤
│ knowPro │ RAG, conversational │
│ │ memory, semantic search │
├───────────────┼───────────────────────────┤
│ │ Individual agent action │
│ agents/* │ handlers (player, │
│ │ calendar, email, list, │
│ │ browser, weather) │
├───────────────┼───────────────────────────┤
│ cli │ Argument parsing, command │
│ │ execution │
├───────────────┼───────────────────────────┤
│ shell │ Electron GUI (via │
│ │ shell:test) │
├───────────────┼───────────────────────────┤
│ testLib │ Shared test utilities and │
│ │ mock factories │
└───────────────┴───────────────────────────┘
Packages With NO Tests
These have zero test files:
- agentRpc — RPC communication protocol between
dispatcher and agents
- agentServer / api — Server infrastructure
- chat-ui — Chat UI components
- codeProcessor / coderWrapper — Code
generation
- schemaAuthor / actionSchemaCompiler — Schema
authoring tools
- knowledgeVisualizer / kp / textPro —
Knowledge/text processing
- uriHandler, interactiveApp, montage,
cacheExplorer
Notable Gaps
- IPC/RPC layer (agentRpc) — No tests for the
communication protocol between dispatcher and
agents, which is critical infrastructure
- Server layer — agentServer and api have no
coverage; server startup, routing, auth are
untested
- UI components — chat-ui has no automated
tests
- Schema tooling — Compiler/authoring tools
are untested despite being part of the
development workflow
- Error/edge case paths — Integration tests
require live API keys, so CI likely skips them
entirely, leaving a gap between unit tests and
real behavior
- End-to-end flows — No apparent e2e tests
that simulate a full user request through
dispatcher → agent → response
Since we're leaning heavily on AI and moving pretty fast, we should make sure we take time to invest in more robust test coverage. A quick scan of our test infra gives this overview :
Test Infrastructure Overview
Framework: Jest + TypeScript
Convention: .spec.ts = unit tests (offline),
.test.ts = integration tests (require API keys)
Root scripts: pnpm run test:local, test:live,
shell:test
Note: Tests run against compiled output in
dist/test/ — you must build first.
Packages WITH Tests
┌───────────────┬───────────────────────────┐
│ Package │ What's Covered │
├───────────────┼───────────────────────────┤
│ │ NFA/DFA compiler, grammar │
│ actionGrammar │ merging, terminal │
│ │ symbols, schema parsing │
├───────────────┼───────────────────────────┤
│ │ TypeScript → JSON Schema │
│ actionSchema │ conversion, type │
│ │ validation │
├───────────────┼───────────────────────────┤
│ cache │ LLM call caching, │
│ │ hit/miss logic │
├───────────────┼───────────────────────────┤
│ │ Action routing, │
│ dispatcher │ input→agent matching, │
│ │ type validation │
├───────────────┼───────────────────────────┤
│ knowPro │ RAG, conversational │
│ │ memory, semantic search │
├───────────────┼───────────────────────────┤
│ │ Individual agent action │
│ agents/* │ handlers (player, │
│ │ calendar, email, list, │
│ │ browser, weather) │
├───────────────┼───────────────────────────┤
│ cli │ Argument parsing, command │
│ │ execution │
├───────────────┼───────────────────────────┤
│ shell │ Electron GUI (via │
│ │ shell:test) │
├───────────────┼───────────────────────────┤
│ testLib │ Shared test utilities and │
│ │ mock factories │
└───────────────┴───────────────────────────┘
Packages With NO Tests
These have zero test files:
dispatcher and agents
generation
authoring tools
Knowledge/text processing
cacheExplorer
Notable Gaps
communication protocol between dispatcher and
agents, which is critical infrastructure
coverage; server startup, routing, auth are
untested
tests
are untested despite being part of the
development workflow
require live API keys, so CI likely skips them
entirely, leaving a gap between unit tests and
real behavior
that simulate a full user request through
dispatcher → agent → response