fix(release): tag_repair CLI --namespace flag — workflow argv form (#2582) #2584

Open
conductor wants to merge 0 commits from fix/2582-namespace-cli-flag into master
pull from: fix/2582-namespace-cli-flag
Owner

Bug-fix discharge — run 33866 argparse rejection (#2582)

Finding (root cause): the first live post-merge auto-version run (33866) died at step 3 — tag_repair.py: error: unrecognized arguments: --namespace main. Every workflow caller passes --namespace main, but the flag existed only as a FUNCTION parameter (latest_release_tag(namespace=…)); argparse never knew it. My original fix tested the function, not the CLI form the workflows invoke.

Red test (written before the fix): tests/test_tag_repair.py gains three CLI-level tests running the exact workflow argv through subprocess:

  • --latest-tag --namespace main → asserts the MAIN-line tag (v0.9.0, not the TUI tag)
  • --latest-tag --namespace tui → asserts tui-v0.50.0
  • --latest-tag without the flag → default stays main (pre-existing callers keep behavior)

The red signature matched production exactly: the two flag-bearing forms exited 2 on argparse rejection while the flagless form stayed green.

Fix: argparse --namespace (choices main/tui/any, default main) + handler pass-through in scripts/tag_repair.py.

Verification: 7/7 tests green. Mutation spot-check: handler mutated to hardcode namespace="main" → exactly the tui CLI test went red → reverted → green. Zero pyright delta (ratchet identical — 261/572 — with and without the change; the drift is the unswept master state tracked on PR #2550). Ruff clean, py_compile clean, issue reconciliation green (72 records, 100 live issues in window).

Merge note: required checks fail on INHERITED base reds — the CI-repair wave lives on PR #2550, not this tree. Same owner-consented override as the #2583 merge.

## Bug-fix discharge — run 33866 argparse rejection (#2582) **Finding (root cause):** the first live post-merge auto-version run (33866) died at step 3 — `tag_repair.py: error: unrecognized arguments: --namespace main`. Every workflow caller passes `--namespace main`, but the flag existed only as a FUNCTION parameter (`latest_release_tag(namespace=…)`); argparse never knew it. My original fix tested the function, not the CLI form the workflows invoke. **Red test (written before the fix):** `tests/test_tag_repair.py` gains three CLI-level tests running the exact workflow argv through subprocess: - `--latest-tag --namespace main` → asserts the MAIN-line tag (`v0.9.0`, not the TUI tag) - `--latest-tag --namespace tui` → asserts `tui-v0.50.0` - `--latest-tag` without the flag → default stays main (pre-existing callers keep behavior) The red signature matched production exactly: the two flag-bearing forms exited 2 on argparse rejection while the flagless form stayed green. **Fix:** argparse `--namespace` (choices main/tui/any, default main) + handler pass-through in `scripts/tag_repair.py`. **Verification:** 7/7 tests green. Mutation spot-check: handler mutated to hardcode `namespace="main"` → exactly the tui CLI test went red → reverted → green. Zero pyright delta (ratchet identical — 261/572 — with and without the change; the drift is the unswept master state tracked on PR #2550). Ruff clean, py_compile clean, issue reconciliation green (72 records, 100 live issues in window). **Merge note:** required checks fail on INHERITED base reds — the CI-repair wave lives on PR #2550, not this tree. Same owner-consented override as the #2583 merge.
conductor added 1 commit 2026-10-24 15:23:31 +01:00
fix(release): tag_repair CLI --namespace flag — workflow argv form (#2582)
Auto-label / auto-label (pull_request) Successful in 1s
Local-Model First-Pass Review (#131) / first-pass-review (pull_request) Successful in 20s
Spec gate (headless) / spec-gate (pull_request) Successful in 20s
CI Pipeline / documentation (pull_request) Successful in 10s
CI Pipeline / best-practices (pull_request) Successful in 10s
CI Pipeline / rust-surface (pull_request) Failing after 25s
CI Pipeline / gitea-offline (pull_request) Successful in 28s
CI Pipeline / go-surface (pull_request) Failing after 42s
CI Pipeline / lint (pull_request) Failing after 55s
CI Pipeline / type-check (pull_request) Failing after 57s
CI Pipeline / canary (pull_request) Failing after 3m13s
CI Pipeline / unit-tests (pull_request) Failing after 30m37s
CI Pipeline / required-checks (pull_request) Failing after 1s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Failing after 5s
CI Pipeline / lint (push) Canceled after 0s
CI Pipeline / unit-tests (push) Canceled after 0s
CI Pipeline / go-surface (push) Canceled after 0s
CI Pipeline / rust-surface (push) Canceled after 0s
CI Pipeline / canary (push) Canceled after 0s
CI Pipeline / best-practices (push) Canceled after 0s
CI Pipeline / documentation (push) Canceled after 0s
CI Pipeline / type-check (push) Canceled after 0s
CI Pipeline / gitea-offline (push) Canceled after 0s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
Auto-version and Release / release (push) Canceled after 17s
deploy / deploy (push) Canceled after 16s
0de6f1bba4
gitea-actions Bot added the P1 — highbuggovernancegrowth labels 2026-10-24 15:23:35 +01:00

🤖 Headless spec gate (non-blocking, #204 first slice)

Spec-gate agent produced no text output — check runner logs.

Deterministic floors still govern the merge

This comment is advisory. Required checks (lint, tests, canaries, type-check, coverage, dependency lock, impact gate) remain the merge authority per docs/adversarial-review.md proportionality.

🤖 **Headless spec gate (non-blocking, #204 first slice)** Spec-gate agent produced no text output — check runner logs. <details><summary>Deterministic floors still govern the merge</summary> This comment is advisory. Required checks (lint, tests, canaries, type-check, coverage, dependency lock, impact gate) remain the merge authority per docs/adversarial-review.md proportionality.</details>
Some required checks failed
Auto-label / auto-label (pull_request) Successful in 1s
Local-Model First-Pass Review (#131) / first-pass-review (pull_request) Successful in 20s
Spec gate (headless) / spec-gate (pull_request) Successful in 20s
CI Pipeline / documentation (pull_request) Successful in 10s
CI Pipeline / best-practices (pull_request) Successful in 10s
CI Pipeline / rust-surface (pull_request) Failing after 25s
CI Pipeline / gitea-offline (pull_request) Successful in 28s
CI Pipeline / go-surface (pull_request) Failing after 42s
CI Pipeline / lint (pull_request) Failing after 55s
CI Pipeline / type-check (pull_request) Failing after 57s
CI Pipeline / canary (pull_request) Failing after 3m13s
CI Pipeline / unit-tests (pull_request) Failing after 30m37s
CI Pipeline / required-checks (pull_request) Failing after 1s
Required
Details
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Failing after 5s
CI Pipeline / lint (push) Canceled after 0s
CI Pipeline / unit-tests (push) Canceled after 0s
CI Pipeline / go-surface (push) Canceled after 0s
CI Pipeline / rust-surface (push) Canceled after 0s
CI Pipeline / canary (push) Canceled after 0s
CI Pipeline / best-practices (push) Canceled after 0s
CI Pipeline / documentation (push) Canceled after 0s
CI Pipeline / type-check (push) Canceled after 0s
CI Pipeline / gitea-offline (push) Canceled after 0s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
Auto-version and Release / release (push) Canceled after 17s
deploy / deploy (push) Canceled after 16s
This branch is already included in the target branch. There is nothing to merge.
This branch is out-of-date with the base branch
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin fix/2582-namespace-cli-flag:fix/2582-namespace-cli-flag
git checkout fix/2582-namespace-cli-flag
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: conductor/rune#2584