Files
RedBear-OS/local/docs/fork-push-status/2026-07-12-Round-9-phase-8.3.md
T
vasilito 3cbdad57e1 phase 8.4: update PATCH-PRESERVATION-AUDIT + fork-push-status doc for Round 9
Round 9 (Phase 8.x) outcomes:
- Phase 8.1: Legacy archive audit — 0 cross-archive duplicates,
  3 empty dirs removed (legacy-absorbed/base/redoxfs/userutils),
  97 superseded + 62 absorbed = 159 archived verified
- Phase 8.2: Collision detection now tracks base's dynamic build
  paths from Makefile (18 hardcoded entries: initfs, init.d,
  pcid.d, drivers). Source field shows 'build-dynamic'.
  Production: 162 paths surveyed, 0 collisions.
- Phase 8.3: New fork-push-status doc for Round 9
  (local/docs/fork-push-status/2026-07-12-Round-9-phase-8.3.md)
  documenting the operator's reversion of Round 5 pushes and the
  current deadlock state.

Updated:
- PATCH-PRESERVATION-AUDIT cumulative reduction table: added
  After Phase 8.2 row
- README.md fork-push-status link updated to Round 9 doc

Cumulative: 122 patches, 0 orphans (0%) through 9 rounds.
2026-07-12 12:13:42 +03:00

3.6 KiB

Fork-Branch Push Status — 2026-07-12 (Round 9, Phase 8.3)

This obsoletes the Round 5 doc. See the later section for the current state after operator reversion and multiple rounds of observation.

Round 5 pushes (2026-07-12, since reverted by operator)

In Round 5 Phase 4.0, 6 forks were force-pushed to origin:

Fork Before After Status
installer 6afa6e5 8294ecb reverted
kernel 77e745a b2a92287 reverted
syscall c8bc43a 6e4e5bd reverted
libredox 52c324c b99b204 reverted
userutils ac3cff2 0dc0cb7 reverted
relibc bae63d9 d157c227 reverted

Round 7 audit discovered all 6 pushes were operator-reverted between Round 5 and Round 7. The origin's submodule/<fork> refs were deleted (replaced with the older master or removed). The local fork work is preserved in local/sources/<fork> regardless of origin state.

Current state (Round 9, 2026-07-12)

Fork Local SHA Ahead Behind Notes
base ab0da306 2569 190 DEADLOCKED — gitea receive.shallowUpdate=true
bootloader c78c3a6 11 128 927 vs 77 files divergence (permanent)
installer 8294ecb 61 0 diverged mode (advisory)
kernel b2a92287 49 0 pushed in Round 5, reverted
libredox b99b204 69 11 pushed in Round 5, reverted
relibc 5ee906ee 3437 60 pushed in Round 5, reverted
syscall 6e4e5bd 448 3 pushed in Round 5, reverted
userutils 0dc0cb7 202 12 pushed in Round 5, reverted

Base fork push deadlock (Round 5 → Round 9 — STILL PRESENT)

The gitea server's receive.shallowUpdate=true config (default true on gitea) refuses to accept a push that would deepen the existing submodule/base ref.

Operator-side resolution (3 paths):

Path A — gitea admin shell:

ssh operator@gitea.redbearos.org
gitea admin repo-edit --receive.shallowUpdate=false vasilito/RedBear-OS

Path B — gitea web UI: Settings → Branches → uncheck shallow update

Path C — use local/scripts/unblock-base-push.sh for guidance

Bootloader fork divergence (permanent as of Round 9)

927 files vs upstream 1.0.0's 77 files. The bootloader was created from a 0.1.0 pre-patched archive, NOT from a git clone of upstream 1.0.0. The divergence is structural — 856 files of legitimate Red Bear work. An upgrade-forks.sh bootloader would need to re-create the entire release from scratch. Marked as permanent divergence in local/fork-upstream-map.toml ('diverged' mode).

Audit notes

  • All fork work lives in local/sources/<fork>/ local clones. The origin refs are optional — the build system uses path = "..." source type for all Cat 2 forks and does not depend on the origin refs.
  • The push-fork-branches.sh script was created in Round 5 and supplemented with unblock-base-push.sh in Round 6.
  • For a consolidated status report at any time, run: ./local/scripts/patch-status.sh (or --brief / --json).
  • The verify-fork-versions.sh check passes for all 9 Cat 2 forks (2 are advisory 'diverged', 1 has kernel-couldn't-ls-remote).

See also

  • local/docs/PATCH-PRESERVATION-AUDIT-2026-07-12.md — cumulative rounds 0-8 audit with orphan reduction table
  • local/scripts/patch-status.sh — operator-facing status tool
  • local/scripts/push-fork-branches.sh — operator-reviewed fork push
  • local/scripts/unblock-base-push.sh — base fork deadlock resolver