Skip to content

Tracking: remove temporary qe-court writerIsNeverJuror self-heal once fixed upstream (agentic-qe#576) #70

Description

@pacphi

What

ak currently self-heals a defect in agentic-qe's own shipped default qe-court/config.json: defense: cognitum-low and jury: cognitum-high resolve to the same vendor per vendorOf(), violating the config's own writerIsNeverJuror invariant. A brand-new project running qe-court for the first time gets an invalid adversarial-review panel with zero user action.

Filed upstream: proffesor-for-testing/agentic-qe#576 (open).

Landed here as a temporary workaround: PR #69 (fix(qe-court): temporary self-heal for writerIsNeverJuror collision, commit bd9bc91).

Where the temporary code lives

  • src/lib/qeCourt.mjshealJuryVendorCollision() (pure fix computation) and UPSTREAM_JURY_VENDOR_ISSUE constant
  • src/lib/heal.mjshealQeCourtPanel() (reads config, applies the fix, backup-first write)
  • src/commands/status.mjs — the qe-court row, warns with a fix message when the panel is invalid
  • src/commands/sync.mjs — applies heal.healQeCourtPanel() when status flags it
  • tests/kit/qeCourt.test.mjs and tests/kit/heal-qe-court.test.mjs — full coverage of the heal path

Every one of these is explicitly commented TEMPORARY (remove once fixed upstream) with a citation back to agentic-qe#576.

Exit criteria (close this issue when all true)

  • qe-court's own shipped default config.json violates its writerIsNeverJuror invariant proffesor-for-testing/agentic-qe#576 is fixed and released (shipped default config.json passes its own validatePanel())
  • healJuryVendorCollision() and UPSTREAM_JURY_VENDOR_ISSUE removed from src/lib/qeCourt.mjs
  • healQeCourtPanel() removed from src/lib/heal.mjs
  • the qe-court row/branch removed from src/commands/status.mjs and src/commands/sync.mjs (or kept as read-only awareness only, matching the pre-existing ak x provider status pattern, if there's still value in surfacing panel validity generally)
  • tests/kit/heal-qe-court.test.mjs removed; tests/kit/qeCourt.test.mjs's heal-specific tests removed, its read-only tests (vendorOf, panelFromRouting, validatePanel, readQeCourtConfig) kept
  • a fresh .claude/skills/qe-court/config.json generated from the corrected upstream template passes ak status with no heal offered

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions