docs(overhaul): contract S5 c3 fix round 1
This commit is contained in:
parent
e2f5385037
commit
def7fd2119
2 changed files with 98 additions and 2 deletions
|
|
@ -687,8 +687,8 @@ Update immediately when a slice changes state. Chat is not the ledger.
|
||||||
| S4-c3b | **LANDED 2026-09-04** — implementation `26e97ba41`, provenance contract `5110bf676`, packet-only correction `3f2f00c9f`; packet §22–§25. Dead classic-group `LocalSortCenters`/`CachedBatch.LocalSortCenter` storage and the alpha camera-parameter/digest chain are deleted. Live per-cell/particle CYpt keys, opaque `SortDistance`, building/private/portal distances, two FIFO lists, all state/barriers, and AP/AD rows remain. | **G3 LEAD SELF-GATE PROVISIONAL PASS; owner acceptance/owner-only rows pending. G4 UNPASSED.** | Retail/deletion lens PASS. Production lens found no code defect and one artifact-provenance omission; packet-only fix round 1 passed its narrow re-review. Fresh campaign: Release 0W/0E; App 132/132; Core 29/29; allocation 2/2 at 0 B; shader 32/32. G3: route 1 13/13, route 2 4/4, route 3 retry 3/3, all exit 0/graceful. The first route-3 attempt stopped before Nanto on registered #462. Exact PNG paths: packet §25. |
|
| S4-c3b | **LANDED 2026-09-04** — implementation `26e97ba41`, provenance contract `5110bf676`, packet-only correction `3f2f00c9f`; packet §22–§25. Dead classic-group `LocalSortCenters`/`CachedBatch.LocalSortCenter` storage and the alpha camera-parameter/digest chain are deleted. Live per-cell/particle CYpt keys, opaque `SortDistance`, building/private/portal distances, two FIFO lists, all state/barriers, and AP/AD rows remain. | **G3 LEAD SELF-GATE PROVISIONAL PASS; owner acceptance/owner-only rows pending. G4 UNPASSED.** | Retail/deletion lens PASS. Production lens found no code defect and one artifact-provenance omission; packet-only fix round 1 passed its narrow re-review. Fresh campaign: Release 0W/0E; App 132/132; Core 29/29; allocation 2/2 at 0 B; shader 32/32. G3: route 1 13/13, route 2 4/4, route 3 retry 3/3, all exit 0/graceful. The first route-3 attempt stopped before Nanto on registered #462. Exact PNG paths: packet §25. |
|
||||||
| S5-c1 | **LANDED 2026-09-04 after the owner-authorized documentation/evidence exception.** Mandatory stop `efb075619` remains in history; final campaign tip `1718832e2`, reviewed scratch tip `b2d56f9e3`. | G4 UNPASSED | Narrow exception re-review PASS. Clean evidence: hermetic 16,760/16,760; inclusive InstalledDat 385 pass / the same documented 10 fail / 1 skip; both exact `d6592d3ac`, `WorktreeDirty=false`, manifests fully verified. Fresh campaign Release 0W/0E, Core 111/111, visibility 38/38, allocation/AP-116 4/4. Lead graphical portal-haze gate PROVISIONAL PASS, exit 0/graceful, 10 PNGs under `logs/selfgate-20260904-171137-s5c1-particle-visibility`; owner inspection pending. |
|
| S5-c1 | **LANDED 2026-09-04 after the owner-authorized documentation/evidence exception.** Mandatory stop `efb075619` remains in history; final campaign tip `1718832e2`, reviewed scratch tip `b2d56f9e3`. | G4 UNPASSED | Narrow exception re-review PASS. Clean evidence: hermetic 16,760/16,760; inclusive InstalledDat 385 pass / the same documented 10 fail / 1 skip; both exact `d6592d3ac`, `WorktreeDirty=false`, manifests fully verified. Fresh campaign Release 0W/0E, Core 111/111, visibility 38/38, allocation/AP-116 4/4. Lead graphical portal-haze gate PROVISIONAL PASS, exit 0/graceful, 10 PNGs under `logs/selfgate-20260904-171137-s5c1-particle-visibility`; owner inspection pending. |
|
||||||
| S5-c2 | **LANDED + REVIEW-CLOSED 2026-09-04; lead graphical gate PROVISIONAL PASS.** Campaign stack `a4de2efc4` -> `048027e71` -> `ef819eedf`; reviewed scratch tip `521f5edda54`; packet §§14–16. The opt-in IA-24 path borrows the exact prior-completed landscape set/flag, selects world casters through S2 CELLARRAY or building `EffectCellId`, selects authored terrain slots, and projects exact active instance runs without rebuilding retained topology. Pack-off remains unchanged. | G4 UNPASSED | Retail/deviation PASS; production's documentation-only fix round 1 narrowly re-reviewed PASS. Fresh campaign Release 0W/0E and affected 137/137. Official evidence: hermetic 16,768/16,768; broader InstalledDat 468 pass / 10 fail / 1 skip; canonical 385 pass / the same 10 fail / 1 skip; manifests and nonpassing identities exact. Valid lead gate `logs/selfgate-20260904-183925-s5c2-candidate-shadow-ab`: seven PNGs, exit 0, graceful logout, no fatal match, no client left. Exact parent `5c106bcdf` A/B at `s5-c2-ab-parent/logs/selfgate-20260904-183815-s5c2-parent-shadow-ab` proves the gate-visible dark lighting switch predates c2; #469/IA-24 carry it for resolution or explicit owner acceptance before G4. Owner PNG inspection pending. |
|
| S5-c2 | **LANDED + REVIEW-CLOSED 2026-09-04; lead graphical gate PROVISIONAL PASS.** Campaign stack `a4de2efc4` -> `048027e71` -> `ef819eedf`; reviewed scratch tip `521f5edda54`; packet §§14–16. The opt-in IA-24 path borrows the exact prior-completed landscape set/flag, selects world casters through S2 CELLARRAY or building `EffectCellId`, selects authored terrain slots, and projects exact active instance runs without rebuilding retained topology. Pack-off remains unchanged. | G4 UNPASSED | Retail/deviation PASS; production's documentation-only fix round 1 narrowly re-reviewed PASS. Fresh campaign Release 0W/0E and affected 137/137. Official evidence: hermetic 16,768/16,768; broader InstalledDat 468 pass / 10 fail / 1 skip; canonical 385 pass / the same 10 fail / 1 skip; manifests and nonpassing identities exact. Valid lead gate `logs/selfgate-20260904-183925-s5c2-candidate-shadow-ab`: seven PNGs, exit 0, graceful logout, no fatal match, no client left. Exact parent `5c106bcdf` A/B at `s5-c2-ab-parent/logs/selfgate-20260904-183815-s5c2-parent-shadow-ab` proves the gate-visible dark lighting switch predates c2; #469/IA-24 carry it for resolution or explicit owner acceptance before G4. Owner PNG inspection pending. |
|
||||||
| S5-c3 | **CONTRACTED 2026-09-04; implementation pending.** Packet §17 is binding. | G4 UNPASSED | Exact building part-0 degrade selection, selected-Gfx complete-body gate, selected shell submission, shared retail FPS/automatic-degrade owner, and the three live Config preferences. Per the owner's 2026-09-04 override, one OpenAI implementation agent works in the detached scratch worktree; lead verification and both sequential OpenAI reviews precede landing. |
|
| S5-c3 | **IMPLEMENTED IN SCRATCH; RETAIL REVIEW FAIL; FIX ROUND 1 CONTRACTED 2026-09-04.** Packet §17 is the base contract; §18 is the bounded repair. | G4 UNPASSED | The typed building selection, exact complete-body gate/order, Setup part zero, selected shell/residency, shared owner, Config wiring, census, scope, and mutations passed lead verification plus the first OpenAI retail lens. Review found one MAJOR exact-port defect: FPS, CalcDegLevel, and selector thresholds round x87 intermediates to binary32 too early (three concrete one-bit/boundary witnesses), plus one MINOR stale AP-198 claim that the already-live Landscape Draw Distance remains dead. OpenAI fix round 1 repairs only those arithmetic store boundaries and register truth; narrow retail re-review then the full sequential production review precede landing. |
|
||||||
| S5 | IN FLIGHT — c1 and c2 landed/review-closed/provisionally self-gated; c3 contracted; c4–c5, #469 disposition, closeout, and G4 remain | G4 | Packet §§7 and 12–17 are binding; S5-c3 implementation is next; never merge main before G4. |
|
| S5 | IN FLIGHT — c1 and c2 landed/review-closed/provisionally self-gated; c3 fix round 1 contracted; c4–c5, #469 disposition, closeout, and G4 remain | G4 | Packet §§7 and 12–18 are binding; S5-c3's bounded review repair is next; never merge main before G4. |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1234,3 +1234,99 @@ lifecycle identity, allocation, allowed scope, build/lane provenance, and at
|
||||||
least three reproduced sabotage claims. Reviews run sequentially. A failed
|
least three reproduced sabotage claims. Reviews run sequentially. A failed
|
||||||
lens gets one bounded fix contract; a chunk needing a third fix round stops
|
lens gets one bounded fix contract; a chunk needing a third fix round stops
|
||||||
and is written up.
|
and is written up.
|
||||||
|
|
||||||
|
## 18. S5-c3 fix round 1 — x87 store schedule and register truth
|
||||||
|
|
||||||
|
The first sequential OpenAI retail/deviation review returned **FAIL** on the
|
||||||
|
uncommitted scratch implementation: one MAJOR exact-arithmetic defect and one
|
||||||
|
MINOR pre-existing register-truth defect. Everything else in §17 passed. This
|
||||||
|
is the first bounded fix round; it does not reopen selection ownership,
|
||||||
|
building traversal, residency, Config wiring, or any S5-c1/S5-c2 behavior.
|
||||||
|
|
||||||
|
The reviewer independently re-confirmed the executable SHA, CodeView GUID/age,
|
||||||
|
all seven §17.1 byte-range hashes, the named-decomp semantics, the complete
|
||||||
|
§17.2 census, the complete-body order, Setup part zero, selected-shell identity
|
||||||
|
and surface preservation, no base fallback, scope, lifecycle wiring, the other
|
||||||
|
register edits, and every required mutation. Its clean focused return was
|
||||||
|
64/64, and the scratch state was restored exactly.
|
||||||
|
|
||||||
|
### 18.1 F1 — preserve retail's x87/store boundaries
|
||||||
|
|
||||||
|
The candidate currently rounds arithmetic too early in three places. Repair
|
||||||
|
only these exact boundaries, allocation-free:
|
||||||
|
|
||||||
|
1. `SceneTool::UpdateFPSCounter @0x0043E510` sums the 20 stored single-precision
|
||||||
|
frame durations in x87 precision and divides before narrowing once at the
|
||||||
|
published FPS store. Accumulating into a C# `float` is not equivalent. Use
|
||||||
|
a wider accumulator that exactly sums the 20 binary32 inputs, perform the
|
||||||
|
division wide, then narrow once to `float`. Restore retail's physical
|
||||||
|
history direction: shift old slots `0..18` to `1..19`, then store the
|
||||||
|
just-finished binary32 duration at slot 0. The prior-20-before-insert order
|
||||||
|
remains unchanged.
|
||||||
|
2. `Render::CalcDegLevel @0x0054CAF0` evaluates its five membership weights,
|
||||||
|
weighted numerator/denominator, addition, and clamp in x87 precision except
|
||||||
|
at the explicit binary32 stores visible in the named function. Re-express
|
||||||
|
the pure calculation with wide intermediates fed by the exact binary32
|
||||||
|
constants (`-0.150000006f`, `-0.02f`, `0.01f`, `0.1f`) and narrow only at
|
||||||
|
retail's candidate store. The stability comparison promotes each binary32
|
||||||
|
history slot and candidate and compares against the executable's qword
|
||||||
|
`0.01`, not `0.01f`. Keep the existing shift-before-evaluate and final
|
||||||
|
current-multiplier store order.
|
||||||
|
3. `GfxObjDegradeInfo::get_degrade @0x0051E4B0` stores the effective distance
|
||||||
|
after `abs(distance)-DegradeDistance`, but evaluates each positive/negative
|
||||||
|
threshold in x87 precision and compares the stored binary32 effective value
|
||||||
|
against that wide threshold. Do not round the threshold to `float` before
|
||||||
|
the strict comparison. Disable/force precedence, strict `<`, equality
|
||||||
|
advance, final slot, modes, and NaN/infinity behavior stay unchanged.
|
||||||
|
|
||||||
|
Add bit-exact independent assertions for all three proven witnesses:
|
||||||
|
|
||||||
|
- FPS history `[0.001f, 0.005f] × 10` publishes bits `0x43A6AAAB`
|
||||||
|
(`333.333344f`), not the candidate's `0x43A6AAAC`;
|
||||||
|
- `CalculateCandidate(14f, 0f)` publishes bits `0x3BB2BC0A`, not
|
||||||
|
`0x3BB2BC0B`;
|
||||||
|
- with ideal/max `24f/48f`, multiplier `0.0020020019728690386f`, and
|
||||||
|
effective distance `24.04804801940918f` (`0x41C06267`), retail's wide
|
||||||
|
threshold remains strictly greater and selects the first level.
|
||||||
|
|
||||||
|
Also pin the qword stability edge directly and the slot direction without
|
||||||
|
reflection-only self-comparison. Each of these changes needs a named mutation
|
||||||
|
and actual first failing assertion: restore float FPS accumulation; restore
|
||||||
|
float CalcDeg intermediates or `0.01f`; restore a rounded selector threshold;
|
||||||
|
reverse the FPS slot direction. Restore every mutation before return.
|
||||||
|
|
||||||
|
### 18.2 F2 — correct AP-198's already-live landscape radius
|
||||||
|
|
||||||
|
`AP-198` is stale independently of this chunk: `Render_LandscapeDrawDistance`
|
||||||
|
already feeds `RuntimeSettingsController`'s live far radius, and the Config
|
||||||
|
controller maps its persisted default 8 to the selected Medium entry. Remove
|
||||||
|
that control from AP-198, change every six-row statement to five, and delete
|
||||||
|
the obsolete no-highlight sub-note. Keep the actual Config dim set at 17/27;
|
||||||
|
S5-c3 still changes only Automatic Degrades, Graphics Performance, and Degrade
|
||||||
|
Distance from store-only to live. No row is added or retired, so active table
|
||||||
|
counts do not change. Add or update a truth pin that fails on the old six-row
|
||||||
|
wording or the obsolete no-highlight statement.
|
||||||
|
|
||||||
|
### 18.3 Scope, return, and review order
|
||||||
|
|
||||||
|
Production edits are limited to `BuildingDegradeController.cs` and
|
||||||
|
`Walk/WalkBuilding.cs`. Test edits are limited to their existing focused test
|
||||||
|
files plus the existing Config/register truth pin if required. The only
|
||||||
|
documentation edit in the implementation remains
|
||||||
|
`docs/architecture/retail-divergence-register.md`. Do not change controller
|
||||||
|
ownership/tick placement, selection/result shapes, building factory or
|
||||||
|
transforms, portal walk/order, shell classification, residency, materials,
|
||||||
|
surface overrides, UI wiring, RHI/shaders, DAT readers, or any other register
|
||||||
|
row. No graphical client.
|
||||||
|
|
||||||
|
Return the exact changed-file list; `git diff --check`; Release solution build
|
||||||
|
0W/0E; the bit-exact math/selector/controller and Config/register focused
|
||||||
|
lanes; the original S5-c3 focused lane; official hermetic lane; inclusive
|
||||||
|
InstalledDat lane with exactly the documented global identities; and the new
|
||||||
|
mutation ledger. Do not commit—the lead owns the reviewed landing commit under
|
||||||
|
the owner's OpenAI-only process override.
|
||||||
|
|
||||||
|
The same OpenAI retail lens narrowly re-reviews F1/F2 and regression evidence
|
||||||
|
first. Only its PASS unlocks the sequential OpenAI architecture/production/
|
||||||
|
gate-honesty review over the entire S5-c3 stack. A failed re-review receives
|
||||||
|
the one remaining bounded fix round; another failure after that stops S5-c3.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue