Skip to content

[AI:Finding] F20260806-63E2D28A: Daemon's top-level cycle error boundary discards the error object entirely — a crashed cycle is invisible - #51

Open
dzykovic wants to merge 1 commit into
masterfrom
ai/findings/F20260806-63E2D28A
Open

[AI:Finding] F20260806-63E2D28A: Daemon's top-level cycle error boundary discards the error object entirely — a crashed cycle is invisible#51
dzykovic wants to merge 1 commit into
masterfrom
ai/findings/F20260806-63E2D28A

Conversation

@dzykovic

@dzykovic dzykovic commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Finding F20260806-63E2D28A

Type: finding | Priority: 2 | Source: code-quality#FINDING-001

Assumption

Severity: high
Priority: 2
Files Affected: 2

Pattern: Catch-and-continue with no ERROR/WARN log and no .cause — violates intelligence/rules/typescript.md §REQUIRED (Observability) and the §Quality Gates observability BLOCKER in intelligence/rules/migration.md.
Domain: engine/daemon

Impact: engine/daemon/daemon.ts:196 is the daemon's outermost error boundary and it is a bare } catch { — the thrown error is never bound, so the message, stack, and .cause are de


Automated by AI Automation Pipeline. PR shape (plan / catch-up / rejected)
is set by the composer at the top of this body; current lifecycle state is
tracked via the PR label (ai:processing, ai:in-review, ai:ready-to-merge,
ai:failed, ai:rejected) and the PR comments — not this description.

Copilot AI lite review requested due to automatic review settings August 6, 2026 23:03

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.

Pull request overview

Adds operational tracking artifacts for finding F20260806-63E2D28A (daemon-cycle failures being silently discarded), marking the finding as started and capturing two concrete follow-up tasks that specify the intended code changes and regression tests.

Changes:

  • Added two new task records describing the required daemon/scheduler logging fixes and the Engine.runOnce finalize-on-throw fix.
  • Updated the finding record to in-progress and added a started_at timestamp.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
.operator/data/tasks/T20260806-A9673078.md Task spec for logging daemon cycle failures and scheduler job rejections (incl. tests).
.operator/data/tasks/T20260806-3A261A44.md Task spec for finalizing cycle execution rows as failed when Engine.runOnce throws (incl. test).
.operator/data/findings/F20260806-63E2D28A.md Marks the finding as in-progress and records when work started.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@dzykovic dzykovic mentioned this pull request Aug 12, 2026
8 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants