Skip to content

Strix required workflow resolves evidence binder from target trusted workspace instead of protected central owner #2292

Description

@seonghobae

Symptom

BandScope PR #865 exact head 1f4877413e2eed30b224eaf1b095af3b0b905cb0 has a terminal Strix failure in job 105972205103 even though the protected central .github owner at e6334e229581a918e2f22de18733b76fa65d7e71 contains scripts/ci/strix_evidence_binding.py.

The job first passes required-workflow smoke and materializes the protected BandScope base as the trusted workspace. The model provider preflight reaches contextual-orchestrator / orchestrator/free; a later Strix model call times out, but the terminal policy failure is independent and deterministic:

ERROR: Strix evidence binder is missing: .../trusted-workspace/scripts/ci/strix_evidence_binding.py

The protected central quick gate itself documents the binder as scripts/ci/strix_evidence_binding.py. Current scripts/ci/strix_quick_gate.sh derives binder="$REPO_ROOT/scripts/ci/strix_evidence_binding.py"; under the reusable target-repository job, REPO_ROOT is the target trusted workspace rather than the protected central workflow checkout. BandScope correctly does not carry this central CI implementation file, so the required gate exits 2 before it can produce/classify review evidence.

Why this is an owner defect

This binder is part of the central Strix evidence-binding/runtime contract, not application source. Copying it into every consumer repository would duplicate the canonical owner and make required-workflow behavior depend on an undeclared target-repository implementation detail. Weakening or skipping the binder is also invalid because it is the mechanism that classifies pr_delta / repository_baseline / context_dependency and sanitizes unsupported remediation claims.

The BandScope #865 lane has therefore recorded this as a central owner prerequisite and is not adding a local copy or blind-rerunning Strix.

Expected repair

Resolve the binder (and any companion central runtime dependency) from the exact protected .github checkout/materialized central runtime used by the required workflow, while continuing to evaluate target-repository changed-file/base evidence against the trusted target workspace. Add a contract test proving a consumer repo with no scripts/ci/strix_evidence_binding.py can still run the required Strix gate from the protected central owner.

Do not change failure semantics for a genuinely missing binder in the central owner and do not fall back to mutable target-branch source.

Evidence / scope

  • Consumer: ContextualWisdomLab/bandscope#865
  • Consumer exact head: 1f4877413e2eed30b224eaf1b095af3b0b905cb0
  • Failed job: 105972205103
  • Protected central owner inspected: .github@e6334e229581a918e2f22de18733b76fa65d7e71
  • Protected central owner does contain scripts/ci/strix_evidence_binding.py and its doctoring/tests.
  • No open .github issue/PR matching the exact missing-binder/trusted-workspace failure was found at filing time.

This issue is only the central required-workflow path defect. The provider timeout in the same job is a separate transient/service outcome and should not be conflated with the deterministic missing-binder exit.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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