The system SHALL enforce conventional commit-style PR titles by default.
- GIVEN a task PR is created or updated
- WHEN the title is non-conforming
- THEN the system auto-normalizes it to
feat(<type>): <issue title> - AND rejects submission if strict mode is enabled and normalization fails
The system SHALL ensure PR bodies include Closes #<issueId>.
- GIVEN a PR is created for an issue
- WHEN the PR is merged to main
- THEN the linked issue is auto-closed by GitHub
The system SHALL provide a --loose mode to bypass strict PR title enforcement.
- GIVEN a developer runs
task submit --loose - WHEN the PR title is non-conforming
- THEN the workflow proceeds without blocking