Add maintainability sensors to Uncle Bob coding harness - #470
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c787230512
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| Record whether each sensor is clean, worse than baseline, unchanged, skipped, or | ||
| unavailable. Any applicable failing sensor blocks completion unless the human | ||
| explicitly accepts the risk. |
There was a problem hiding this comment.
Allow unchanged baseline sensor failures
When a repository already has a failing test, lint, type, or architecture sensor, this unconditional blocker prevents completion even if the result is unchanged from baseline, conflicting with the gauntlet's explicit allowance for pre-existing baseline failures. This makes routine work on repositories with known debt require human risk acceptance despite introducing no regression; block only sensors that are newly failing or worse than baseline. The diagnostics-aware copy contains the same issue.
Useful? React with 👍 / 👎.
Summary
Follow up on #469 by strengthening the bundled Uncle Bob coding-agent harness with maintainability sensors that cover cross-file and architectural risks, not just file/function-level checks.
This updates both the normal and diagnostics-aware harness prompts.
What changed
Why
The original harness from #469 already covered strong computational feedback such as tests, types, lint, coverage, mutation testing, property testing, real execution, and security/supply-chain checks. The main gap was maintainability across file and module boundaries.
Birgitta Böckeler's article notes that computational sensors work especially well at the file/function level, while modularity and coupling require semantic interpretation. It also highlights that guide-only instructions to check sensors are unreliable, and that final sensor status, baselines/trends, and sensor conflicts are useful parts of a coding harness.
This PR incorporates those ideas without adding backend-specific runtime behavior or a new sidecar subsystem; it keeps the change scoped to the existing harness prompts.
Verification
Source
Inspired by Birgitta Böckeler, “Maintainability sensors for coding agents” (Martin Fowler, May 27, 2026):
https://martinfowler.com/articles/sensors-for-coding-agents.html#ConclusionsAndOpenQuestions
Relevant sections include AI modularity review, Conclusions and open questions, and Integration with the coding harness.