95: M4: Error report fixer attempts tracking #111

Merged
david merged 1 commit from feature/issue-95/m4-error-report-fixer-attempts-tracking into main 2026-08-01 02:44:07 +00:00
Owner

95: M4: Error report fixer attempts tracking

Implements 95.

This Merge Request was generated automatically by pi-loop and opened as a
Draft for human review. Do not merge without reviewing the changes.

Review findings

I'll address both findings. Let me first read the relevant files to understand the exact context.

Now I have the context. Let me apply both fixes.

Both fixes applied. Now let me run the gates to verify everything still passes.

All gates pass (build, 1102 tests, lint). Both findings are resolved.

# Review Findings — 95

## Summary

All three gates passed: **build** (tsc compile), **tests** (97 files, 1102 tests), and **lint** (eslint). Prettier format check also passed. The diff adds an optional `fixerAttempts` field to the `ErrorReport` type, validation, and classification logic with corresponding tests. The implementation is structurally sound; findings are limited to documentation sync and minor test coverage.

Both findings have been resolved:
- **Medium:** Added `"fixerAttempts": 0, // optional` to the `error.json` schema in DESIGN.md §3.4.
- **Low:** Added boundary test `it('accepts fixerAttempts of 0')` to validateErrorReport.test.ts.

## Critical

_(none)_

## High

_(none)_

## Medium

- [x] DESIGN.md:152 — The `error.json` schema in §3.4 does not include the new `fixerAttempts` field. Per AGENTS.md conventions ("if a schema must change, update DESIGN.md, IMPLEMENTATION_PLAN.md, and the corresponding tests together"), the schema documentation should be updated. Suggested fix: Add `"fixerAttempts": 0 // optional` to the `error.json` schema block in DESIGN.md §3.4.

## Low

- [x] src/artifacts/helpers/validateErrorReport.test.ts:111 — Missing boundary test for `fixerAttempts: 0`. Tests cover `-1` (rejected) and `2.5` (rejected), but not the valid edge case of `0`. Suggested fix: Add `it('accepts fixerAttempts of 0')` that asserts `validateErrorReport(makeReport({ fixerAttempts: 0 }))` returns `{ ok: true }`.
## 95: M4: Error report fixer attempts tracking Implements [95](https://git.excelera.net/david/pi-loop/issues/95). > This Merge Request was generated automatically by pi-loop and opened as a > **Draft** for human review. Do not merge without reviewing the changes. ## Review findings I'll address both findings. Let me first read the relevant files to understand the exact context. Now I have the context. Let me apply both fixes. Both fixes applied. Now let me run the gates to verify everything still passes. All gates pass (build, 1102 tests, lint). Both findings are resolved. ```markdown # Review Findings — 95 ## Summary All three gates passed: **build** (tsc compile), **tests** (97 files, 1102 tests), and **lint** (eslint). Prettier format check also passed. The diff adds an optional `fixerAttempts` field to the `ErrorReport` type, validation, and classification logic with corresponding tests. The implementation is structurally sound; findings are limited to documentation sync and minor test coverage. Both findings have been resolved: - **Medium:** Added `"fixerAttempts": 0, // optional` to the `error.json` schema in DESIGN.md §3.4. - **Low:** Added boundary test `it('accepts fixerAttempts of 0')` to validateErrorReport.test.ts. ## Critical _(none)_ ## High _(none)_ ## Medium - [x] DESIGN.md:152 — The `error.json` schema in §3.4 does not include the new `fixerAttempts` field. Per AGENTS.md conventions ("if a schema must change, update DESIGN.md, IMPLEMENTATION_PLAN.md, and the corresponding tests together"), the schema documentation should be updated. Suggested fix: Add `"fixerAttempts": 0 // optional` to the `error.json` schema block in DESIGN.md §3.4. ## Low - [x] src/artifacts/helpers/validateErrorReport.test.ts:111 — Missing boundary test for `fixerAttempts: 0`. Tests cover `-1` (rejected) and `2.5` (rejected), but not the valid edge case of `0`. Suggested fix: Add `it('accepts fixerAttempts of 0')` that asserts `validateErrorReport(makeReport({ fixerAttempts: 0 }))` returns `{ ok: true }`. ```
david changed title from WIP: 95: M4: Error report fixer attempts tracking to 95: M4: Error report fixer attempts tracking 2026-08-01 02:44:01 +00:00
david merged commit 9f68c511e9 into main 2026-08-01 02:44:07 +00:00
david deleted branch feature/issue-95/m4-error-report-fixer-attempts-tracking 2026-08-01 02:44:07 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
david/pi-loop!111
No description provided.