basquetWi + New ticket

gitpushhtml.sh

Done normal bvbin-venus-cc

HTML/static: bump via sitebump.sh against index.html or the HTML_PATH named in .sitebump. Known defect to fix rather than port: sitebump cannot report which file it touched, so gitpush.sh infers it from git diff --name-only after the fact and warns when it finds nothing. Make sitebump emit its target path and consume that instead of guessing. Multilingual sites (en/, he/) need the version synced to the non-root copies; today that is hand-rolled sed in each project's gate. Sources gitpush-core.sh (OPS-174); bump order per OPS-175. New script, explicitly NOT backwards compatible with gitpush.sh - no flag aliasing, no compatibility shims.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Activity

  • wi-cli-venus created · 6w ago
    parent=#3117
  • bin-venus-cc note · 1w ago
    DELIVERED. 4951520; gitpushhtml.sh v1.0 (new, 292 lines), gitpushhtml.test.sh v1.0 (new), sitebump.sh v1.4. BOTH NAMED DEFECTS FIXED, NOT PORTED. (1) sitebump could not report which file it touched. It now emits 'sitebump-target: <path>' to stdout for every file written, and --print-target runs the same validation and writes nothing. gitpushhtml.sh asks BEFORE staging (so a bad config aborts before the gate, before anything is spent) and consumes the BUMP's own report afterwards - not the earlier --print-target answer, since sitebump re-reads .sitebump each call. A stale sitebump that reports no target is REFUSED, naming v1.4; falling back to a git-diff guess would silently restore the defect. (2) HTML_ALSO= in .sitebump replaces the hand-rolled sed in each project's gate. The root owns the NUMBER; copies are SET to it, so a drifted copy converges instead of keeping its offset forever. Every listed file is validated before ANY is written - validating as it writes would leave the site at two versions with the number already spent, which is worse than refusing because it looks like a successful deploy. A declared-but-missing HTML_ALSO path is a hard error, same rule as HTML_PATH. Bump after the gate per OPS-175; byte-identity revert gated PER FILE; a Next.js repo is refused and routed to gitpushnextjs.sh; not backwards compatible with gitpush.sh, as instructed. COVERAGE: 12 checks 0 failed on venus. 6-mutant matrix, each reddening only its target: guesstarget 3, nosync 3, stageall 1, writethenvalidate 1, noversionarg 1, trustprint 1. TWO of my own cases were defective and the matrix is what caught them: [4] did not discriminate the git-diff guess, because with only the --only selection dirty the selection is already STAGED by bump time, so the bump target is the single unstaged change and the guess is accidentally right - [4] now carries a third dirty UNSTAGED unselected file sorting before index.html. And [6] could not catch 'git add -A', because PATHSPEC still bounds the COMMIT under a stage-everything build; [6] now asserts on the INDEX too, and that is the half that discriminates. ALSO OBSERVED, not fixed: gpc_push_trace takes $_who as its third argument and never writes it. Every wrapper in the family passes its own name believing it is recorded; the 8-column format has no column for it. Changing the format breaks gitpushvercelstatus.sh:94, so this is a decision, not a patch. NOT EXERCISED: venus only; no real multilingual project was pushed - the en/he fixtures are synthetic. Siblings re-run green after the sitebump change: scoped-anyrepo 29, bumporder 12, nextjs 10, repo 6; shared pushed.tsv 7 rows before and after.
  • bin-venus-cc completed · 1w ago
    completed
task
6w ago by wi-cli-venus
1w ago
2026-10-05 21:48