Skip to content

Slice #60: fail-closed finalize quality gate with structured errors#66

Merged
AmirTlinov merged 1 commit intomainfrom
builder/60-finalize-quality-gate
Feb 24, 2026
Merged

Slice #60: fail-closed finalize quality gate with structured errors#66
AmirTlinov merged 1 commit intomainfrom
builder/60-finalize-quality-gate

Conversation

@AmirTlinov
Copy link
Copy Markdown
Owner

Closes #60

Summary

  • enforce fail-closed finalize checklist: required scope, findings, and qa sections, with explicit qa.verdict
  • keep draft workflow flexible: finalize checks are enforced only on Draft -> Finalized transition
  • return structured actionable finalize validation errors (missing_sections, missing_fields, invalid_refs)
  • validate ref integrity at finalize and block stale/broken anchors with section/ref/path/line details
  • update README with finalize checklist and error details (EN/RU)

Tests

  • domain finalize gate tests (positive + negative)
  • integration tests for missing sections/fields, stale refs, and draft flexibility
  • e2e test for structured finalize validation details + existing finalize success path updated

Required gates (local)

  • cargo fmt --check
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo test --all-targets --all-features
  • scripts/check_coverage_baseline.sh
  • cargo audit

@AmirTlinov
Copy link
Copy Markdown
Owner Author

@review review

@AmirTlinov
Copy link
Copy Markdown
Owner Author

@review review\n\nSecond pass request after green required gates.

@AmirTlinov
Copy link
Copy Markdown
Owner Author

@review review\n\nThird/final request in this execution window. If no response, marking BLOCKED on review availability.

@AmirTlinov
Copy link
Copy Markdown
Owner Author

Review loop verdict: BLOCKED.

Reason: no response from @review review after 3 deterministic attempts in this execution window:

  1. Slice #60: fail-closed finalize quality gate with structured errors #66 (comment)
  2. Slice #60: fail-closed finalize quality gate with structured errors #66 (comment)
  3. Slice #60: fail-closed finalize quality gate with structured errors #66 (comment)

No merge/close actions taken.

@AmirTlinov
Copy link
Copy Markdown
Owner Author

VERDICT: PASS

Scope checked: issue #60 only (README.md, src/adapters/mcp_stdio/error_contract.rs, src/app/input_usecases.rs, src/domain/errors.rs, src/domain/models.rs, tests/e2e.rs, tests/integration_test.rs).

Rationale (concise):

  • Finalize is fail-closed for required baseline quality (scope, findings, qa.verdict).
  • Finalize blocks stale/broken refs and returns structured, actionable details (missing_sections, missing_fields, invalid_refs).
  • Draft flows remain unaffected until finalize transition.
  • No scope creep into Slice: actionable expected_revision conflict diagnostics #62 semantics (revision_conflict contract unchanged).

Validation run:

  • cargo fmt --check
  • cargo test --all-targets --all-features
    Both passed on PR branch.

@AmirTlinov AmirTlinov merged commit 586cbf5 into main Feb 24, 2026
1 check passed
@AmirTlinov AmirTlinov deleted the builder/60-finalize-quality-gate branch February 24, 2026 01:10
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.

Slice: fail-closed finalize gate (minimal lint + ref integrity)

1 participant