Skip to content

fix(devtools): follow the queue runner's rename to agentctl-run - #4684

Merged
Sinity merged 1 commit into
masterfrom
lane/agentctl-rename
Sep 5, 2026
Merged

fix(devtools): follow the queue runner's rename to agentctl-run#4684
Sinity merged 1 commit into
masterfrom
lane/agentctl-rename

Conversation

@Sinity

@Sinity Sinity commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Summary

The host's NixOS switch on 2026-09-05 13:17 renamed the queue runner to agentctl-run and its exported variables to AGENTCTL_*. Every runner check since fails with exit 125 (sinnixd-queue-run is not on PATH). Reads now accept both prefixes, newest first, and the pytest slot resolves either runner name.

Verification

  • devtools verify --quick: all gates ok.
  • test_runtime_env_prefers_the_agentctl_prefix_and_falls_back (red without the fallback).
  • The required check on this PR is the live proof: it acquires the slot through agentctl-run.

Supersedes the closed #4680 (which no longer merged cleanly).

🤖 Generated with Claude Code

https://claude.ai/code/session_01DNGJ3awfNrsLaMdHgQZvid

The host now exports AGENTCTL_* variables and ships the runner as
agentctl-run; every runner check failed with exit 125 because the slot
looked only for sinnixd-queue-run. Reads accept both prefixes, newest
first, and the slot resolves either runner name.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DNGJ3awfNrsLaMdHgQZvid
@Sinity
Sinity enabled auto-merge (squash) September 5, 2026 11:58
@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Team

Run ID: 34f1c0a5-c7fd-420e-b078-3a4ac1c275c9


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 5, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-05T12:05:06.670677Z 76a84cb PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 76a84cbde2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread devtools/pytest_slot.py
Comment on lines +61 to +62
QUEUE_RUNNERS: Final = ("agentctl-run", "sinnixd-queue-run")
QUEUE_RUNNER: Final = QUEUE_RUNNERS[0]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Update the missing-runner test for both executable names

With the hermetic PATH in test_missing_scoped_queue_runner_refuses_before_queueing, the monkeypatch hides only QUEUE_RUNNER (agentctl-run) and no legacy runner exists, so this branch raises a diagnostic naming agentctl-run; the unchanged assertion still matches sinnixd-queue-run, making tests/unit/devtools/test_pytest_slot.py fail on every run. Update that test to account for QUEUE_RUNNERS and the new diagnostic.

Useful? React with 👍 / 👎.

"""
env = os.environ if environment is None else environment
job_id = env.get("SINNIXD_JOB_ID", "")
job_id = runtime_env(env, "JOB_ID") or ""

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Propagate the prefix migration into the Node proof guards

When dev_loop_proof or live_provider_proof is started by the new runner with only AGENTCTL_JOB_ID, AGENTCTL_PROJECT_ID, and AGENTCTL_OPERATION, this function now accepts the context, but both services copy that same environment into their Node subprocesses and browser-extension/scripts/{dev_loop_shared_chrome_proof,live_provider_proof}.mjs still require the SINNIXD_* names. Both declared operations therefore exit before exercising their proofs under the environment this commit is intended to support; update the Node guards or provide compatible aliases to the child.

Useful? React with 👍 / 👎.

Comment thread devtools/agent_env.py
Comment on lines +37 to +40
for prefix in RUNTIME_ENV_PREFIXES:
value = env.get(prefix + suffix)
if value is not None:
return value

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Clear the higher-priority prefix in legacy environment tests

When the corpus runs through the declared verify_affected or verify_all AgentCTL operations, pytest inherits real AGENTCTL_OPERATION, AGENTCTL_JOB_ID, and AGENTCTL_CORRELATION_ID values. Tests such as test_declared_operation_requires_the_fixed_route and the AgentCTL receipt tests only set or clear their SINNIXD_* counterparts, so this precedence rule ignores the test values: the former returns None instead of verify_quick, while the receipt assertions observe the runner's IDs instead of job-join/job-17. Update those tests or an autouse fixture to isolate both namespaces so the declared verification operations can pass.

Useful? React with 👍 / 👎.

@Sinity
Sinity merged commit dfb1322 into master Sep 5, 2026
3 of 4 checks passed
@Sinity
Sinity deleted the lane/agentctl-rename branch September 5, 2026 15:23
Sinity added a commit that referenced this pull request Sep 5, 2026
…rsor probe (#4695)

## Summary
Four tests encoded behaviour changed by merged PRs: the queue runner's
name in the slot refusal (#4684), the descriptor's `verify` exec without
a width override (#4682), and the cursor-store stub's signature after
the read-only spool probe (#4683). The descriptor's `verify_all` entry
still pinned `POLYLOGUE_PYTEST_WORKERS=2`; it now follows the same
constant as the affected tier.

## Verification
`devtools test tests/unit/devtools/test_verify.py
tests/unit/devtools/test_dev_loop_service.py
tests/unit/devtools/test_pytest_slot.py
tests/unit/daemon/test_daemon_cli.py::test_spool_pending_check_ignores_terminal_cursor_states`
green (result line in the pre-push run). From the 2026-09-05 corpus on
754553b (85 failed / 20,522 passed).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01DNGJ3awfNrsLaMdHgQZvid

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
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