Files
RedBear-OS/local/fork-upstream-map.toml
T
vasilito f7c3d504dd policy: enforce no-fake-version-label rule for Cat 2 forks
Per local/AGENTS.md \xC2\xA7 'No-fake-version-label rule':

  Every Cat 2 fork version MUST match the source content from the
  corresponding upstream release + documented Red Bear patches.
  A `-rbN` label on stale content is a fake label and a policy
  violation.

Changes:

  * local/AGENTS.md: documented the no-fake-version-label rule,
    including what counts as a fake label, the enforcement contract,
    and what a real Red Bear fork looks like.

  * local/fork-upstream-map.toml: authoritative mapping of each
    Cat 2 fork (syscall, libredox, redoxfs, redox-scheme, relibc,
    kernel, bootloader, installer, userutils) to its upstream Git
    URL and release tag.

  * local/scripts/refresh-fork-upstream-map.sh: auto-update the
    fork-upstream-map by querying each upstream repo for the
    current latest stable release tag.

  * local/scripts/verify-fork-versions.sh: preflight enforcement
    script. For each Cat 2 fork with a `-rbN` version field:
      1. Compare fork's file list and content against the upstream
         release tag from the map. Reject the build if files are
         missing (would be a fake label).
      2. Reject the build if files exist in local that don't exist
         in upstream (must be moved to local/patches/<fork>/ as
         documented Red Bear patches).
      3. Reject the build if shared files diverge in content.

  * local/scripts/apply-rb-suffix.sh: invokes
    verify-fork-versions.sh after applying the `-rbN` label so the
    build fails fast if the labelled content is fake.

  * local/scripts/build-preflight.sh: invokes
    verify-fork-versions.sh at the start of every build. Bypassed
    only with REDBEAR_SKIP_FORK_VERIFY=1 (emergency only).

  * local/patches/bottom/0001-ratui-0.30-braille-compat.patch: the
    ratatui 0.30+ compatibility shim for bottom 0.11.2.

This is the structural enforcement that prevents fake labels from
ever reaching the build again. The current 6 forks with `-rbN`
labels are flagged by the verifier — they must be rebased onto
their actual upstream release before the build can succeed.
2026-07-05 02:37:54 +03:00

25 lines
1.4 KiB
TOML

# fork-upstream-map.toml — Authoritative mapping of local Cat 2 fork
# directories to their upstream Redox repositories and the upstream
# release tag each fork is based on. Updated by
# local/scripts/refresh-fork-upstream-map.sh. Consumed by
# local/scripts/verify-fork-versions.sh to enforce the "no fake version
# label" rule (local/AGENTS.md § "No-fake-version-label rule").
#
# Format: one line per fork:
# <fork-name> <upstream-git-url> <upstream-release-tag>
#
# A fork with `<X.Y.Z>-rbN>` in its Cargo.toml MUST have its
# `<X.Y.Z>` part match the upstream tag listed here, and the source
# content MUST be a real rebase onto that upstream tag plus documented
# Red Bear patches (in local/patches/<name>/).
syscall https://gitlab.redox-os.org/redox-os/syscall.git 0.9.0
libredox https://gitlab.redox-os.org/redox-os/libredox.git 0.1.18
redoxfs https://gitlab.redox-os.org/redox-os/redoxfs.git 0.9.0
redox-scheme https://gitlab.redox-os.org/redox-os/redox-scheme.git 0.11.2
relibc https://gitlab.redox-os.org/redox-os/relibc.git 0.2.5
kernel https://gitlab.redox-os.org/redox-os/kernel.git 0.5.12
bootloader https://gitlab.redox-os.org/redox-os/bootloader.git 1.0.0
installer https://gitlab.redox-os.org/redox-os/installer.git 0.2.42
userutils https://gitlab.redox-os.org/redox-os/userutils.git 0.1.0