Requirements Specifications

User Requirements (URS)

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

Functional Specifications (FS)

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

Non-Functional Specifications (NFS)

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

Design Specifications (DS) - Traceability

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

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

Evaluation Suites

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

Traceability Summary

  • URS: 8 user requirements (URS-001 to URS-008)
  • FS: 7 functional specifications (FS-01 to FS-07)
  • NFS: 4 non-functional specifications (NFS-01 to NFS-04)
  • DS: 14 design specifications covering kernel, DSL, theory, session, API, and support layers
  • Test Specs: 8 test suite specifications
  • Eval Suites: 10 evaluation suite specifications (100 total tasks)

Note: Test specifications define expected tests. Actual implementation and pass/fail status is tracked separately when code is written.