Skip to content

[treehouse#33] fix(pool): accept dot-prefixed subdirectories in cwdInWorktree #499

Description

@github-actions

Decision needed - treehouse#33

PR review by e-jung · merge-ready

fix(pool): accept dot-prefixed subdirectories in cwdInWorktree

Situation

  • Compliance: n/a
  • Tests: green
  • Configured checks: check (informational: pass), test (macos-latest) (test: pass), test (ubuntu-latest) (test: pass), test (windows-latest) (test: pass)
  • Freshness: complete target observation as of 2026-08-01T03:59:05Z
  • Notes: compliance=n/a tests=green

Related work

Note

Related-work context is truncated (comparison_incomplete): comparison across open pull requests is incomplete, so a relation may be missed; this says nothing about the target itself. The candidate list, shared paths, and references are advisory display only and never an overlap or action gate.

  • kunchenguid/treehouse#41 - feat(pool)!: key pool identity by repository and support bare repos - exact shared path: internal/pool/pool_test.go
  • kunchenguid/treehouse#48 - feat(pool): Add .worktreeinclude support - exact shared path: internal/pool/pool_test.go
  • kunchenguid/treehouse#80 - fix(pool): preserve a reclaimed worktree that holds unlanded work - exact shared path: internal/pool/pool_test.go

Advisory context only. Shared paths and references are not an auto-merge overlap gate.

Auto-merge criteria

Note

Read-only preflight from the authoritative auto-merge evaluator. A displayed MET result never authorizes a merge: Wheelhouse re-evaluates every gate and performs G7 immediately before acting.

Scope

  • MET Scope - merge-ready PR review - kind=pr-review bucket=merge-ready

Safety

  • MET Safety - complete healthy scan - repo scan is ok, complete, and mergeability settled
  • MET Safety - target PR is open - target PR is open and unmerged
  • MET Safety - no per-PR auto-merge opt-out - wheelhouse:no-auto-merge is absent
  • MET Safety - head SHA unchanged - scan and live head b06835e7

G0 (repo)

  • MET G0 - repository auto-merge enabled - enabled by effective repository policy
  • MET G0 - default-branch VISION.md present - default-branch VISION.md dcc4129a

G1 (card)

G2 (files)

  • MET G2 - complete immutable file list - 2 immutable changed path entries read
  • MET G2 - workflow and security exclusions clear - no unconditional workflow/security/governance exclusions

G3 (author)

  • MET G3 - non-maintainer human contributor - e-jung is a non-maintainer human
  • UNMET G3 - prior merged contribution in this repo - G3 author e-jung has no prior merged PR in treehouse

G4 (checks)

  • MET G4 - configured checks green - comp=n/a tests=green (merge-ready)
  • MET G4 - PR mergeable - live mergeable is MERGEABLE
  • MET G4 - merge state clean - live merge state is CLEAN

G5 (size)

  • MET G5 - changed-file limit - 2 changed files <= 20
  • MET G5 - changed-line limit - 47 changed lines <= 1000

G6 (triage + behavior)

  • MET G6 - automatic triage credential configured - model credential is configured; card triage eligibility is evaluated separately
  • UNMET G6 - successful triage for current head - current assessment is not admitted for its observation/head
  • UNMET G6 - top-level recommendation is merge - no valid agent recommendation was established: the advisory assessment was not admitted
  • UNAVAILABLE G6 - eligible behavior class - class B restoration evidence unavailable
  • MET G6 - existing/default behavior unchanged - no existing/default behavior change
  • MET G6 - class C is opt-in and default-off - not applicable to class B
  • VISION.md-dependent checks
    • MET G6 - behavior aligns with VISION.md - alignment confirmed
    • MET G6 - behavior verdict recommends merge - merge recommended
    • MET G6 - verdict uses current VISION.md revision - verdict and default branch use dcc4129a
    • MET G6 - verdict uses current base revision - verdict and live base use 68fa3d25

G7 (final gate)

  • UNAVAILABLE G7 - immediate live recheck and manual merge gate - runs only immediately before merge: card claim, VISION, head/base, mergeability, checks, opt-out label, and unchanged manual workflow gate

Triage

  • Summary: Fixes cwdInWorktree in internal/pool/pool.go so dot-prefixed subdirectories (e.g. .venv/bin, .cache/tmp) are correctly recognized as inside the worktree, replacing a buggy rel[0]!='.' check with the same non-escaping-via-'..' predicate already used in internal/process/detect.go:75, and adds a table-driven TestCwdInWorktree.
  • Product implications: Routine internal work: a one-line, well-evidenced bug fix affecting only the status-display flag (StatusHere vs StatusInUse) with no lifecycle or destructive-path impact; does not need owner discussion.

Your decision

Tick one box for a quick call, or reply with a slash-command (/merge, /close, /decline <reason>, /hold, /comment <text>, /request-changes <text>):

  • Merge it
  • Close / decline
  • Investigate - deep code-grounded review (leaves this card open)
  • Hold - I'll handle this manually

Only the repository owner can drive this decision - everyone else's edits and comments are ignored.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions