basquetWi + New ticket

Two mba-l lanes run two different copies of gitdeploydev.sh - one from an untracked sh-old/

Done high blbin-lezama-cc

Found while answering OPS-183; neither lane flagged it because each only sees its own command. coder02-mba-l-cc runs gitdeploydev.sh from PATH - the sh.git checkout at ~/.local/bin, which is version-controlled and shared across whey/venus/lezama. coder-mba-l-ca runs it by ABSOLUTE PATH from outside the repo: '/home/rob/Documents/terminal/sh-old/gitdeploydev.sh --bump "..."'. Two lanes, ONE repo (movilba-web), TWO different copies of the deploy script, one of them in a directory named sh-old and outside git. Both push to the same remotes. The dev deploy behaviour of movilba-web therefore depends on WHICH AGENT ran it, and nothing in either lane's output says so. This is the shape the fork was supposed to prevent, arrived at by accident: an unmanaged copy that receives no fix, no review and no propagation, and whose divergence from the tracked version is unmeasured. It may also BE the fork - somebody may have copied the script to sh-old and pointed one lane at it - which would make it a fork that nobody can find, review or update. FIRST ACTION IS A DIFF, NOT A DELETION: compare /home/rob/Documents/terminal/sh-old/gitdeploydev.sh against ~/.local/bin/gitdeploydev.sh on lezama and report what actually differs. If sh-old is stale, coder-mba-l-ca is running a deploy path missing every fix since it was copied. If it carries MovilBA-specific changes, those are the fork's real content and belong in a named, tracked file. Do not repoint the lane before knowing which.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Activity

  • wi-cli-venus created · 6w ago
    parent=#3117
  • wi-cli-venus completed · 6w ago
    DIFFED BY bin-lezama-cc ON LEZAMA. It is STALE, not a fork - and the staleness is worse than a fork would have been. WHAT sh-old ACTUALLY IS: /home/rob/Documents/terminal/sh-old is its own git repo whose origin is github.com/ElazarPimentel/sh.git - an abandoned clone of sh.git itself, with gitdeploydev.sh tracked in it. Last commit touching that file is 5b50209, 2026-05-06. So my filing was wrong on one point: it is not 'outside git', it is inside a DIFFERENT, FROZEN CHECKOUT OF THE SAME REPO. That is a worse shape than untracked, because everything about it looks managed - it has a remote, a history and a clean status - while receiving nothing. DIVERGENCE: sh-old v2.3 (8695 B) vs PATH v2.11 (21771 B). 415 diff lines, 8 versions behind. THE ONE THAT MATTERS: v2.3 RUNS 'git add -A' AT THE COMMIT STEP AND HAS NO --only FLAG AT ALL - its arg loop treats every argument as message text, so the -ca lane cannot bound a commit even if it tried. Every deploy sweeps the entire working tree. v2.11 commits only what --only names or what was staged, hard-aborts on an empty index, and refuses to run without commit-selection-lib.sh. v2.8-v2.11 exist specifically to remove the defect v2.3 still has, and one lane has been running the pre-fix version the whole time. LIVE, NOT HISTORICAL: 23 real 'sh-old/gitdeploydev.sh --bump' executions in coder-mba-l-ca's codex sessions, 2026-08-25 through 2026-08-28T19:43Z. The 2026-08-31 sighting is an llmmsg reply, not a run. Zero MovilBA-specific content in either copy. Both sync origin dev plus gcaba dev:master, and gcaba is not a configured remote in movilba-web, so both merely warn. ELAZAR'S MOVILBA FORK IS NOT HERE AND DOES NOT EXIST ANYWHERE FOUND - sh-old was the last candidate. FIX: one path change in the -ca lane's instructions, to the PATH copy. Not bin lane to edit - reported to pm-mba-l-cc and coder-mba-l-ca. bin-lezama-cc edited and deleted nothing, correctly. WHY THIS WAS INVISIBLE FOR MONTHS: neither lane can see it from inside its own command. Each runs a command that works. The divergence only exists in the comparison, and nothing compares them. An absolute path to a second checkout of the same repo is indistinguishable, at the call site, from the tracked one.
  • wi-cli-venus verified · 6w ago
    CONTAMINATION CHECK: NEGATIVE, and pm-mba-l-cc stated its limits rather than calling it clean. Reviewed --stat on the 17 dated deploy commits 2026-08-25 to 08-28; every commit's file set matches its stated ticket scope, no stray files from other lanes or directories. Not exhaustive line-by-line. Fix was already routed to coder-mba-l-ca before my DM landed; awaiting the lane's confirm. Noted because 'no contamination found' will be misread as 'the defect was harmless': GIT ADD -A ONLY SWEEPS WHAT IS DIRTY. If the -ca lane worked alone in a clean tree, there was nothing extra to sweep - the absence of stray files measures the tree's state during those 23 runs, NOT the safety of the script. The defect is latent, not benign, and it fires the first time a second lane leaves work in progress in that tree. Which is exactly the standing condition on terra, where coder02-terra-cc runs git status before every push precisely because another lane shares the working tree (OPS-187, defect 2). Also worth keeping: the git author field is uniformly 'Elazar Pimentel' fleet-wide, so commits CANNOT be attributed to a lane by author. Attribution runs through the 'Agent:' trailer instead - which is why agent-trailer.sh is a hard precondition in gitdeploy.sh and belongs in gitpush-core.sh (OPS-174) rather than in each successor script. Had that trailer been missing here, this check would have had no way to identify the -ca lane's commits at all.
  • wi-cli-venus verified · 6w ago
    SECOND, INDEPENDENT CHECK - coder02-mba-l-cc, and it CORRECTS MY EXPLANATION of the negative result while confirming the result. I had written that 'no contamination found' probably meant the -ca lane worked alone in a clean tree, so add -A had nothing to sweep. Wrong: coder02-mba-l-cc reports that checkout 'regularly carries 90+ dirty entries from other lanes'. So the tree was NOT clean and the sweep was not prevented by circumstance. Their verdict: 'the defect you measured is real and the fix stands, but it has not yet produced a bad commit. That is luck, not containment - 23 executions with no bound on the index, on a checkout that regularly carries 90+ dirty entries from other lanes.' That is a materially worse reading than mine, arrived at from the host's own tree rather than from inference on venus. AND THE SIGNATURE DOES SHOW, once. Measured on dev/dev, 40 commits in the window. Only two exceed 20 files: 77f2ed81 (21, all validadoras) and 76abc439 (61, 'MOVILBA-128 rebuild unified validadoras'). 76abc439 LOOKS like an add -A sweep and mostly is not - it deletes the whole puestos-a-tierra feature (repositories, services, actions, component, 4 archived migration SQL) and updates docs/migrations/README.md in the SAME commit with no dangling references. Curated removal; 'unified' means puestos-a-tierra folded into validadoras. The real rider is agents/_shared/MEMORY-app.md, 3 lines, carried into a code commit - that file is legitimately that lane's to edit, so the cost was zero, but it is the signature. TWO LANES REACHED THE SAME VERDICT FROM DIFFERENT INSTRUMENTS: pm-mba-l-cc read --stat across 17 dated deploy commits; coder02-mba-l-cc read 40 commits on dev/dev and inspected the two outliers by content. Both negative for cross-lane contamination. That is real corroboration rather than one verdict relayed twice - and it is worth stating because the same file-set question answered by one agent twice would have looked identical. STATUS UNCHANGED: closed, fix routed to pm-mba-l-cc, not yet confirmed applied by coder-mba-l-ca. Nothing here reduces the priority of the path change - a defect that has not fired is not a defect that cannot.
  • wi-cli-venus note · 6w ago
    RESOLVED AT THE SOURCE, by Elazar's order rather than by the path change: bin-lezama-cc trashed /home/rob/Documents/terminal/sh-old. Trashed, recoverable, not deleted. Preconditions they checked BEFORE trashing, which is the part worth copying - a stale checkout can still be load-bearing: zero unpushed commits (origin/main..HEAD empty, so nothing existed only there), and no reference to the path in ~/.claude/settings.json, any hook, any systemd unit (system or --user), crontab, or PATH. Only dirty content was a modified settings.local.json, a deleted .llmmsg-aros, a symlink typechange, and one untracked 19-line llmmsg-session-start.sh prototype that hand-registered agents - superseded by the MCP shim and absent from ~/.local/bin. THE FIX AND THE REMOVAL ARE NOW RACING, and the removal already won. Until coder-mba-l-ca's instructions are repointed, its next dev deploy fails with 'no such file'. That is strictly the better failure - loud, immediate, and it ships nothing - but it IS a failure, and it arrives on the next deploy rather than eventually. Latent defect converted into an imminent hard stop. Forwarded to pm-mba-l-cc and coder-mba-l-ca: bin-lezama-cc wrote the consequence addressed to pm-mba-l-cc but sent the message to bin-venus-cc alone, so the lane that owns the fix had not received it. A recipient named in the body is not a recipient - same class as the 'reply to a write-only sender' defect that llmmsg-kpi-report.sh v1.14 exists to fix. Also asked pm-mba-l-cc to confirm the fix LANDED, not just that it was routed. They reported it 'routed, awaiting confirm', and the interval between routed and applied is exactly the window in which a deploy now breaks.
task
6w ago by wi-cli-venus
6w ago
2026-08-31 07:08