fix(reports): bind copied fixes to findings and route manual fixes without callbacks - #39
fix(reports): bind copied fixes to findings and route manual fixes without callbacks#39sxyseo wants to merge 3 commits into
Conversation
Review: scope creep beyond the two specsThe core HTML callback binding work ( 1.
|
|
Thanks for the detailed review. I checked each point against the current branch and the two specs. I agree that the trigger-surface rewrite and the Step 5 deletion are out of scope, that the current manual-fix predicate is too broad, and that the callback-less interaction is a real regression. A few facts I verified:
I propose the following full fix, with the specs moved back to Draft before implementation:
Could you confirm that this is the intended contract?
If that matches your expectation, I will update the two specs first and implement against those ACs. |
90c1980 to
a1e02e9
Compare
|
Implemented the full solution from the review and rebased the branch onto current The review points are addressed as follows:
Validation is green in GitHub Actions on Ubuntu Node 22, Ubuntu Node 24, macOS Node 22, and Windows Node 22: https://github.com/QoderAI/better-harness/actions/runs/30645033164. Focused Skill, HTML interaction/render, doc-link, secret-scan, package verification, and local/HTTP Playwright checks also pass. Could you please confirm that this matches the full approach you requested, particularly the narrow manual route and copy-time callback derivation, and re-review the PR? |
Derive finding-bound callbacks at copy time from a validated workspace-relative report route. Preserve raw reviewed prompts for context-free, moved, and HTTP reports, omit actions for empty prompts, and keep renderer-added absolute paths out of interaction payloads. Spec: docs/specs/2026-07-30-html-finding-fix-callback.md Test: focused HTML interaction/render suites, Playwright local and HTTP flows, npm test, and pack verification Risk: malformed declared bindings fail closed; local symlink fixtures remain permission-limited
Route only explicit leading fix directives to callback-free manual repair while preserving the established review triggers, mixed review behavior, report-state boundary, and independent post-fix reassessment. Spec: docs/specs/2026-07-30-manual-direct-fix-routing.md Test: Better Harness Skill contract and documentation graph suites Risk: the root Skill remains below its 12,000-byte prompt budget
Treat a zero device id from one Windows stat observation as unavailable when the non-zero inode still matches. Continue rejecting different non-zero devices or inodes and preserve the metadata fallback when inode identity is unavailable. Spec: docs/specs/2026-07-31-windows-file-identity.md Test: secret-scan suite and full Windows repository suite Risk: symlink and containment checks remain fail-closed
a1e02e9 to
816e457
Compare
Summary
This PR now implements the full follow-up solution requested in review, rebased onto current
main(92a7e74):fix(reports): keep copied finding fixes bound to their source finding without embedding renderer-owned absolute local paths.fix(skills): support callback-free manual fixes through a narrow, explicit route while preserving the established review behavior.fix(security): keep the latest-main secret scanner's file-identity check portable on Windows.Changes
manual direct fixeswithout replacing existing discovery terms.fix,repair, or Chinese fix directive to the callback-free manual path; review and mixed review-and-fix requests continue through the review workflow.Specs
docs/specs/2026-07-30-html-finding-fix-callback.mddocs/specs/2026-07-30-manual-direct-fix-routing.mddocs/specs/2026-07-31-windows-file-identity.mdValidation
npm run pack:verifypasses.