Skip to content

T99: give the schema a forward path - #15

Merged
LeeJMorel merged 2 commits into
mainfrom
chore/t99
Sep 16, 2026
Merged

LeeJMorel merged 2 commits into
mainfrom
chore/t99

Conversation

@tomj12k

@tomj12k tomj12k commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

Tracked as T99 in the private Morelitea/security repository.

The finding, reasoning, verification, and review notes live there. This description is deliberately minimal because this repository is public.

Scope: the ordered schema-change contract, compatibility coverage, and documentation. This is the dependency for #14.

Verified: the exact head passes 296 tests, typecheck, production build, and hosted checks. Reviewers should use T99 / WI-31 in Morelitea/security for detail.

tomj12k and others added 2 commits September 12, 2026 10:52
Replaces the single schema fingerprint with an ordered list of named
steps, recorded one row per step. An unapplied step is applied; an
applied step can never change. Databases stamped by the previous scheme
are adopted in place, with their rows.

Adds a guard that refuses an unmarked data-destroying statement, and
tests covering both directions.

Details are tracked internally as T99 / WI-31.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D5xdKhPXJT4HMWwUyENiu1
Require each migration step to classify its data risk explicitly. Mark post-initial schemas so the previous single-fingerprint build refuses an unsafe rollback.
@tomj12k

tomj12k commented Sep 13, 2026

Copy link
Copy Markdown
Contributor Author

T99 exact-head follow-up is in 3b33566.

The behavior cases were captured before implementation and pass afterward. Final evidence: 18 focused schema cases, 296 full tests, typecheck, production build, and hosted checks pass. #14 uses this amended head.

Detailed findings, trade-offs, and uncertainties are recorded under private T99 / WI-31 in Morelitea/security.

@tomj12k

tomj12k commented Sep 16, 2026

Copy link
Copy Markdown
Contributor Author

Exact-head validation for 3b335660bcbfa09089779ea2b9681f2584bb8d45 is complete.

Landing order: merge #15 first, then #14. Merging #14 first would carry these commits transitively, but would make this separate PR redundant; do not deploy or merge the older #15 state after a database has advanced through #14.

@LeeJMorel
LeeJMorel merged commit 4395fe4 into main Sep 16, 2026
2 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.

2 participants