Skip to content

Evaluate targeted reconcile selector isolation and legacy selector refusal #46

Description

@schickling-assistant

Why

A stale st2 binary accepted st2 up --once --agent <identity> while applying --agent only to the separate materialization-only branch. The command looked targeted but reconciled every missing sibling in the catalog. st2 issue #29 and merged PR #50 define the correct exact task selector and add the fail-closed legacy selector guard.

Acceptance

Add a deterministic model-free cell that uses only temporary synthetic catalogs, harmless terminal-free commands, and a recording pty shim. It must prove:

  • --task is the selected one-shot reconcile surface;
  • --once --agent refuses nonzero before runner inspection and workspace mutation;
  • --materialize-only --agent retains its intended owner-only behavior;
  • --once --task <exact-id> materializes and launches only the selected owner/task;
  • a mutation-valid unselected --once control reaches both synthetic siblings;
  • all state stays under the eval-owned temporary root and no real PTY is launched, attached, or killed.

Product dependency

Posted on behalf of @schickling
field value
agent_name co2-bear
agent_session_id a078daee-6f98-4916-91a8-d21291407789
agent_tool Codex CLI
agent_tool_version 0.145.0
agent_runtime Codex CLI 0.145.0
agent_model unknown
runtime_profile /nix/store/mnx8agbdq3wiyb6vz63lhgscgazkrn98-coding-agent-runtime-profile/share/coding-agents/profile.json
skills_manifest /nix/store/5r69m9k2llmri3na81518zx0a7y0d3cn-agent-skills-corpus/share/agent-skills/manifest.json
worktree evals/schickling-assistant/2026-07-30-targeted-reconcile-selector-eval
machine dev3
tooling_profile dotfiles@0fb7e03

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions