Skip to content

🐛 Make the Dependencies readiness check advisory instead of blocking - #117

Merged
monkut merged 1 commit into
mainfrom
fix/develop-dependencies-check-advisory
Jul 31, 2026
Merged

🐛 Make the Dependencies readiness check advisory instead of blocking#117
monkut merged 1 commit into
mainfrom
fix/develop-dependencies-check-advisory

Conversation

@monkut

@monkut monkut commented Jul 31, 2026

Copy link
Copy Markdown
Owner

Problem

askcc develop exited 1 when an issue body lacked a ## Dependencies section, even when the issue had no dependencies.

_has_dependencies_section() is a heading regex (## Dependencies|Prerequisites|Context|Blockers) that never inspects the section's contents. The prepare and plan prompts instruct agents to always emit the heading — writing "None identified." when there are none — so the check gated on whether an agent had processed the issue, not on development readiness. Hand-written issues that skipped prepare/plan hit an exit 1 whose message ("No dependencies/context section found") read as "you have unlisted dependencies".

Change

The dependencies check still runs and still appears in the report — it just no longer affects an exit code.

  • CheckResult gains advisory: bool = False (askcc/functions.py:306); the dependencies check sets advisory=True.
  • _checks_passed() in askcc/cli.py ignores advisory checks. Both gates use it: the validate exit code and the develop pre-flight.
  • _check_status() renders a failing advisory check as WARN; the report tallies blocking checks only.

Issue with acceptance criteria + assignee, no ## Dependencies:

Validation Report: <url>
------------------------------------------------------------
  [PASS] Acceptance criteria: Clear acceptance criteria found
  [WARN] Dependencies identified: No dependencies/context section found
  [PASS] Assignee confirmed: Assigned to: dev1
  [PASS] No blocking labels: No blocking labels found
------------------------------------------------------------
Result: PASS (3/3 blocking checks passed)

Docs corrected

The plan agent prompt (askcc/definitions.py:173) and the bundled handle-github-issue skill both asserted "develop rejects the issue otherwise" for the Dependencies heading. Now scoped to acceptance criteria and assignee, with the heading described as advisory but still expected from a planned issue. SKILL.md labels each check blocking/advisory and its sample report shows WARN. README rows for validate and the gating mechanisms updated.

Test plan

  • uv run pytest — 284 passed (3 new)
  • uv run poe check — ruff clean
  • test_dependencies_check_is_advisory — only the dependencies check carries advisory=True
  • test_validate_exits_zero_when_only_dependencies_missing — exit 0, [WARN] line, 3/3 blocking checks passed
  • test_develop_proceeds_when_only_dependencies_missing — runner invoked despite the failing advisory check
  • Existing test_validate_exits_one_on_fail and test_develop_fails_on_validation_failure still fail as expected on blocking checks

Version bumped to 0.2.15.

`develop` exited 1 when an issue body lacked a `## Dependencies` heading,
even when the issue genuinely had no dependencies. The check is a heading
regex that never inspects the section contents, so it gated on whether
prepare/plan had run rather than on development readiness.

- Add `advisory` to `CheckResult`; mark the dependencies check advisory
- `_checks_passed()` ignores advisory checks for both the `validate` exit
  code and the `develop` pre-flight
- Report renders a failing advisory check as `WARN` and tallies only
  blocking checks
- Update the plan prompt, bundled skill, and README to match

@monkut monkut left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

increment uv.lock with appropriate version

@monkut
monkut merged commit 9805964 into main Jul 31, 2026
@monkut monkut mentioned this pull request Jul 31, 2026
2 tasks
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