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
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: disinto-admin/disinto#742
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?
Problem
Both remaining chat sub-issues (#707 Claude identity isolation, #712 escalation tools) have failed CI 3+ times each across multiple dev-agent attempts.
Root cause (2026-04-14, investigated from Woodpecker DB): this is NOT chat-specific. It is a bug in
.woodpecker/agent-smoke.shitself. PR #710 (conversation history — since merged) also failed with the same signature, which rules out chat.Root cause:
agent-smoke.shfunction-resolution check is non-deterministicEvery failing pipeline dies in step
agent-smoke, workflowci, at the "Function resolution" check, with a self-contradicting diagnostic:Different
<fn>each run on otherwise-unchanged code:issue_closelib/issue-lifecycle.shformula_prepare_profile_contextlib/formula-session.shvalidate_urllib/env.shmemory_guardlib/env.shInterpretation
LIB_FUNSis a grep-based enumeration of functions declared inlib/*.sh— includes the function in every failure.all_fnsis the live bash namespace after the smoke's lib bootstrap sources things —countvaries (80/82/93) between runs on similar trees.FAIL [undef]fires when a function is inLIB_FUNSbut missing fromall_fns— i.e. a lib grep-discovered it but never actually got sourced at smoke time.all_fnscount + varying victim function across runs = non-deterministic source order / incomplete sourcing in the smoke bootstrap, not a single missing source. The earlier "addlib/env.shas extra source" patch is whack-a-mole against the same bug.Fix (in
.woodpecker/agent-smoke.sh)lib/*.shexhaustively with a stable lexicographic order (for f in $(LC_ALL=C ls lib/*.sh | sort); do source "$f"; doneor equivalent, no glob re-ordering).set -eso any failedsourceaborts the smoke loudly instead of silently shrinkingall_fns.LIB_FUNSexplicitly rather than letting the mismatch present as an undef.After this lands, #707 and #712 should pass CI unchanged.
Secondary finding (lower priority)
Pipeline 1943 (#712 first attempt) failed earlier in
shellcheckwith exit 126 — a different failure mode, flagged by the pipeline linter as:"Specified clone image does not match allow list, netrc is not injected". Track separately if it recurs; not the blocker for #707/#712.Affected files
.woodpecker/agent-smoke.sh— the fix lives here.woodpecker/ci— allow-list warning affects pipeline 1943 secondary findingAcceptance criteria
agent-smoke.shfunction-resolver, non-deterministic lib sourcing.woodpecker/agent-smoke.shbootstrap (stable source order,set -eon source failure)Blocked — issue #742
no_push2026-04-14T20:18:23ZDiagnostic output
Dev-agent failed to push on previous attempt (exit: no_push). Root cause is well-specified in the issue body. Re-entering backlog for retry.