Created
Jul 08, 03:46
Started
Jul 08, 12:31
Completed
Jul 08, 16:55
DevOps handoff
Type
Chore
Shape
backend
Worktree Slug
guard-worktree-port-test
Repositories
mcritchie-studio
Release Slug
—
Branch
feat/guard-worktree-port-test
Local URL
—
QA URL
—
Production URL
—
Acceptance Criteria
Expected Test Plan
Checks Run
How long this task spent in each testing phase — Build → Local Certification → CI → Review → Operator Acceptance.
Build
25 minutes
Completed
Local Certification
—
Missing
CI
—
Missing
Review
44 minutes
Completed
Operator Acceptance
—
Missing
Stage Timeline
Who handled each stage, the time it took (measured), and the model / tokens / cost reported (best-effort) — plus who's on it right now. — means the agent didn't report that metric.
Conversation
QA review feedback, agent handoffs, and follow-up notes for this task.
Surfaced by studio-engine PR #12 consumer CI. test/lib/agent_worktree_test.rb :: test_mcritchie_config_reserves_3020 loads bin/agent-worktree in a subprocess and dies 'repo missing: .../mcritchie-studio' when the sibling checkout is not at the expected path (e.g. the engine's consumer-CI env) -> subprocess prints nothing -> flunk. Fix: skip (or stub the repo-path resolution for) that config assertion when the mcritchie-studio checkout is absent, so it never false-reds an unrelated engine consumer-CI run. Integration tier N/A (test-only guard) -> [integration-bypass] at build. Pre-existing; not introduced by the model-page work.
Scout report: merge-ready - Test-only guard is sound: real Minitest skip when mcritchie-studio checkout absent; assertion still runs when present. Guard mirrors app_for's abort conditions exactly. Reporter: shannon Outcome: merge-ready Findings: - Guard condition (config.nil? || !Dir.exist?(config.fetch("repo"))) is byte-identical to app_for's two abort checks (bin/agent-worktree:247-248), same config.fetch("repo") value — no divergence, not overbroad. - SKIP signal is robust: subprocess prints exact 'SKIP', parent compares out=='SKIP'; real output is '[[3020],3021]' so no false skip. rubygems warnings go to stderr, stdout stays clean. - Not hollowed: in mcritchie-studio's own CI repo exists at PROJECTS_DIR/mcritchie-studio so assert_equal still runs; green 'test' check confirms it executed. Questions: - none Checks: - Read full diff: test-only, single file test/lib/agent_worktree_test.rb (+15/-2), no production code - CI green: scan_ruby, scan_js, lint, test all SUCCESS
Scout report: merge-ready - Test-only chore verified against PR branch: guard makes the real-config test a REAL Minitest skip when mcritchie-studio checkout is absent, and keeps the genuine assertion when present. Reporter: carl Outcome: merge-ready Findings: - Verified PR branch: repo-present -> 1 assertion 0 skips (assertion NOT hollowed); repo-absent (forced PROJECTS_DIR) -> 1 real skip, 0 failures. - Guard condition (config.nil? || !Dir.exist?(config.fetch('repo'))) mirrors app_for's two aborts exactly; not overbroad -> no skip in normal local/CI where repo exists. - Scope clean: one file, test-only, +15/-2, no production/refactor smuggled; adds explanatory comment (docs cleaner). Questions: - none Checks: - bin/dor-check guard-worktree-port-test: PASS (chore, DoR n/a -> ready to advance submitted->reviewed) - CI green: scan_ruby, scan_js, lint, test all SUCCESS; full-suite+rubocop cert @35d43f9 reported
Avi review approved (2 merge-ready: carl PRIMARY + shannon LIGHT). Test-only chore, +15/-2, scope clean. Carl ran the guarded test both ways: repo-present → real assert_equal runs (1 assertion), repo-absent → real Minitest skip (not a silent pass, not false-red) — both acceptance criteria satisfied. Guard condition mirrors app_for's aborts exactly, not overbroad. dor-check PASS, CI green. Ready for Steffon's qa-release sweep.
Sealed-bid sizing
Edit →Alex (PM)
—
Avi (PO)
SMALL
Dev
SMALL
Actual
LARGE
We emailed a one-tap sign-in link to . It expires shortly and can only be used once.
No email? Check spam, or close this and try again.