Skip to content

feat(v2): Phase 2 — records (schema-version-pinned rows, validated bulk-upsert, references view)#227

Merged
JonnyTran merged 12 commits into
developfrom
feat/v2-records
Jul 7, 2026
Merged

feat(v2): Phase 2 — records (schema-version-pinned rows, validated bulk-upsert, references view)#227
JonnyTran merged 12 commits into
developfrom
feat/v2-records

Conversation

@JonnyTran

Copy link
Copy Markdown
Member

Phase 2 of 6 — v2 Records

Rebased onto develop after Phase 1 (#219) squash-merged. Contains only Phase 2 (records) — Phase 1 commits dropped as already-upstream, so this is a clean, conflict-free squash.

Adds the v2 record entity — one typed row pinned to a schema_version, carrying the cross-schema reference join key and Pandera-validated fields JSONB:

  • V2Record ORM (v2_records) + V2RecordStatus enum + alembic migration (chains onto Phase 1's 9f3010c649c8)
  • Validated bulk-upsert (POST /api/v2/schemas/{id}/records:bulk-upsert, all-or-nothing 422), paginated list, bulk delete
  • GET /api/v2/references/{reference:path} cross-schema document view
  • Record-scoped authz on SchemaPolicy
  • Spec §14 reconciliation (kind removed, permissive JSONB, as-built naming, future-work ledger)

Plan: docs/superpowers/plans/2026-07-03-v2-records.md. 55 v2 tests green.

Note: original PR #225 accidentally merged into feat/v2-schema-registry instead of develop; this replaces it. feat/v2-schema-registry can be deleted after this lands.

JonnyTran added 12 commits July 6, 2026 23:21
Also surfaces the specific 'No record IDs provided' 422 on empty delete ids
(roborev job 70: the post-parse length check was unreachable).
…itions and record write process

- Clarified table names and purposes for `schemas`, `schema_versions`, and `v2_records`.
- Enhanced the description of the record write process, emphasizing validation and error handling.
- Updated API endpoint descriptions for schemas, schema versions, and records to reflect recent changes.
@JonnyTran JonnyTran requested a review from a team as a code owner July 7, 2026 06:23
@vercel

vercel Bot commented Jul 7, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
extralit-frontend Ignored Ignored Jul 7, 2026 6:23am

@JonnyTran JonnyTran merged commit 3653171 into develop Jul 7, 2026
4 checks passed
@JonnyTran JonnyTran deleted the feat/v2-records branch July 7, 2026 06:25
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