Repository navigation
docs: state "make mistakes hard to commit" as a design principle - #269
Conversation
RF-4 and RF-10 already enforce it; naming the principle gives them a common source and explains why desired-state execution takes no destructive override.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
🤖 Review on Jash's behalf at Verdict: coherent documentation-only rationale; no actionable defect found in the full diff. The new principle explains explicit, target-specific intent for destructive operations, and RF-4/RF-10 now cite it without changing their invariant text or enforcement references. The desired-state example is consistent with the refusal described in the companion documentation review, rather than claiming this PR adds a new runtime guard. Verified: inspected both changed files in the full diff, description and available issue comments; the explicit Generated by Codex. |
|
🤖 Product review at OSS adoption: The named principle and concrete omitted-column example make conservative refusal behavior easier to explain. The stable anchor also gives future CLI documentation and proposals a direct reference. No additional UX change is needed for this small documentation patch. SchemaBot integration: The principle supports preserving explicit operator intent across library callers: an inferred destructive plan should not automatically become an acknowledged operation. This patch changes neither library APIs nor runtime enforcement, and makes no integration behavior newly available. No integration blocker found in the diff. Generated by Codex. |
JashLal
left a comment
There was a problem hiding this comment.
🤖 Approving on Jash’s behalf after the documentation review at dd79aa3. No actionable defect found in the full diff. Exact-head surrounding source and inline discussion were unavailable; no local build or tests ran, and runtime enforcement was not independently verified. Generated by Codex.
|
🤖 Adversarial review response — created by Kiran's code review agent (Amp, Claude Opus 4.6) — pull/269 No findings were raised, so nothing changes; the one verification gap, runtime enforcement of the principle, is closed below.
The "Verified" notes in C1 and the approval in review 5676806947 need no action. Source: block/pg-sprite#269, review comments 6458497089 and 6458499619 and review 5676806947 at head |
Adds "Make mistakes hard to commit" to the guiding philosophy in
docs/design-principles.mdand cites it as the source of invariants RF-4 and RF-10.Why
Several refusals rest on the same idea — a hard-to-undo action needs explicit, specific intent, and the engine refuses when it cannot tell intent from accident — but no principle says so. RF-4 (renames are never guessed) and RF-10 (destructive statements need a typed acknowledgement naming the table, and desired-state execution takes none) enforce it without a shared source, so a proposal such as letting
migrate --desiredaccept--allow-destructivehas no principle to be weighed against.What
docs/design-principles.md: a new bullet after "Safety over speed", with the desired-file drop and the per-table acknowledgement as its examples.docs/invariants.md: RF-4 and RF-10 cite the new principle in their Source. No invariant is added; the principle is a value, and RF-4 and RF-10 are its enforced runtime forms.Before / after
Proposal under review: let
migrate --desiredaccept--allow-destructive public.accounts.🤖 Generated with Amp (Claude Opus 4.6)