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

84 lines
3.6 KiB
Markdown

# 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:
```bash
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