Skip to content

🐛 Forbid linter/type-checker config relaxation in develop and fix-ci prompts (closes #89) - #91

Merged
monkut merged 1 commit into
mainfrom
feature/89-config-boundary-prompts
Apr 27, 2026
Merged

🐛 Forbid linter/type-checker config relaxation in develop and fix-ci prompts (closes #89)#91
monkut merged 1 commit into
mainfrom
feature/89-config-boundary-prompts

Conversation

@monkut

@monkut monkut commented Apr 27, 2026

Copy link
Copy Markdown
Owner

Summary

Closes #89.

  • Add a Configuration boundaries section to both DEVELOP_AGENT_PROMPT and FIXCI_AGENT_PROMPT (askcc/definitions.py) that explicitly forbids modifying linter/formatter/type-checker config files (pyproject.toml [tool.ruff]/[tool.pyright]/[tool.mypy], .ruff.toml, pyrightconfig.json, mypy.ini, .pre-commit-config.yaml, ESLint/Prettier configs) or adding inline suppression comments (# noqa, # type: ignore, # pyright: ignore, eslint-disable) to silence errors.
  • Document the narrow exceptions: when the originating issue explicitly requests a configuration/rule change, or a known third-party bug requires documented suppression with an explanatory comment.
  • Share the wording via a module-level CONFIG_BOUNDARIES_BODY constant (composed into DEVELOP_CONFIG_BOUNDARIES with the prose-style heading used by DEVELOP_AGENT_PROMPT, and into FIXCI_CONFIG_BOUNDARIES with the ## Section heading used by FIXCI_AGENT_PROMPT) so the two prompts cannot drift.
  • Add TestConfigBoundaryConstraints (9 tests) in tests/test_askcc.py asserting that both prompts contain the heading, the listed config files, the forbidden suppression comments, and the documented exceptions — plus a placement check that Configuration boundaries precedes ## Fixing Failures in the fix-ci prompt.

No runtime/API/schema changes — only the prompt strings sent to downstream Claude agents are modified.

Verification

  • uv run pytest — passed (195 tests, including the 9 new TestConfigBoundaryConstraints tests)
  • uv run ruff check — passed (no issues)
  • uv run pyright — passed (0 errors, 0 warnings)

Test plan

  • uv run pytest passes
  • uv run ruff check passes
  • uv run pyright passes
  • New TestConfigBoundaryConstraints test class covers develop + fix-ci prompts

…prompts (closes #89)

Add a `Configuration boundaries` section to both DEVELOP_AGENT_PROMPT and
FIXCI_AGENT_PROMPT that explicitly forbids modifying linter, formatter, or
type-checker configuration files (and inline suppression comments) to silence
errors. The wording is shared via a `CONFIG_BOUNDARIES_BODY` constant so the
two prompts stay in sync.
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.

develop and fix-ci prompts: never modify linter (ruff, pyright, etc.) configuration without explicit request

1 participant