fix: wire communicate-score cycle-boundary sentinels#448
fix: wire communicate-score cycle-boundary sentinels#448cdunda-perchwell wants to merge 1 commit intopeteromallet:mainfrom
Conversation
Status updateThis PR is incomplete — it partially addresses the issue but does not fully fix it. What is in this PR
What is missingPath 1 fix (scan path): The fix is one line: remove Path 2 (resolve path): Re-injection also occurs immediately during the resolve itself (same timestamp as the TestsThe existing test A new regression test |
|
Hey, thanks for the sentinel fix — the cycle-boundary logic looks solid and I want to get it merged. However this PR also bundles the entire The |
03914ab to
871cefd
Compare
Add communicate_score_resolved_this_cycle sentinel that blocks workflow::communicate-score from being re-injected after the agent resolves it. The sentinel is set at injection time and cleared at cycle boundaries (force-rescan, score seeding, trusted import) but intentionally survives queue-drain so the post-drain rescan does not re-inject. Also clears scan_count_at_plan_start on force-rescan to fully reset cycle state. Fixes peteromallet#447
871cefd to
a4e5100
Compare
|
derp! Should be better now! @peteromallet |
|
Fix cherry-picked into v0.9.10 — communicate-score sentinel resets are resolved. Thank you @cdunda-perchwell for identifying both the original issue (#447) and the sentinel reset bug! |
Summary
communicate_score_resolved_this_cycleworkflow guard soworkflow::communicate-scoredoes not re-inject after resolve + rescan in the same cycleProblem
workflow::communicate-scorehad a resolved-this-cycle sentinel pattern, but the boundary reset wiring was incomplete. That meant the framework could either:Fix
sync_communicate_score_needed()oncommunicate_score_resolved_this_cycleTests
uv run python -m pytest -q desloppify/tests/plan/test_reconcile_pipeline.py -k 'clear_communicate_score_sentinel or clear_score_communicated_sentinel or communicate_score'uv run python -m pytest -q desloppify/tests/commands/scan/test_plan_reconcile.py desloppify/tests/commands/scan/test_plan_reconcile_postflight_and_reconcile.py desloppify/tests/commands/review/test_review_importing_support_direct.py desloppify/tests/commands/test_lifecycle_transitions.py desloppify/tests/plan/test_reconcile_pipeline.py -k 'communicate or sentinel or plan_start_scores or force_rescan or trusted_internal_clears'Fixes #447.