| ID | Title | Traces to FS | Traces to NFS |
|---|---|---|---|
| URS-001 | System Purpose - Geometric Operating System for neuro-symbolic reasoning | FS-01, FS-02 | NFS-01 |
| URS-002 | Stakeholders and Usage Context | FS-06 | - |
| URS-003 | Geometric Knowledge Representation | FS-01, FS-05 | NFS-01 |
| URS-004 | DSL Requirements (SpockDSL) | FS-03 | NFS-02 |
| URS-005 | Theory and Context Management | FS-04 | NFS-02 |
| URS-006 | Implementation Platform (Node.js) | FS-01 | NFS-01, NFS-04 |
| URS-007 | LLM Interface | FS-06 | NFS-03 |
| URS-008 | Explainability and Evaluation | FS-07 | NFS-03 |
| ID | Summary | Traces from URS |
|---|---|---|
| FS-01 | Core Conceptual Model - @name declarations, facts, concepts, theories, verbs, sessions | URS-001, URS-003, URS-006 |
| FS-02 | Verb Taxonomy and Constraints - Kernel, logical, domain-specific, theory management, numeric | URS-001 |
| FS-03 | SpockDSL Syntax and Macro Semantics | URS-004 |
| FS-04 | Theories, Sessions, Overlays and Versions | URS-005 |
| FS-05 | Numeric Data Types and Units | URS-003 |
| FS-06 | Public API - createSpockEngine, sessions, learn/ask/prove/explain/plan/solve/summarise | URS-002, URS-007 |
| FS-07 | Explainable Outputs and Evaluation Format | URS-008 |
| ID | Title | Traces from URS |
|---|---|---|
| NFS-01 | Performance and Resource Usage | URS-001, URS-003, URS-006 |
| NFS-02 | Testability and Modularity | URS-004, URS-005 |
| NFS-03 | Explainability and Observability | URS-007, URS-008 |
| NFS-04 | Deployment and Configuration | URS-006 |
Each DS document specifies implementation details and traces back to functional and non-functional requirements.
| Component | DS Document | Implements FS | Implements NFS |
|---|---|---|---|
| Kernel Layer | |||
| VectorSpace | vectorSpace.js | FS-01 | NFS-01 |
| PrimitiveOps | primitiveOps.js | FS-01, FS-02 | NFS-01 |
| NumericKernel | numericKernel.js | FS-05 | NFS-01 |
| DSL Engine Layer | |||
| Tokenizer | tokenizer.js | FS-03 | NFS-02 |
| Parser | parser.js | FS-03 | NFS-02, NFS-03 |
| DependencyGraph | dependencyGraph.js | FS-03 | NFS-02 |
| Executor | executor.js | FS-01, FS-03, FS-07 | NFS-02, NFS-03 |
| Theory Management Layer | |||
| TheoryStore | theoryStore.js | FS-04 | NFS-02, NFS-04 |
| TheoryVersioning | theoryVersioning.js | FS-04 | NFS-02 |
| Session & API Layer | |||
| SessionManager | sessionManager.js | FS-01, FS-04 | NFS-02 |
| EngineFactory | engineFactory.js | FS-06 | NFS-04 |
| SessionApi | sessionApi.js | FS-06, FS-07 | NFS-03 |
| Support Layer | |||
| TraceLogger | traceLogger.js | FS-07 | NFS-03 |
| Config | config.js | FS-01 | NFS-04 |
| ProjectionService | projectionService.js | FS-01 | - |
| VizApi | vizApi.js | FS-06 | NFS-04 |
Test specifications define expected test cases. Implementation status is tracked separately.
| Test Suite | Spec Document | Tests DS | Test Style |
|---|---|---|---|
| Test Runner | run.js | Orchestration | Developer |
| VectorSpace | vectorSpace.test.js | vectorSpace.js | Pure unit |
| PrimitiveOps | primitiveOps.test.js | primitiveOps.js | Pure unit |
| NumericKernel | numericKernel.test.js | numericKernel.js | Pure unit |
| Tokenizer | tokenizer.test.js | tokenizer.js | Pure unit |
| Parser | parser.test.js | parser.js | Mostly unit |
| DependencyGraph | dependencyGraph.test.js | dependencyGraph.js | Pure unit |
| Executor | executor.session.test.js | executor.js | Integration |
Deterministic evaluation suites for testing reasoning capabilities. Each suite contains 10 tasks.
| Suite | Spec Document | Goal | Primary FS |
|---|---|---|---|
| 01 | 01-basic-logic | Basic logical operations (And, Implies, Evaluate) | FS-02, FS-03 |
| 02 | 02-transitivity-syllogism | Transitivity and syllogisms | FS-02, FS-03 |
| 03 | 03-numeric-quantities | Numeric handling with units | FS-05 |
| 04 | 04-physics-gravity | Physical reasoning | FS-05 |
| 05 | 05-planning-linear | Linear planning | FS-02, FS-06 |
| 06 | 06-explanation-causality | Causal chains and abduction | FS-02, FS-07 |
| 07 | 07-puzzle-solving | Constraint satisfaction | FS-02, FS-06 |
| 08 | 08-theory-versioning | Theory branching/merging | FS-04 |
| 09 | 09-summarisation-detail | Summarisation and detail | FS-02, FS-06 |
| 10 | 10-mixed-reasoning | Mixed reasoning scenarios | FS-02, FS-05, FS-06 |
Note: Test specifications define expected tests. Actual implementation and pass/fail status is tracked separately when code is written.