Skip to content

fix: preserve column defaults in schema analysis#610

Open
seonghobae wants to merge 1 commit into
mainfrom
fix/diff-column-defaults
Open

fix: preserve column defaults in schema analysis#610
seonghobae wants to merge 1 commit into
mainfrom
fix/diff-column-defaults

Conversation

@seonghobae

@seonghobae seonghobae commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • preserve column default metadata in schema snapshots so default-only changes are visible
  • make NOT NULL add-column safety warnings distinguish columns with and without defaults
  • report set, drop, and alter-default operations as explicit safe changes

Validation

  • 15 focused schema-diff and migration-safety tests passed
  • Ruff passed on the changed Python files
  • applied the DBML diff locally to Naruon's private email_records schema: source_lineage_json was detected as a non-destructive add-column change with has_default true

No schema snapshot was publicly shared; Naruon data remained local.

@opencode-agent opencode-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

OpenCode cannot approve yet because required coverage evidence did not pass.

Review outcome

1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence

  • Problem: The required coverage-evidence job result was failure, so OpenCode cannot establish approval sufficiency for this head.

  • Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.

  • Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports success with required evidence or explicit no-source not-applicable evidence.

  • Regression test: Keep the approval branch checking needs.coverage-evidence.result == success before posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present.

  • Result: REQUEST_CHANGES

  • Reason: coverage-evidence result was failure, so required test/docstring evidence was not proven for current head 3bda1ec63d722e26e9763c3df5d884f85de005c4.

  • Head SHA: 3bda1ec63d722e26e9763c3df5d884f85de005c4

  • Workflow run: 29764038069

  • Workflow attempt: 1

Coverage evidence

Coverage Decision

  • Result: FAIL
  • Test evidence: not proven passing
  • Docstring evidence: not proven passing when configured
  • Failure count: 1

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Backend (4 files)"]
  S1 --> I1["API and service runtime"]
  I1 --> R1["Review risk: Backend (4 files)"]
  R1 --> V1["backend tests"]
Loading

@opencode-agent

Copy link
Copy Markdown
Contributor

OpenCode Review Overview

  • Head SHA: 3bda1ec63d722e26e9763c3df5d884f85de005c4
  • Workflow run: 29764038069
  • Workflow attempt: 1
  • Gate result: REQUEST_CHANGES (approval step)

Pull request overview

OpenCode cannot approve yet because required coverage evidence did not pass.

Review outcome

1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence

  • Problem: The required coverage-evidence job result was failure, so OpenCode cannot establish approval sufficiency for this head.

  • Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.

  • Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports success with required evidence or explicit no-source not-applicable evidence.

  • Regression test: Keep the approval branch checking needs.coverage-evidence.result == success before posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present.

  • Result: REQUEST_CHANGES

  • Reason: coverage-evidence result was failure, so required test/docstring evidence was not proven for current head 3bda1ec63d722e26e9763c3df5d884f85de005c4.

  • Head SHA: 3bda1ec63d722e26e9763c3df5d884f85de005c4

  • Workflow run: 29764038069

  • Workflow attempt: 1

Coverage evidence

Coverage Decision

  • Result: FAIL
  • Test evidence: not proven passing
  • Docstring evidence: not proven passing when configured
  • Failure count: 1

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Backend (4 files)"]
  S1 --> I1["API and service runtime"]
  I1 --> R1["Review risk: Backend (4 files)"]
  R1 --> V1["backend tests"]
Loading

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