Skip to content

fix: preserve queue and triage scopes - #686

Open
ApexWorm wants to merge 14 commits into
peteromallet:mainfrom
ApexWorm:fix/synthetic-queue-gating
Open

fix: preserve queue and triage scopes#686
ApexWorm wants to merge 14 commits into
peteromallet:mainfrom
ApexWorm:fix/synthetic-queue-gating

Conversation

@ApexWorm

@ApexWorm ApexWorm commented Aug 1, 2026

Copy link
Copy Markdown

Problems

  1. A queue containing only synthetic subjective, strategy, workflow, or triage IDs could hide live objective backlog from desloppify next.
  2. An explicitly frozen empty triage scope, including one exhausted by protected review holds, fell back to every historical manual cluster and demanded unrelated enrichment.
  3. Enrich and sense-check later converted that explicit empty scope to unscoped validation, reintroducing those historic clusters.
  4. The manual strategize stage advertised --attestation as a queue-guard override, but dropped it before ensure_triage_started, making the documented override impossible.

Fixes

  • Treat a synthetic-only queue as lacking substantive planned work so real objective backlog remains executable.
  • Retain an explicit empty active triage scope rather than treating it as an unfrozen legacy flow.
  • Preserve that scope through enrich and sense-check validation, confirmation, and runner paths; an explicit empty scope now excludes historical clusters.
  • Forward --attestation from the manual strategize stage to ensure_triage_started, matching observe, runner, and manual-start paths.

Verification

  • python3 -m pytest desloppify/tests/plan/test_reconcile_pipeline.py -q: 42 passed.
  • python3 -m pytest desloppify/tests/commands/plan/test_triage_split_modules_direct.py -q -k "active_triage_scope or enrich_quality_empty_triage_scope": 3 passed.
  • python3 -m pytest desloppify/tests/commands/plan/test_triage_runner.py -q -k "enrich or sense_check": 14 passed.
  • python3 -m pytest desloppify/tests/commands/plan/test_triage_stage_prompts_flow_direct.py -q: 5 passed.
  • python3 -m pytest -q desloppify/tests/commands/plan/test_strategist.py: 6 passed.
  • python3 -m ruff check the seven changed triage files: passed.
  • Reproduced against the affected MonoRepo: next surfaced live objective work, organize/enrich/sense-check completed, protected review holds remained untouched, and strategize now accepts the documented attested override.

Known unrelated baseline failures: test_lifecycle_ensure_triage_started_uses_plan_aware_backlog_for_workflow_only_queue already fails on the unmodified parent commit because the current backlog guard returns blocked. Ruff reports pre-existing import layout and unused-import findings in strategize.py and test_strategist.py.

@ApexWorm ApexWorm changed the title fix: keep synthetic queue entries from hiding objectives fix: preserve queue and triage scopes Aug 1, 2026
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.

1 participant