f7c3d504dd
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.
25 lines
1.4 KiB
TOML
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
|