Skip to content

fix(ci): declare the failing-job list before the branch that can skip it - #9

Merged
github-actions[bot] merged 1 commit into
masterfrom
ci-redbase-init
Aug 7, 2026
Merged

fix(ci): declare the failing-job list before the branch that can skip it#9
github-actions[bot] merged 1 commit into
masterfrom
ci-redbase-init

Conversation

@catomean

@catomean catomean commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

Follow-up to the red-base carve-out: it declared the failing-job list inside
the else branch of the "does the base have CI history?" check, but set -u is
on and the merge site always reads it.

So on a base branch with no CI history at all, the sweep took the
"proceeding" path and died:

[auto-merge] no CI history for main — proceeding
auto-merge-sweep.sh: line 249: base_red_jobs: unbound variable
exit 1

That is auto-merge dead for every PR in the repo, not a degraded path. Latent
here because this base does have CI history — but it is one fresh repo away from
being real, and it was introduced by my own change.

Fixed by declaring it once, before the branch that can skip the assignment.
Covered upstream by a regression test that runs the real script against a gh
reporting no CI history.

🤖 Generated with Claude Code

@github-actions
github-actions Bot merged commit 7d1c990 into master Aug 7, 2026
1 check passed
@github-actions
github-actions Bot deleted the ci-redbase-init branch August 7, 2026 09:52
github-actions Bot pushed a commit that referenced this pull request Aug 27, 2026
…now (#52)

CLAUDE.md called the PyQt beacon and dashboard "the core product". Neither
file has existed for months: the dashboard was deleted in 9717cf2 ("kill
dashboard") and claude-popup.py was renamed in 8fa7ea7. Every session opening
this repo was being briefed on a product that is gone, and told to test it
with a command that cannot run.

What was actually left behind pointed at ~/dev/cockpit, a directory that
stopped existing when that repo became fleetcrown:

- beacon.py exec'd ~/dev/cockpit/scripts/beacon.py            -> deleted
- lib.sh sourced ~/dev/cockpit/scripts/agent-hook-lib.sh      -> deleted
- notification.sh exec'd a fleetcrown-beacon bridge that is
  also gone, so the wired Notification hook failed every pause -> no-op,
  matching stop.sh, which has been a documented no-op since 2026-06-11

.bashrc carried the same rot, plus a duplicate-definition bug: claude() and
codex() were each defined twice, ~130 lines apart, so the first copy of each
never ran. Removed the dead copies, cockpit() (cd into the missing dir), and
the zellij-tab project detection — _agent_resolve_project_dir mapped the
focused tab name through claude-projects.conf and silently cd'd there, which
the global standards already declare retired. It was provably dead: tabs read
"Tab #9" and match nothing, and 5 of the conf's 22 entries pointed at
directories that no longer exist. Verified with --norc that the three removed
functions are gone and every live one still resolves.

The close_session prompt was the last consumer of that mapping, and the
reason a file literally named "Tab #1" is sitting in ~/.claude/sessions. It
now derives the project from the git repo root, so worktrees resolve to their
repo instead of the worktree name.

Gitignored fleetcrown-*.sh: Fleet Runner generates and rewrites them, so they
are FleetCrown's output, not this repo's source.

CLAUDE.md and README.md now say what is true — this is the environment plus
the fleet's central audits, and agent dispatch belongs to FleetCrown.


Claude-Session: https://claude.ai/code/session_01AZCNYHwjEeqxNpYCUk6Yna

Co-authored-by: Mao Nakamoto <41178744+maonakamoto@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant