fix(orch): reconcile-work-items requires a nonempty updatedAt on started rows - #1441
Conversation
…an empty field as midnight today Claude-Session: https://claude.ai/code/session_012epxJEzGqT7q3qcFhdZUt5
|
ⓘ Qodo reviews are paused because your trial has ended. Ask your workspace admin to add credits to resume reviews. Manage billing |
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds stronger validation for cached Linear issues so “started” work items must include a usable updatedAt, and extends the shell test suite to cover this config-error scenario.
Changes:
- Enforce
updatedAtpresence/non-emptiness for rows wherestate.type == "started"during cache schema validation. - Add a regression test ensuring empty
updatedAton a started item fails as a config error.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| skills/orch/scripts/reconcile-work-items | Tightens jq schema validation to require non-empty updatedAt for started issues. |
| skills/orch/tests/reconcile-work-items.test.sh | Adds a test case asserting empty updatedAt on started issues triggers a config error. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
ApprovabilityVerdict: Approved aa84123 Straightforward input validation fix that catches invalid cache data early (empty/missing updatedAt on started rows) instead of allowing silent misbehavior. Limited scope with clear intent and corresponding tests. You can customize Macroscope's approvability policy. Learn more. |
… as midnight too Claude-Session: https://claude.ai/code/session_012epxJEzGqT7q3qcFhdZUt5
Dismissing prior approval to re-evaluate aa84123
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
Suppressed comments (1)
skills/orch/tests/reconcile-work-items.test.sh:120
- The new validation enforces a nonblank
updatedAt(via a whitespace check), but the comment says “without a usable timestamp”. If “usable” means parseable bydate, consider either tightening the validation to match the expected timestamp format, or rewording the comment to match the actual constraint (e.g., “nonblank timestamp”).
# A started row without a usable timestamp must be a config error: GNU date
# parses an empty field as midnight today, which would quietly read as fresh.
Follow-up to #1430 for the one finding deferred past its push budget (thread #1430 (comment)): the structural cache validation now requires a nonempty
updatedAton started rows. GNUdate -d ""parses an empty field as midnight today, so a started row missing its timestamp could quietly read as fresh and let the sweep report clean; BSD date rejected the same row, so behavior also diverged across platforms. Now it is an exit-2 config error on both. One new pin (19 green).https://claude.ai/code/session_012epxJEzGqT7q3qcFhdZUt5