Decisions

The decisions in force, one file each under decisions/. Format and rules are in STYLE.

This table is generated. Edit an entry under decisions/, then run tools/split-decisions.sh --index obscene. A number resolves to exactly one file.

# decision status date
🟢 D001 A host build beside the target build decided 2026-09-26
🟢 D002 Announce before attempting decided 2026-09-26
🟢 D003 One machine-readable format; presentation lives in the tool decided 2026-09-26
🟢 D004 Six statuses decided 2026-09-26
🟢 D005 Freestanding C, clang only, no vendor SDK decided 2026-09-26
🟢 D007 Check from the failure side where layouts are unknown decided 2026-09-26
🟢 D008 Nothing is invented; uncertain signatures are omitted decided 2026-09-26
🟢 D009 The section order is one explicit list decided 2026-09-26
🟢 D010 Dependencies are capability bits, not check names decided 2026-09-26
🟢 D012 The build directory is overridable and Linux-local decided 2026-09-26
🟢 D014 Presence and behaviour are separate questions decided 2026-09-26
🟢 D015 A census needs a control in both directions decided 2026-09-26
🟢 D017 The C runtime is a behavioural section decided 2026-09-26
🟢 D018 Derived facts enter the repository as provenance-headed data decided 2026-09-26
🟢 D019 A regression is a check that got worse decided 2026-09-26
🟢 D021 Symbols carry their console generation decided 2026-09-26
🟢 D026 The tooling is Rust, in one binary decided 2026-09-26
🟢 D032 The output channel is chosen by what moves a byte decided 2026-09-26
🟢 D035 The entry point ends the process decided 2026-09-26
🟢 D040 Checks can be excluded, and the default list is empty decided 2026-09-26
🟢 D041 The report is drawn as well as written decided 2026-09-26
🟢 D044 Every check records where its expectation came from decided 2026-09-26
🟢 D046 An intermittent failure is reported with its rate decided 2026-09-26
🟢 D047 Responsiveness is asked separately from correctness decided 2026-09-26
🟢 D049 crack: a hit is proof and a miss is nothing decided 2026-09-26
🟢 D051 Value checks use exact answers that a stub cannot give decided 2026-09-26
🟢 D054 The emulators live outside the repository, read for facts decided 2026-09-26
🟢 D058 A check guards every symbol it calls decided 2026-09-26
🟢 D059 Measurements assert nothing decided 2026-09-26
🟢 D062 The console generation is a build input; everything else is detected decided 2026-09-26
🟢 D067 The headline number is a frontier, not a sum decided 2026-09-26
🟢 D068 Relational checks where no document reaches decided 2026-09-26
🟢 D070 Documentation is checked against the tree decided 2026-09-26
🟢 D071 The orchestration scripts are sh decided 2026-09-26
🟢 D072 Consensus is a substitute oracle within one generation decided 2026-09-26
🟢 D081 Layout checks record bytes and interpret nothing decided 2026-09-26
🟢 D084 obSCEne may consult other projects; orbistoun may not decided 2026-09-26
🟢 D090 The compatibility table is generated and ranks nothing decided 2026-09-26
🟢 D094 Emulators are built from the source that is read decided 2026-09-26
🟢 D096 The blind prober calls what it cannot describe, and never on hardware decided 2026-09-26
🟢 D097 Blame for a loader failure needs a control build decided 2026-09-26
🟢 D102 The command protocol is specified first, with transcripts as contract decided 2026-09-26
🟢 D104 Platform backends are chosen by the source list decided 2026-09-26
🟢 D108 A report and a corpus differ, and only the corpus carries machine origin decided 2026-09-26
🟢 D109 The GPU is probed by executing shaders and reading result bits decided 2026-09-26
🟢 D114 The census walks every symbol; the prober walks a callable list decided 2026-09-26
🟢 D116 A reference oracle for GPU results decided 2026-09-26
🟢 D117 A GPU ISA surface census decided 2026-09-26
🟢 D121 Console generation is observed, never asserted from presence decided 2026-09-26
🟢 D122 Code-execution verbs are off unless a build asks for them decided 2026-09-26
🟢 D125 A gate is trusted only after it has rejected something decided 2026-09-26
🟢 D129 call and read invoke and dump without pre-validating decided 2026-09-26
🟢 D131 GPU kernels are files, and the kernel list is generated decided 2026-09-26
🟢 D132 A serving build listens first and runs the suite on demand decided 2026-09-26
🟢 D137 GPU diffs are keyed by input, not lane decided 2026-09-26
🟢 D138 An unnamed identifier is imported with a $ sigil decided 2026-09-26
🟢 D139 The HUD shows a value or unknown, and is screen-only decided 2026-09-26
🟢 D140 The display prefers the older video-out form when both resolve decided 2026-09-26
🟢 D143 The corpus records what it was mined from decided 2026-09-26
🟢 D144 A timeout is told from a hang by doubling the budget decided 2026-09-26
🟢 D164 The prober's classifier keeps emulator knowledge out decided 2026-09-26
🟢 D165 The command socket takes a secret generated per startup decided 2026-09-26
🟢 D170 A document may anchor a claim to the source decided 2026-09-26
🟢 D172 Exclusions are learned at run time from the previous report decided 2026-09-26
🟡 D176 A patched loader's report never occupies that loader's row assumed 2026-09-26
🟢 D180 Each loading mechanism is its own artifact decided 2026-09-26
🟢 D183 obSCEne does not do what a shell does decided 2026-09-26
🟢 D184 Hardware is registered by address; its capabilities are measured on every use decided 2026-09-26
🟢 D189 The console transport is a shared crate, taken by path decided 2026-09-26
🟢 D192 Corroboration is counted per independent claim decided 2026-09-26
🟢 D199 Scripts reach WSL through one shim decided 2026-09-26
🟢 D200 The file formats live in selfish; measurements stay here decided 2026-09-26
🟢 D202 A mined name a section calls is declared in that section decided 2026-09-26
🟢 D213 The payload runtime is obSCEne's; its format primitives are selfish's decided 2026-09-26
🟢 D220 The modules a title bundles are built here, never copied decided 2026-09-26
🟢 D226 An eboot requires only the libraries the harness needs; the census probes the rest at run time decided 2026-09-26
🟢 D235 An unresolved symbol has three explanations, and the report names which decided 2026-09-26
🟢 D248 Imports are encoded with global binding decided 2026-09-26
🟢 D260 Each source compiles to its own object, keyed by a flags sentinel decided 2026-09-26
🟢 D269 One verb per hardware task, on bin/obscene decided 2026-09-26
🟢 D278 A separate payload loads the probe into a native process decided 2026-09-26
🟢 D296 Privilege tier and application category are independent build inputs decided 2026-09-26
🟢 D297 SDK versions come from an external dictionary and are validated per generation decided 2026-09-26
🟢 D298 A native title carries a process parameter block and compliant bundled modules decided 2026-09-26
🟢 D302 A hardware capture is named for the launch shape, and hardware is the authority decided 2026-09-26
🟢 D303 A scalar out-parameter is poisoned, not zeroed decided 2026-09-26
🟢 D314 The decision gate checks the split log, and finding nothing fails decided 2026-09-26
🟢 D315 A document beside a Makefile names that Makefile's rules decided 2026-09-26
🟢 D316 Porthole drives a virtual controller device decided 2026-09-26
🟢 D317 Porthole reuses oops-sdk for display and memory decided 2026-09-26
🟢 D325 A fault guard catches a crashing check so the suite continues decided 2026-09-26
🟢 D327 The payload zeroes its own .bss decided 2026-09-26
🟢 D328 A pending status for a check that is waiting for its input decided 2026-09-26
🟢 D331 A borrowed value is a hypothesis a check can refute, not an expectation decided 2026-09-26
🟢 D334 The default suite runs only checks that retire reliably decided 2026-09-26
meaning
🟢 settled, and the reasoning rests on something checkable
🟡 assumed or proposed - made without input, and in the review queue
🔴 reversed, superseded or blocked
⚪ no status recorded

A date with ~ is not recorded - it is worked out from the dated entries either side, because an entry between two of them was written between their dates. ~ alone is a day both neighbours agree on; ~a..b is a span, and no day inside it is claimed; ~>a and ~<a are entries with a dated neighbour on only one side. A bare - has no dated entry either side to reason from.