Skip to content

fix(guardrails): test-windows-secrets fails on main on the allowed-roots link case #10276

Closed

Description

@kyle-sexton

Problem

test-windows-secrets fails on main with PASS=301 FAIL=1:

FAIL: allowed roots: through a link outside D that lands under D → exit 0: expected exit 0, got 2

Every pull request's test-windows-secrets run inherits this failure (seen on #10120), so the job is red on PRs that do not touch guardrails.

Likely cause (UNVERIFIED)

Guardrails commits in 7f2457b..2640984: #9981 (deny recursive deletes of protected trees ahead of the allowed roots) is the closest match to an "allowed roots" case; #10019 (exempt local-only paths from secret-pattern-detection) also touches this hook. Windows-only; not reproducible on Linux.

Done when

  • test-windows-secrets passes on main.

Activity

  1. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 26, 2026
  2. github-actions commented on Oct 26, 2026

    @github-actions
    Contributor

    Proposed work class: work-class: scoped
    Basis: automated intake triage; the lanes App applied this class.

    Size: Small
    Complexity: Medium
    Uncertainty: Knowable
    Flags: none
    Blocked by: none

    Understood: the Windows secrets test job fails on main with one case ("allowed roots: through a link outside D that lands under D", expected exit 0, got 2). The failure appeared between the last passing run and the two failing runs, and it carries into every PR's run. The suspected cause is a recent guardrails change (#9981 or #10019), and nobody has verified it. The fix is to find the regression, using the Windows run logs and the commit range, and make the job pass again. I found no likely duplicates among the open issues.

    Automated triage, applied by the lanes App.

  3. added
    priority: criticalProduction broken, data loss, active exploit, or release blocker.
    and removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 26, 2026
  4. added
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    and removed
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    on Oct 28, 2026
  5. melodic-automation-lanes commented on Oct 29, 2026

    @melodic-automation-lanes
    Contributor

    The work-resolve-issue lane stopped partway through this issue and needs a person.

    Why, in the run's own words:

    Nothing to change. The failing case is already fixed on main by 300e58f (#10280, 2026-10-26, "fix(guardrails): resolve only the existing ancestor through cygpath for an allowed-roots link"). test-windows-secrets has passed on every scheduled main run since b59666b (runs 40360157201, 40481545922, 40540682796, 40663903199, 40725629371). This run made no change. The issue's done-when item is already met, so a person should close the issue as resolved by #10280.

    What the run says it did not do:

    • This run did not execute secret-pattern-detection.test.sh: the test is Windows-only and this lane cannot run it. Evidence that it passes comes from main's scheduled pr-test-windows runs.
    • Tidy, review, build/test and class-audit steps were skipped because there is no diff.
    • The issue was not closed: this lane cannot close issues. It needs a person to close it as resolved by #10280.

    Run: https://github.com/melodic-software/claude-code-plugins/actions/runs/40790265869

    To retry, remove needs-human and add agent-ready again.

  6. kyle-sexton commented on Oct 29, 2026

    @kyle-sexton
    MemberAuthor

    Re-triage: closing. The only done-when item, "test-windows-secrets passes on main", is met.

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

    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.priority: criticalProduction broken, data loss, active exploit, or release blocker.status: readyTriaged, unblocked, and fully specified; eligible to pick up.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

    Type

    Fields

    No fields configured for Bug.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions