Skip to content

feat: complete TS/Python parity — session store + full research package (53 tests)#620

Merged
jayscambler merged 1 commit intomainfrom
feat/ts-full-parity
Apr 4, 2026
Merged

feat: complete TS/Python parity — session store + full research package (53 tests)#620
jayscambler merged 1 commit intomainfrom
feat/ts-full-parity

Conversation

@jayscambler
Copy link
Copy Markdown
Contributor

Summary

Closes all remaining TS/Python parity gaps. 7 new modules, 53 new tests, 1,131 lines.

Parity Matrix — Complete

Session Package (11 modules each)

Module Python TS Tests (Py/TS)
types 12 / 8
store NEW — / 6
context_pressure 13 / 12
coordinator 15 / 13
supervisor 13 / 8
memory_consolidation 13 / 8
skill_registry 11 / 7
progress_digest 8 / 5
action_labels 9 / 6
remote_bridge 12 / 11
living_docs 7 / 5

Research Package (6 modules each)

Module Python TS Tests (Py/TS)
types NEW 10 / 7
runtime NEW 7 / 7
consultation NEW 10 / 9
persistence NEW 7 / 7
prompt_wiring NEW 8 / 8
evaluation NEW 9 / 9

17 Python modules ↔ 17 TS modules. Full parity.

Verification

  • tsc --noEmit — zero errors
  • 136/136 TS tests pass (83 existing + 53 new)
  • All existing session tests still pass

@jayscambler jayscambler force-pushed the feat/ts-full-parity branch from 678dde2 to a972c8c Compare April 4, 2026 16:23
Closes all parity gaps between Python and TypeScript:

session/store.ts (6 tests)
  SQLite-backed SessionStore matching Python's session/store.py.
  Added toJSON/fromJSON to Session and Turn for round-trip serde.

research/types.ts (7 tests)
  ResearchQuery, Citation, ResearchResult, ResearchConfig, Urgency.
  Full serde support via toJSON/fromJSON.

research/runtime.ts (7 tests)
  ResearchEnabledSession: adapter attachment, budget, events, history.

research/consultation.ts (9 tests)
  ResearchBrief value object + ResearchConsultant domain service.
  Confidence filtering, citation dedup, markdown rendering.

research/persistence.ts (7 tests)
  ResearchStore: JSON-file-backed brief persistence with manifest.

research/prompt-wiring.ts (8 tests)
  ResearchPromptInjector: format briefs for LLM context injection.

research/evaluation.ts (9 tests)
  EvalResult, BatchSummary, ResearchEvaluator: A/B comparison.

Total: 7 new modules, 53 new tests. Combined with existing session
modules: 17 TS modules with 136 tests matching 17 Python modules.
Full cross-language parity achieved.
@jayscambler jayscambler force-pushed the feat/ts-full-parity branch from a972c8c to cc471f8 Compare April 4, 2026 20:04
@jayscambler jayscambler merged commit 27d8c80 into main Apr 4, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant