You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Dashboard summaries retained short stage messages, not the actual bug-to-code-fix explanation. Retries and restarts could leave only statements such as "retained committed fix."
Change
Capture a bounded, sanitized engineering explanation independently of stage messages. Show the problem, expected/actual behavior, root cause, concrete code fix, relative changed files, commit reference, regression details, risks and workarounds in View summary. Preserve the explanation in history and provide it to editing-job continuation prompts.
Explicitly confirmed, exact-instance/repository/job local clients can add reviewed notes for an older stopped job. Notes never start execution, change validation results or grant permissions. Agent reports and reviewed notes are labeled separately; missing evidence remains unverified.
Validation
Focused tests pass: eight unit cases and both summary browser cases.
npm pack contains the required files; installed changed files match the committed source.
Documentation is updated.
No credentials, private endpoints, customer-specific notes or test data are included.
Final source: d659544952c8a8914e9588920814226a8a000c02. Lint, type-check, formatting, documentation, agent-rule governance, repository policy, self-healing verification and 492/492 unit tests pass. The final local npm run validate attempt exited 1: 47/48 browser tests passed, while the previously observed linked-application case exceeded its 30-second timeout under three workers. That exact case subsequently passed 1/1 with one worker, and the package dry-run passed separately with archive SHA1 3310779de9d7239542e142fbfd72cd1445b33cf0. The failed monolithic attempt is not reported as a pass.
All exact-head GitHub checks pass: test, windows-containment, analyze and CodeQL. Final automated review recommends approval with no open issues. No cases were skipped. Earlier intermediate runs were deliberately stopped when review fixes were added; an initial restart-persistence fixture failure was corrected by using a real Git fixture.
Installed locally before opening this PR. A live headless Edge check verified six detailed-summary sections, zero POSTs when opening the summary, preserved job history and no resumed held execution. Reviewed notes were independently checked in persistent history.
Addressed all seven review observations with regressions in existing tests: normalized relative paths, fresh-job evidence reset, executor settlement before note imports, queue serialization, existing runtime credential screening for every field/list item, intact rejection of malformed arrays/trailing payloads, and explicit persistence failure when the target falls outside the bounded history window.
Risk
Engineering explanations are recorded reports, not independent runner proof or a claim of complete regression coverage. Older jobs without a retained explanation remain explicitly incomplete unless reviewed notes are supplied. Imported notes reject browser Origins, active/unknown jobs, incorrect identities, malformed/oversized records and unsafe paths; persistence failure is explicit.
No dependencies or product-specific logic were added. The additive snapshot fields remain compatible with older jobs.
Capture bounded engineering explanations separately from stage messages, preserve them through retries and history, and display concrete fixes, changed files, regressions and risks. Allow explicitly reviewed notes for older stopped jobs without changing execution or validation evidence.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 46e778f9-d964-46b0-bebe-3b6f9f71eb74
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
Critical issues allow restarted jobs to inherit stale evidence, unsafe paths to bypass validation, and unsettled executors to overwrite reviewed notes.
This PR adds detailed bug-to-code-fix records to FixLab’s dashboard summaries, separate from short stage messages, so engineering explanations remain available through continuation and history.
Changes:
Capture bounded, sanitized engineering summaries and include them in editing-job continuation prompts.
Add a local endpoint for importing confirmed reviewed notes for stopped jobs.
Display detailed explanations, evidence and risks, with focused tests and documentation.
File
Description
test/dashboard-server.test.js
Tests summary validation, persistence, reviewed notes and continuation prompts.
e2e/dashboard-readiness.spec.js
Checks detailed summary rendering and missing-evidence messaging.
docs/commands.md
Explains retained summaries and reviewed notes.
docs/architecture.md
Documents summary records and local note-import constraints.
dashboard/server.js
Adds summary parsing, serialization, prompt guidance and note imports.
dashboard/public/app.js
Displays engineering explanations, file references, regression details and risks.
Validate trimmed path segments, clear explanation evidence for a fresh restarted job, retain same-job explanations in queue responses, and reject reviewed imports while executor shutdown is unsettled. Extend existing regression cases for all four review findings.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 46e778f9-d964-46b0-bebe-3b6f9f71eb74
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
Incomplete credential screening and incorrect splitting of non-object summaries can expose secrets through output logs, history, API responses, summary views, and continuation prompts.
…ames intact
Reuse runtime credential screening for every report field and list item. Only split a summary after valid top-level object JSON and a recognized following marker, keeping malformed arrays and trailing content out of ordinary output logs. Extend existing cases with synthetic credential and malformed-frame regressions.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 46e778f9-d964-46b0-bebe-3b6f9f71eb74
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
The endpoint can report success even when persistence drops the target completed job, causing its reviewed notes to disappear after restart without warning.
No open issues 🎉
1 previously missed issue
In code that hasn't changed since last review
Report when the selected job is dropped from persisted history
dashboard/server.js:4986
With a current job and 20 completed jobs, the oldest completed job is still visible and accepted here, but persistDashboardState() truncates the snapshots to 20 and drops that job without setting dashboardHistoryWarning. This endpoint consequently returns 200 even though the reviewed notes will disappear after restart. Check that the target survived the persistence window, or retain it explicitly, before reporting success.
Return an explicit persistence failure when the selected stopped job falls outside the retained snapshot window, instead of falsely reporting durable success. Verify the live-completed-job edge case against the actual persisted history in a focused existing-suite regression.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 46e778f9-d964-46b0-bebe-3b6f9f71eb74
Addressed the final bounded-history observation in d659544. The stopped-job notes endpoint now reports HTTP 503 unless the selected job survived the persisted snapshot window, instead of falsely reporting durable success. Added a focused existing-suite regression with a visible completed job excluded by current/held snapshots; all eight focused cases pass. Full final validation is running again. Latest package is installed locally; job execution remains held.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Dashboard summaries retained short stage messages, not the actual bug-to-code-fix explanation. Retries and restarts could leave only statements such as "retained committed fix."
Change
Capture a bounded, sanitized engineering explanation independently of stage messages. Show the problem, expected/actual behavior, root cause, concrete code fix, relative changed files, commit reference, regression details, risks and workarounds in View summary. Preserve the explanation in history and provide it to editing-job continuation prompts.
Explicitly confirmed, exact-instance/repository/job local clients can add reviewed notes for an older stopped job. Notes never start execution, change validation results or grant permissions. Agent reports and reviewed notes are labeled separately; missing evidence remains unverified.
Validation
npm packcontains the required files; installed changed files match the committed source.Final source:
d659544952c8a8914e9588920814226a8a000c02. Lint, type-check, formatting, documentation, agent-rule governance, repository policy, self-healing verification and 492/492 unit tests pass. The final localnpm run validateattempt exited 1: 47/48 browser tests passed, while the previously observed linked-application case exceeded its 30-second timeout under three workers. That exact case subsequently passed 1/1 with one worker, and the package dry-run passed separately with archive SHA13310779de9d7239542e142fbfd72cd1445b33cf0. The failed monolithic attempt is not reported as a pass.All exact-head GitHub checks pass:
test,windows-containment,analyzeandCodeQL. Final automated review recommends approval with no open issues. No cases were skipped. Earlier intermediate runs were deliberately stopped when review fixes were added; an initial restart-persistence fixture failure was corrected by using a real Git fixture.Installed locally before opening this PR. A live headless Edge check verified six detailed-summary sections, zero POSTs when opening the summary, preserved job history and no resumed held execution. Reviewed notes were independently checked in persistent history.
Addressed all seven review observations with regressions in existing tests: normalized relative paths, fresh-job evidence reset, executor settlement before note imports, queue serialization, existing runtime credential screening for every field/list item, intact rejection of malformed arrays/trailing payloads, and explicit persistence failure when the target falls outside the bounded history window.
Risk
Engineering explanations are recorded reports, not independent runner proof or a claim of complete regression coverage. Older jobs without a retained explanation remain explicitly incomplete unless reviewed notes are supplied. Imported notes reject browser Origins, active/unknown jobs, incorrect identities, malformed/oversized records and unsafe paths; persistence failure is explicit.
No dependencies or product-specific logic were added. The additive snapshot fields remain compatible with older jobs.