Skip to content

Extract Collector Store seam#6

Merged
Amorpheuz merged 2 commits into
mainfrom
codex/store-seam
Jul 14, 2026
Merged

Extract Collector Store seam#6
Amorpheuz merged 2 commits into
mainfrom
codex/store-seam

Conversation

@Amorpheuz

Copy link
Copy Markdown
Member

Summary

  • introduce a small Store module that owns SQLite connections, write serialization, canonical Event inserts, and Event row conversion
  • move shared timestamp behavior into timeutil and rewire Collector readers and writers through the new seams
  • consolidate database test setup, enforce the private-member boundary with Ruff, and add reproducible local/CI checks
  • pin GitHub Actions to immutable commit SHAs

Why

Collector persistence behavior was spread across db.py, analytical modules, and tests. That made transaction ownership unclear, allowed private database helpers to leak across modules, and left local and CI validation inconsistent.

This change implements the Store boundary described by ADR-0001 while preserving the existing schema and response behavior.

Impact

Contributors get one explicit persistence boundary: analytical readers retain SQL ownership, while mutations go through serialized Store write transactions. Runtime API, Session, Event, Origin, ingest, and Insights behavior remain unchanged.

Validation

  • 135 passed on Python 3.12
  • ruff check backend
  • Store structural acceptance checks
  • parallel standards and specification review with no blocking findings
  • workflow YAML parse check

Follow-up

  • Mark collector-checks as required in the default branch ruleset after this workflow first runs.

@Amorpheuz
Amorpheuz marked this pull request as ready for review July 14, 2026 14:08
@Amorpheuz
Amorpheuz merged commit 8d035a0 into main Jul 14, 2026
1 check passed
@Amorpheuz
Amorpheuz deleted the codex/store-seam branch July 14, 2026 14:10
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