Skip to content

Retain detailed bug-to-code-fix dashboard summaries - #107

Merged
MonaDevAI merged 4 commits into
mainfrom
fix/detailed-bug-fix-summary
Nov 5, 2026
Merged

MonaDevAI merged 4 commits into
mainfrom
fix/detailed-bug-fix-summary

Conversation

@MonaDevAI

@MonaDevAI MonaDevAI commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

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

  • 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
Copilot AI balanced review requested due to automatic review settings November 5, 2026 19:16

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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.

4 open issues
What changed in this PR

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.

Review effort: Balanced

Comment thread dashboard/server.js Resolved
Comment thread dashboard/server.js Resolved
Comment thread dashboard/server.js Resolved
Comment thread dashboard/server.js Resolved
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
Copilot AI balanced review requested due to automatic review settings November 5, 2026 19:36

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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.

2 open issues
4 resolved since last review

Review effort: Balanced

Comment thread dashboard/server.js Resolved
Comment thread dashboard/server.js Resolved
…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
Copilot AI balanced review requested due to automatic review settings November 5, 2026 20:00

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Medium severity 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.

2 resolved since last review

Review effort: Balanced

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
Copilot AI balanced review requested due to automatic review settings November 5, 2026 20:10
@MonaDevAI

Copy link
Copy Markdown
Contributor Author

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.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The review identifies no active issues with the engineering-summary retention and dashboard changes.

No open issues 🎉

Review effort: Balanced

@MonaDevAI
MonaDevAI merged commit ab818c7 into main Nov 5, 2026
5 checks passed
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.

2 participants