Skip to content

fix/exception-handling-contract#4

Merged
kuaukutsu merged 2 commits into
mainfrom
fix/exception-handling-contract
May 18, 2026
Merged

fix/exception-handling-contract#4
kuaukutsu merged 2 commits into
mainfrom
fix/exception-handling-contract

Conversation

@kuaukutsu

Copy link
Copy Markdown
Member

No description provided.

kuaukutsu and others added 2 commits May 18, 2026 10:13
Console::run() lets uncaught throwables propagate to Symfony's
Application::run() (the boundary handler) by design. Add the missing
@throws Exception docblock so the contract is explicit and psalm's
MissingThrowsDocblock passes.

Rewrite the VerifyCommand test that still pinned the removed
swallow-and-return-FAILURE behavior: an unexpected throwable now
propagates instead of being converted to Command::FAILURE.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Extract the duplicated InitializationException hint branch from
  Down/Up/Redo/Verify commands into support/MigratorExceptionReporter,
  so the hint text and condition live in one place. Behavior unchanged
  (same output, same Command::INVALID).
- Move the shared CommandOptions trait into the cmd\presentation\support
  namespace so the delivery helper is no longer a peer of concrete
  commands; update use statements in consumers and tests.
- Document that the limit>=0 predicate in CommandOptions is boundary
  transport normalization; the business rule owner is the core
  non-negative-int contract (core enforces it only via assert(), so the
  delivery guard must stay to preserve the command contract).
- BootstrapTest: assert exception type only, drop brittle
  expectExceptionMessage substring checks.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@kuaukutsu kuaukutsu self-assigned this May 18, 2026
@kuaukutsu kuaukutsu merged commit 4f0bb53 into main May 18, 2026
5 checks passed
@kuaukutsu kuaukutsu deleted the fix/exception-handling-contract branch May 18, 2026 07:33
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