Skip to content

SyncD: generate native collection tables in account folders - #692

Draft
michielbdejong wants to merge 2 commits into
codex/syncables-atomic-peerfrom
codex/syncables-atomic-tables
Draft

michielbdejong wants to merge 2 commits into
codex/syncables-atomic-peerfrom
codex/syncables-atomic-tables

Conversation

@michielbdejong

@michielbdejong michielbdejong commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

SyncD's Atomic peer now generates one owner-scoped drive with folders per platform/account and a native table per selected API collection. The CLI selects all configured collections by default; --collection and --collections select a subset.

Resolved OpenAPI item schemas seed native Classes and Properties, including columns for empty collections. Observed fields fill sparse schemas. Default views prioritize populated column representations and avoid duplicating a source title already used as the row name. Nested objects become linked resources and arrays become ordered resource arrays. Original JSON and JSON-AD wrappers stay in PostgreSQL; unsafe numbers use exact native text.

The native companion publishes the generated graph with persistent identities, property ownership and a durable publication journal. Updates preserve unrelated tables, absent members move out of current table membership, and restart replays the selected graph. Incoming writes remain refused.

Upgrade: use a fresh projection directory for this format. Existing wrapper experiments are not rewritten. Offline catch-up projects current accepted heads; intermediate source history remains in PostgreSQL. This does not install a continuous connection to an Atomic Server or implement import into another existing drive.

Validation: 1,829 TypeScript tests against PostgreSQL 17, seven native tests (including ordinary Atomic replica acceptance and interruption recovery), TypeScript lint/type/release build, Rust formatting/Clippy, and changelog/whitespace checks passed locally. An initial parallel run hit an unrelated five-second Git-history timeout; the isolated suite and a complete two-worker rerun passed. The final default-view adjustment passed targeted planner tests, lint, full typecheck, and release compilation.

A local real-data snapshot produced two account folders, tables with 21 GitHub issues and 111 Google Keep notes, and 10,089 native resources including nested values. Signed localhost reads verified all top-level row properties and both default views. This preview was applied over signed HTTP; continuous native replication is not configured. Browser rendering remains unverified because the browser session is signed out.

Stacked on #685; base is codex/syncables-atomic-peer. Please merge/rebase that prerequisite before retargeting this follow-up to main.

Claude-Session: codex://threads/01a16c93-853b-7362-94e6-c7287ee8a15e
Codex-Session: codex://threads/01a16c93-853b-7362-94e6-c7287ee8a15e

Michiel de Jong added 2 commits October 24, 2026 09:02
Project selected PostgreSQL heads into one owner-scoped drive with native schemas, typed values and linked nested resources. Keep original JSON in PostgreSQL and journal graph publication with stable native identities.

Claude-Session: codex://threads/01a16c93-853b-7362-94e6-c7287ee8a15e

Codex-Session: codex://threads/01a16c93-853b-7362-94e6-c7287ee8a15e
Keep exact-text numeric fields ahead of empty declared numeric representations and avoid duplicating the source title in the default view.

Claude-Session: codex://threads/01a16c93-853b-7362-94e6-c7287ee8a15e

Codex-Session: codex://threads/01a16c93-853b-7362-94e6-c7287ee8a15e

This branch has not been deployed

No deployments
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