Land on-call-rota, three more migrations, and the writ#19 follow-up on main - #14
Merged
Merged
Conversation
Six weeks, four people, leave, a new joiner, at most two weeks each — the cap carried by a scale whose top has no `up`, so a third week is absent. A rota exists and the witness is the rota; ten in all, read out by derive as rows. Handing over straight into one's own leave is a gap: the policy is silent. Giving Cat week 1 strands the planner at that gap. One more rule (not the week you come back) and no rota exists unless the gap is answered yes. Cross-check 55 -> 57 properties (55 compared); 280 checks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…d a foreign key change-an-enum: widening the CHECK is instant; the first WRITE of the new value is the migration, and the shortcut writes it while r1 still reads. split-a-table: dual write and backfill; the shortcut switches reads once the backfill has started — five steps, the longest route in the collection. add-a-foreign-key: NOT VALID spares the old rows, not the running code; adding it mid-rollout makes the old release's deletes fail, in two steps. writ sql reads CHECK … IN as an enum and REFERENCES as an arrow, as planned; it reads NOT VALID as a plain foreign key (identical output, --strict accepts it) while declining VALIDATE CONSTRAINT — asserted as found. The parent README's "the shortcut is always shorter" is now what was measured: shorter in two of six, never longer. Cross-check 57 -> 63 properties (61 compared); 305 checks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…w, NOT VALID declined Assertions and READMEs that recorded the old behaviour now record the new: - agent-guardrails: the cheat that deletes `out` makes check exit 1 (was 0); - compare reports a law declared in both and broken in the new model as LOST with its route (rename-a-column's "the verb that does NOT catch it", drop, add-required, expense-approval, entitlement-problems, git-compare's one-capture); the migration READMEs no longer say compare is the wrong gate; - add-a-foreign-key: writ sql declines NOT VALID (exit 1 under --strict) and VALIDATE CONSTRAINT, each with its reason. Needs writ with branch writ-gaps; 306 checks against it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
follow writ#19: n/a is a finding, compare loses a broken law, NOT VALID declined
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lands the stack on
main. #12 and #13 were merged into their stacked bases (on-call-rotaanddb-migration-problems-2), and #11 never merged, so none of them reachedmain. This branch holds all three:mainneeds this for writ-lang/writ#19's downstream check, which runs writ-problemsmainagainst the patched writ. The same pairing passed in writ run 37143489048 (problems_ref=follow-writ-gaps). Supersedes #11.🤖 Generated with Claude Code