fix: call resolve_forge_remote before formula_worktree_setup in supervisor-run.sh (implements #1120) #1121
Labels
No labels
action
backlog
blocked
bug-report
cannot-reproduce
in-progress
in-triage
needs-triage
prediction/actioned
prediction/dismissed
prediction/unreviewed
priority
rejected
reproduced
tech-debt
underspecified
vision
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: disinto-admin/disinto#1121
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implements the fix for #1120.
Change
In
supervisor/supervisor-run.sh, before theformula_worktree_setup "$WORKTREE"call (currently near line ~90, right afterbuild_sdk_prompt_footer), add:Rationale and full diagnosis in issue 1120.
Alternative (preferred per the bug analysis)
Make
formula_worktree_setupinlib/formula-session.shself-heal: ifFORGE_REMOTEis unset, callresolve_forge_remotebefore using it. This eliminates the class of bug (silent-abort when a caller forgets the precondition) rather than patching one caller.Prefer the library fix unless it breaks another caller — every current caller of
formula_worktree_setupeither already callsresolve_forge_remoteor should. Please verify by greppingformula_worktree_setupusage before landing.Acceptance
See issue 1120, "Acceptance" section. Summary:
data/logs/supervisor.logstays clean.Prior art (attempt 1 — PR #1143, closed)
PR #1143 on branch
fix/issue-1121-1implemented the library self-heal path plus a regression testtests/smoke-formula-worktree-self-heal.sh. All functional CI green (smoke-init,edge-subpath,push/ci), butci/woodpecker/pr/cistepduplicate-detectionfailed.Why blocked
.woodpecker/detect-duplicates.pyflagged a 5-line window shared between the new test andtests/smoke-credentials.sh:Detector's
meaningful_lines()skips blank/comment lines, so comment-only separators will not break the window. The agent exhausted CI retry budget on this noise gate (not a real defect — functional smoke tests pass).Suggested fixes (pick one)
cleanup()+trap cleanup EXITblock betweenFACTORY_ROOT=...andFAILED=0. Breaks the 5-meaningful-line window; no semantic change. Smallest diff.tests/lib/common.sh(preferred long-term) — sharedset/FACTORY_ROOT/fail/passharness; source from both smoke tests. Cleaner but touchessmoke-credentials.shtoo.tests/to a skip list in.woodpecker/detect-duplicates.py, or bumpDUP_WINDOWfor that path. Lowest-risk if more test-boilerplate duplicates are expected.Branch
fix/issue-1121-1retained — rebase or cherry-pick the implementation from it.Blocked — issue #1121
ci_timeout2026-04-21T14:37:48ZBlocked — issue #1121
ci_exhausted2026-04-21T17:47:43Z