policy: upstream scheme compatibility is ABSOLUTE; kernel: bump gitlink
redbear-ci / check (push) Has been cancelled
redbear-ci / check (push) Has been cancelled
New SCHEME COMPATIBILITY POLICY: upstream Redox schemes are frozen
contracts (paths, listing formats, semantics, error codes); Red Bear-only
schemes may be introduced but must never collide with upstream namespaces;
the 2026-08-05 cpu-NN regression is recorded as the canonical violation.
Kernel gitlink bump carries the {:02x} listing revert.
This commit is contained in:
@@ -106,6 +106,34 @@ redox-master/
|
||||
|
||||
## BUILD COMMANDS
|
||||
|
||||
## SCHEME COMPATIBILITY POLICY (ABSOLUTE — CRITICAL)
|
||||
|
||||
**Red Bear OS MUST be fully compliant with upstream Redox schemes.** Schemes created by
|
||||
upstream Redox — their paths, listing formats, open/create/stat semantics, error codes,
|
||||
and on-disk representations — are a compatibility contract, not an implementation detail.
|
||||
Userspace written against upstream Redox MUST work on Red Bear OS without modification.
|
||||
|
||||
- **Upstream schemes are frozen contracts.** Any bug fix or feature work inside an
|
||||
upstream scheme (e.g. `scheme:irq`, `scheme:pci`, `scheme:memory`, `scheme:serio`,
|
||||
`scheme:time`, `scheme:kernel.acpi`) MUST preserve the upstream contract exactly —
|
||||
path shapes (e.g. `/scheme/irq/cpu-{:02x}`), directory listing formats, handle
|
||||
semantics, and error behavior.
|
||||
- **New Red Bear-only schemes MAY be introduced** where upstream has no equivalent
|
||||
(e.g. `scheme:quirks`, `scheme:firmware`, `scheme:driver-params`). They must be
|
||||
clearly named, documented in `local/docs/`, and must never collide with or alter the
|
||||
meaning of any upstream scheme namespace.
|
||||
- **Upstream scheme evolution is adopted, never resisted.** When upstream Redox changes
|
||||
a scheme, Red Bear adapts to the new upstream contract (per the GOLDEN RULE) — we do
|
||||
not hold back, fork, or "improve" upstream scheme semantics on our own.
|
||||
- **Canonical violation (regression, 2026-08-05):** the MADT-normalization rewrite
|
||||
changed the `/scheme/irq/cpu-NN` listing from upstream `cpu-{:02x}` to variable-width
|
||||
`cpu-{:x}`, and broke `cpu-XX/<irq>` handle creation entirely (split_once consuming
|
||||
the separator) — panicking xhcid and virtio-netd with "no interrupt vectors left".
|
||||
Both were fixed immediately. This is the reference example of a scheme-contract
|
||||
violation: an upstream scheme's contract was changed as a side effect of unrelated
|
||||
feature work. Any change touching an upstream scheme's observable behavior must be
|
||||
called out explicitly in its commit message and verified against upstream semantics.
|
||||
|
||||
### ⛔ CANONICAL BUILD POLICY (ABSOLUTE — READ FIRST)
|
||||
|
||||
**The ONLY way to build Red Bear OS is `./local/scripts/build-redbear.sh`.**
|
||||
|
||||
+1
-1
Submodule local/sources/kernel updated: 88ca99c1a8...46ea4facf4
Reference in New Issue
Block a user