v0.3.0 release review: watchdog re-arm, rule-2 sign-offs, GPL source removal, repo hygiene

Per the 2026-09-19 adversarial pre-ship review (findings.md M-192):

- d318watchdog.c: one-shot per OCCURRENCE, not per process -- re-arm after
  600 ticks of signature absence so a Facility replay in the same session
  (AllUnlocked) is still covered.
- model.c: RULE-2-SIGNOFF records for the retained M-183/M-185 and D311
  defensive clamps (user-approved retention as the stability-maximizing
  option; stale 'Threshold: 50.0' comment corrected to 10.0f; both marked
  post-release removal candidates pending full cutscene re-verification).
- reference/mouse-injector/: removed from the public repo (GPLv2 source +
  prebuilt discord-rpc.lib in an MIT project; never compiled here).
  Provenance stub README remains; path gitignored for local re-vendoring.
  AGENTS.md / GEPD-INPUT-PLAN.md / optionsoverlay.c refs updated.
- scratch/: untracked + gitignored (19 session logs/probe sources were
  committed in the release window).
- findings-index.csv: D317 (and 5 other stale rows) now CLOSED -- added
  CLOSED to gen_findings_index.py's verdict vocabulary.
- docs: D310 perf gauge (no change warranted), GE_DEBUG_UNLOCKALL noted in
  security-and-fidelity-status.md, release notes gain the missing D318
  watchdog bullet + FOV-clamp clarification.

Build verified: ./build-pc.sh ntsc-final clean; gen_findings_index.py
--check and gen_env_probes.py --check pass.
This commit is contained in:
James Dansereau committed 2026-09-20 10:51:12 -04:00
1 parent 63315030f8
commit b3b0ff74db
57 files changed
+157 -11732

No files matched your search

+14 -10
View File
@@ -3,14 +3,17 @@
Status: **plan only** — no code changes yet. Companion to `port/src/input.c`
(current state: D118/D165/D166/D194/D214/D223/D238 lineage).
## 1. The reference (vendored in-repo)
## 1. The reference (no longer vendored in the public repo)
The GEPD Edition Mouse Injector source is vendored at **`reference/mouse-injector/`**
(see its README for provenance, version-skew warning, and a per-file guide).
The file that matters is **`games/goldeneye.c`** (~380 lines, the whole GE
aim model), plus `device.c` (raw mouse polling) and `maindll.h` (tickrate —
the units every per-tick constant assumes). Consult it directly; no
re-extraction needed.
The GEPD Edition Mouse Injector source was vendored at `reference/mouse-injector/`
and **removed from the public repo on 2026-09-19** (GPLv2 code + a prebuilt
binary inside an MIT project; never compiled here). See
`reference/mouse-injector/README.md` for provenance and how to re-vendor it
locally if you need the original. The file that mattered was
**`games/goldeneye.c`** (~380 lines, the whole GE aim model), plus `device.c`
(raw mouse polling) and `maindll.h` (tickrate — the units every per-tick
constant assumes). The model is quoted inline below and in the D194 findings;
the ported result lives in `port/src/input.c`.
### What the Mouse Injector does (GE)
@@ -49,9 +52,10 @@ sensitivity/FOV coupling discipline. That's WIs 1–3 + 6 below.
Two references, two jobs (decided during #89/#90 triage):
- **GEPD Mouse Injector** (`reference/mouse-injector/`) = *what the mouse does
to the camera*. The only reference with GE-specific knowledge (camera
fields, crosshair limits, tank case, safety gates). Primary for WI-1.
- **GEPD Mouse Injector** (was `reference/mouse-injector/`, removed from the
public repo 2026-09-19 — see its README stub) = *what the mouse does to the
camera*. The only reference with GE-specific knowledge (camera fields,
crosshair limits, tank case, safety gates). Primary for WI-1.
- **PD PC port checkout** (standing reference, see AGENTS.md) = *how a PC game
presents and captures input*: cursor-lock behavior, raw input handling,
sensitivity units/scaling, and the shipped in-game options/keybind UI.