Skip to content

refactor(ticket-pipeline): migrate reference mechanics to Python - #202

Merged
BjRo merged 2 commits into
mainfrom
refactor/188-ticket-pipeline-python
Sep 19, 2026
Merged

BjRo merged 2 commits into
mainfrom
refactor/188-ticket-pipeline-python

Conversation

@BjRo

@BjRo BjRo commented Sep 19, 2026

Copy link
Copy Markdown
Owner

Why

Closes #188. Give the deprecated ticket-pipeline reference native Python portability while preserving the static benchmark being measured.

What changed

  • Replace the Bash facade with a contained, locked Python + uv package and direct frozen entrypoint; preserve ticket, phase, and result formats, ordering, recovery behavior, limits, and refusal classes.
  • Port the meaningful shell tests into native Python integration scenarios and retain 94 matched Bash command observations. Remove both the runtime shell facade and its shell test.
  • Add Python 3.10–3.13 quality gates and copied-artifact checks on Linux, macOS, and native Windows. Keep the plugin deprecated at version 0.3.1.
  • Include the shared UV/Python setup documentation alignment and matching plugin manifest bumps.

Verification

  • bun run check:python: all registered packages passed; ticket-pipeline has 167 passing tests, 100% line coverage, and 98.61% branch coverage.
  • uv run --quiet --frozen --no-dev --project plugins/orchestration/darrow-ticket-pipeline/backend python plugins/orchestration/darrow-ticket-pipeline/backend/tests/fresh_install.py: all 94 reference commands and usage refusal passed from a fresh copy with runtime dependencies only on macOS.
  • bun run lint, bun run lint:ts, bun run lint:shell, bun run typecheck, bun run check:decisions, and bun run check:docs: passed.
  • bun test scripts/check-docs.test.ts evals/runner/fixture.test.ts evals/runner/orchestration-metrics.test.ts: 28 tests passed across the corresponding runs; scripts/test-python-quality-changes passed.
  • Skill inspector: valid; all 10 plugin eval fixtures prepared on both Codex and Claude in dry mode (not behavioral passes).
  • Live Codex normal-delivery trial: one trial, gpt-5.6-terra/medium, 80% threshold. All ticket, artifact, behavior, and authority checks passed; the overall eval failed the child-route observation check (observed=none despite six declared routes). This is not reported as a passing composition trial.
  • Shell checks are no longer a plugin runtime/test requirement: the meaningful shell scenarios now run through the Python CLI on every platform. Native Linux/Windows evidence is supplied by the PR matrix.

Review notes

The historical failed-QA and refinement selection behavior is intentionally preserved and documented; this migration does not expand orchestration authority. Review fixes cover exact ledger-heading matching, user-owned sections within a ticket, and malformed numeric/table input, with matched historical observations. The live Codex observer requires route fields it cannot establish for these pipeline children, so live comparative route evidence remains limited; no orchestration performance improvement is claimed. Fresh installation still needs UV/Python and initial build downloads. The removed bin/ticket-pipeline path is replaced by the documented frozen package command.

Checklist

  • I have read and followed CONTRIBUTING.md, including the contribution
    licensing terms.
  • I added or updated the applicable invariant before implementation, or
    this change does not affect a capability invariant.
  • I added or updated colocated evals, or this change does not affect skill
    behavior.
  • I confirmed that each changed plugin remains self-contained, or this
    change does not affect plugin content.
  • I ran bun run check:python, or this change does not affect registered
    Python packages or their repository quality infrastructure.

@BjRo
BjRo merged commit 9f20b74 into main Sep 19, 2026
165 checks passed
@BjRo
BjRo deleted the refactor/188-ticket-pipeline-python branch September 19, 2026 07:35
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.

Preserve darrow-ticket-pipeline under the Python + uv rollout

1 participant