Skip to content

docs: add the roadmap for 5.4.0 and the 6.0 family - #31

Merged
CaffeinatedCoder merged 1 commit into
mainfrom
docs/roadmap
Sep 19, 2026
Merged

CaffeinatedCoder merged 1 commit into
mainfrom
docs/roadmap

Conversation

@CaffeinatedCoder

Copy link
Copy Markdown
Owner

Summary

Adds ROADMAP.md at the repository root and a pointer to it in CLAUDE.md. The document is a plan, not a promise: every item is marked Decided, Proposed or Open, and the decisions that are the maintainer's alone (the name, the EF Core 10/11 route) are marked as such.

What it covers, in order:

  • D0, ship first: temporal unique constraints and temporal foreign keys have no name-uniqueness validation today (only the length check), so a same-named pair scaffolds cleanly and fails at apply time. The fix is one name registry per target model across all kinds and native names, validated on the target model only.
  • 5.4.0 on EF Core 10: one generic descriptor differ replacing the four copies of the diff algorithm, then a delete constraint on PostgreSQL rendered as design-time SqlOperations (a row trigger raising check_violation with the constraint name set, so the application sees a violated check constraint).
  • 6.0.0, the family: rename under the reserved CodoMetis. prefix, split into a kernel and two provider packages, a plugin host built on EF's own options-extension pattern, a dialect seam, the translator moved to the kernel, snapshot format v2, the old ids deprecated with the alternate set, and the convention tests and CI that change.
  • EF Core 10 and 11: one codebase multi-targeting net10.0;net11.0, 6.0.0 on EF Core 10 first, the net11.0 target in the first 6.x after GA.
  • The name: a checked shortlist across three flavours, with CodoMetis.EFCore.Syntagma as the working name and the rejections recorded.
  • Horizon: row-level security policies, extended statistics, domain types, deferrable constraints, trigger templates, views and stored-procedure bodies, declarative partitioning (with a feasibility verdict and a spike gate), and hierarchy support, each with the reason it was set aside and what it needs from the foundation.

Root placement is deliberate: DocumentationApiTests scans only docs/, so the roadmap may name methods that do not exist yet, while DocumentationLinkTests still checks its links.

Test plan

  • DocumentationLinkTests, ClaudeMdConsistencyTests and ChangelogConsistencyTests pass locally (14 tests)
  • Full suite on CI

🤖 Generated with Claude Code

ROADMAP.md at the root: the temporal constraint-name validation to ship
first, the generic descriptor differ and the delete constraint for
5.4.0, the rename under the CodoMetis prefix and the split into a
kernel and provider packages for 6.0.0, the plugin host, snapshot
format v2, the EF Core 10/11 multi-target route, the name shortlist,
and the horizon items with the reasons each was set aside. Root
placement is deliberate: DocumentationApiTests scans only docs/, so
the roadmap may name methods that do not exist yet. CLAUDE.md points
at it.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
@CaffeinatedCoder
CaffeinatedCoder merged commit 0ad48f4 into main Sep 19, 2026
9 checks passed
@CaffeinatedCoder
CaffeinatedCoder deleted the docs/roadmap branch September 19, 2026 15:03
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