HOK-1597_c: Make readiness policies repo-scoped with conservative defaults#571
HOK-1597_c: Make readiness policies repo-scoped with conservative defaults#571timogilvie wants to merge 1 commit intoauto/integrationfrom
Conversation
Default ready checks are now universal-only (ci-status, merge-conflict). Domain-specific checks (migration chain, forbidden DDL, reversibility) are opt-in via ready.checks config. Add migrationKind field to gate migration checks by framework (alembic/sql/none) — unsupported kinds produce skip not fail. requiredChecks now controls blocking behavior: non-required failures become warnings instead of blocking merge. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Challenge comparison for Primary used gpt-5.5 (planner) + gpt-5.3-codex (coder) + claude-sonnet-4-6 (reviewer) vs Challenger used gpt-5.5 (planner) + claude-opus-4-6 (coder) + claude-sonnet-4-6 (reviewer) Recommended winner: primary (gpt-5.3-codex) Primary addresses three task-critical requirements that challenger misses: (1) universal defaults include |
|
Closing after challenge comparison. Recommended winner: gpt-5.3-codex |
Summary
.wavemill-config.jsonunder thereadykey, opting in to framework-specific checks (migration chain integrity, forbidden DDL, reversibility) only when neededskip/warninstead of failing with a parse error — e.g.,migration-reversibilityskips gracefully for SQL migrationsshared/lib/forbidden-ddl-analyzer.pyin every managed repoChanges
shared/lib/config.ts— AddedgetReadyConfig()to parsereadyblock from.wavemill-config.json;DEFAULT_READY_CHECKSconstant for universal-only fallbackshared/lib/ready-stage.ts— Reads per-repo ready config; passesmigrationKind/migrationPatternsto checkers; migration checkers skip instead of failing for unsupported kinds; DDL analyzer resolved from install pathwavemill-config.schema.json— Addedreadyblock schema:checks,requiredChecks,migrationKind,migrationPatternsdocs/ready-stage.md— Updated to document the new repo-scoped policy model, opt-in checks, and config examplesdocs/mill-mode.md— Minor reference update.wavemill-config.json— Wavemill's own config updated to use conservative defaultsTest plan
shared/lib/ready-stage.test.ts— Extended with tests covering: default check list, per-repo config override, migration-kind-aware skip behavior, DDL analyzer path resolutionshared/lib/config.test.ts— Tests forgetReadyConfig()parsing and defaultsSelf-review
review-changes.ts auto/integration --json --operating-mode normalconfig.ts:853—checks:[]edge case has unintuitive behavior (advisory-only mode); documented as known limitationready-stage.ts:1792— Names inrequiredChecksbut not inchecksare silently absent; operator UX improvement deferred to follow-up