Skip to content

refactor(status): rename blocked → waiting and blocked_api → rate_limited#430

Open
proboscis wants to merge 1 commit intomainfrom
issue/orch-449/run-20260224-180422
Open

refactor(status): rename blocked → waiting and blocked_api → rate_limited#430
proboscis wants to merge 1 commit intomainfrom
issue/orch-449/run-20260224-180422

Conversation

@proboscis
Copy link
Copy Markdown
Owner

Summary

Rename run statuses blockedwaiting and blocked_apirate_limited across the entire orch codebase for clarity. "Blocked" was misleading for both users and LLM agents — it implies an error when the run is simply idle awaiting input.

Closes: orch-449

Changes

Core (Go)

  • Proto: RUN_STATUS_WAITING = 4, RUN_STATUS_RATE_LIMITED = 5 (numeric IDs preserved)
  • Constants: All StatusBlocked/StatusBlockedAPI identifiers renamed
  • Compat shims: NormalizeStatus() and NormalizeRunStatus() map old names → new
  • All raw model.Status(string) casts replaced with NormalizeStatus() (6+ sites)
  • Config: ShouldNotify() and validSlackNotifyStatuses accept both old+new names
  • CLI flags: --only-blocked--only-waiting, display abbrevs "wait" / "rlimit"
  • Proto conversion: stringToProtoRunStatus accepts both; protoRunStatusToString outputs new only

Python TUI

  • Enums, mappings, config defaults, widget display functions all updated

VSCode Extension

  • runsProvider.ts case statements + package.json enum schema

Tests

  • Unit tests for NormalizeStatus and NormalizeRunStatus
  • All existing test expectations updated
  • GitHub backend test: added "status:waiting" label mapping
  • Backward compat tested via old name inputs in slack, proto, config tests

Documentation

  • ~25 markdown files updated across docs/, specs/, plugins/, README

Backward Compatibility

Layer Strategy
Vault files NormalizeStatus("blocked")StatusWaiting — no migration needed
User configs notify_on: [blocked] continues to work
GitHub labels status:blocked still maps correctly
Proto wire format Numeric IDs 4/5 unchanged
New events Always write waiting / rate_limited

Verification

  • go build ./... passes
  • go test ./... passes (1 pre-existing failure in TestApplyConfigDefaultsFallbacks unrelated to this PR)
  • make lint passes (semgrep architecture rules)
  • Pre-commit hooks pass
  • No stale StatusBlocked identifiers remain
  • All "blocked" string literals are in compat shim code, config compat, or tests only
  • Test vault fixture kept as | status | blocked to verify compat parsing

…ited (orch-449)

Rename run statuses across the entire codebase for clarity:
- blocked → waiting (run is idle, waiting for user input)
- blocked_api → rate_limited (run hit API rate limit)

Backward compatibility preserved via NormalizeStatus/NormalizeRunStatus
shims that accept both old and new names. Proto numeric IDs unchanged
(4 and 5). Historical vault data untouched.

Changes span: Go constants, proto definitions, CLI flags/help,
daemon logic, config compat, Python TUI, VSCode extension, tests,
and all documentation (~89 files).

Closes: orch-449
@proboscis proboscis force-pushed the issue/orch-449/run-20260224-180422 branch from f8d0a52 to c8ff2a2 Compare February 25, 2026 07:46
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