Updated 2026-10-22. Exact reconstruction is active under the operator's renewed instruction to checkpoint and push bounded work. Historical investigations belong in Git, the knowledge base and linked evidence packs. Older reports describe their own source/build context, not the current baseline.
- Use only the original Japanese TH10 v1.00a, ignored
resources/th10.exe: SHA-2562f14760b6fbbf57549541583283badb9a19a4222b90f0a146d5aa17f01dc9040. - Read
AGENTS.md, RE_WORKFLOW.md and ORACLES.md, inspect tracked/untracked work and review the diff before editing. - Preserve independent, unadopted
docs/evidence/d3d-adapter-format/(nine untracked files). This batch neither changes nor stages that work. - Use
scripts/repo-pythonfor repository Python. The operator requests direct local tools, no Factory MCP. Local Ghidra review is read-only/noanalysis with rollback, one CPU and 768 MiB heap; serialize native builds at nice10. - Verify disk identity and complete mapped text before/after Ghidra metadata
work: 401000..465A80 inclusive, 412289 bytes, SHA-256
cbe16ea35965fd0e6cda23b3680c72e806924c488202f1c9a6602a606f925d2f. The older 64A80-byte digest covers a truncated prefix. - Operator-authorized checkpoints use English
gpt-6.1-sol: ...commits and push toorigin/mainafter validation. Replay only necessary affected units.
git status --short --branch
git diff --check
scripts/repo-python scripts/verify-target.py
scripts/repo-python scripts/verify-toolchain.py --execute
scripts/repo-python scripts/validate-tracking.py --require-target
scripts/repo-python scripts/report-reconstruction-status.pyGenerated progress:1776 reviewed candidates,735 confirmed authored functions/273576 bytes,1088 source mappings and1238 exact functions overall. Authored exact is 397 functions/72387 bytes (26.46% provisional); overall exact138897 bytes.605 authored functions have source,208 remain source-present/nonexact and130 source-absent. Source-present authored bytes are 246417/273576 (90.07%).523 origins remain indeterminate; the complete-game denominator remains unknown.
The latest Hint entry controls recover the target position/call instruction shape, chapter-branch direction and inlined initialization order using natural source. AddAutomaticEntry now emits 212/220 in the selected six-TU graph and remains nonexact; no exact count or byte credit changes. The34-byte position/call fragment is a diagnostic only. The standalone constructor remains51/51 with14 ordinary differences; its raw body is unchanged by the selected initialization order. Four-channel initialization regresses to242/220 and72/51 and is restored to the packed color assignment. Shared chapter loads, allocation-pointer and self-link scheduling remain open; do not infer volatile or a unique original spelling from these observations.
The prior Player state2 and caution work recovers three complete source bodies:4269D0/796,41A120/220 and424650/104. It added only Caution104 exact. Current independent full six-TU colds still prove all104 bytes/all2 fields. Player transition782/796 and parent2808/3089 remain nonexact in this graph. Bound callee addresses grant no callee-byte credit or original owner/TU claim. The Player wrapper's prior normal-COFF7/all1 cold is unchanged; no wrapper replay is needed for this Hint-only edit.
The spell-panel clear preserves frontVm2 and clears seven others;4776F4/477814 reuse the existing panel/Hint views. Faith/rank use existing shared methods. Actual-source state2 contracts exercise1792 transitions plus one bounded-copy case, sanitizers and seven strict functional controls. Existing lifecycle contracts and65 strict intended-CHECK controls also pass with the changed real constructor. Host role projections prove neither native storage/private ABI, original construction nor TH10 runtime/product closure.
Current private work is .analysis/gpt-6.1-sol/hint-entry-copy-20261022/;
start with RECOVERY.md and manifest.json. The selected private carrier is
build/gpt-6.1-sol/hint-entry-copy-20261022/constructor-last, and the independent
canonical cold is build/match-linked/PlayerState2Hint. All five selected native
bodies repeat raw;30 recursive inputs and both artifact sets are pinned in
current evidence.
The prior Player private final-frozen graph remains a historical baseline after
the Hint edit. All32 canonical ten-TU large-owner source pins remain unchanged;
the older eleven-TU Player-containing graph remains historical. These six-TU
measurements are not improvement scores for the three large owners.
Global automatic/manual boundary audit drift remains open:1114 metadata-different rows,49 state differences and107 confidence differences, zero geometry differences. It still first fails at401100's provenance text. Do not bulk overwrite the ledger or equate ordinary tracking/CI success with this independent audit passing. Earlier ECL controls and the 17-byte RET4 correction retain their original checkpoints and validation scopes.
The frozen Hint source passes 106 CI checks. Focused native, state2 and lifecycle checks also pass; validation records their separate scopes. No source, tests or fixtures changed during CI. Only validation documentation and ignored-output cleanup follow it. Final source/native pins and focused gates are checked again before checkpoint.
Cleanup removes6260601 logical file bytes from three superseded native controls and four reproducible CI host-output trees. Current two native carriers, prior private baseline, exact input overlays and compact unresolved facts remain. Nine independent D3D files and unclassified older state are preserved. Broad reconstruction stays active.
The fresh ECL storage controls
independently reproduce the two-TU cold Run baseline:7020 bytes,26 ordinary
differences, all189 fields/62 locals and the complete171-byte float callee exact.
Grouped LengthSquared declarations, earlier FORMAT counter initialization and
reversed Pop pointer additions produce the identical raw Run body. Sharing one
integer result adds a difference at+AF, rather than the larger graph's+146E.
All four controls are restored; no exact credit or maintained source changes.
The baseline and selected failure remain under
.analysis/gpt-6.1-sol/ecl-residual-storage-20261021/ and its matching build root;
three neutral carriers are pruned (771355 file bytes). Its manifest binds the
restored source, complete input graph, results and independent D3D hashes.
Do not infer original source spelling or TU ownership from these controls.
The table retains the canonical ten-TU checkpoint measurements; its32 input pins still agree. The historical eleven-TU context is no longer current after the Player edit. Aligned positions and equal-sized groups are diagnostics, not partial exact credit; this batch claims no fresh large-owner comparison.
| Owner / target | Current measurement | Remaining work |
|---|---|---|
| ANM ExecuteScript 43EE30 / 9964 | 9964 bytes; 7541/7995 aligned positions; 90/92 target-sized groups; aggregate gap 2 | Child group91, float-index temporaries49/53/54, FlipX61, common-tail2 alignment and slow Tick operand order. |
| ECL Run 44E1A0 / 7020 | 7020 bytes; 6993 matched; all189 linked fields / 62 local destinations; 171-byte float callee exact | 27 ordinary differences: thread argument, SIB, stack homes and common latch. |
| Enemy DispatchEclInstruction 40E770 / 14416 | 14352 bytes; frame2C4; 19 sentinels; 181 selectors / 108 ordered groups; 42 target-sized groups; aggregate gap566 | Laser factory private ABI, tail sharing, packet lifetime and storage/register/stack scheduling. |
Run's generic decoder-normalization flag is false at the final selector byte; strict table/selector annotations still cover all7020 bytes, 60 table words and 88 selectors. Keep the historical separate two-TU result (26 differences) distinct from the current 27-difference graphs.
The fresh count/residual controls resolve the previously uncompiled expression option in the current ten-TU graph. That legacy form and a current-layout one-based loop produce identical complete three-owner bodies, reducing ANM7541->7475 diagnostic positions. Four source spelling/local controls are raw-neutral. Single-axis flag splitting reverses second-vertex Y/Z while leaving total7541 unchanged. Same-context combined flags recover Tick order but reverse Z (7540); reversed-vector repairs regress other components, and copy/operator+= translation grows ANM9984/gap38. All twelve are rejected; maintained source, canonical recipes and exact statistics stay unchanged. Each compiles one /GL object and reuses nine verified game objects, not a full cold ten-TU build;35 whole guards4424/all118 and Run7020/all189/62locals pass.
Current ANM private work is .analysis/gpt-6.1-sol/anm-radial-expression-20261022/;
read its RECOVERY/manifest. Keep the current ten-TU baseline and small combined-
flags failure, plus compact input overlays/results. Earlier
residual/data audit and the historical
eleven-TU failure retain their original scopes. No original source spelling or
physical TU is proven, and a positional total alone cannot authorize adoption.
This control batch passes106 full CI checks with unchanged maintained game code; the current35 whole guards pass again afterward. Only validation documentation and ignored-output cleanup follow. The summary records scope and cleanup of17132488 logical file bytes. All12 exact source overlays, current canonical baseline and the small combined-flags failure remain.
The current bounded data audit validates 45 ordered absolute-memory operands inside 92 ANM spans: 21 literals, 9 canonical globals and 15 vector fields. Ten vector-field accesses alias unrelated four-byte harness anchor names; use reviewed 491C14/491E6C bases, actual addends and opcode scope rather than a MAP-at-address name. This audit excludes prologue, calls, immediates, indexed memory and tables; it is not exhaustive function normalization or data ownership.
For Enemy opcode1B4, a prior complete bounded CFG review finds three generic ReadInt calls on every selected static return path in both images. Native 404A4C is physically in1AA and shared by1B4; target41054F/410580/4105BE stay in1B4. The earlier two-versus-three region count measures layout. Review tail sharing and lifetime before adding another call. Calls were assumed returning and predicates unconstrained; argument/runtime equivalence is not claimed. The reused iVar27 is not one stable packet lifetime. A distinct typed packet already regressed to14476/gap662 in an older nine-TU context.
| Context | Retained output | Input/artifact identity |
|---|---|---|
| Historical eleven-TU graph, Player input changed | build/gpt-6.1-sol/anm-vertex-count-20261021/adopted |
33 source/header inputs, 16 native artifacts; 46 whole guards / 5335 bytes / 142 fields |
| Canonical ten-TU graph, excluding Player | build/match-linked/EnemyItemDrops |
32 inputs, 15 artifacts; five selected canonical units; 35 same-image whole guards / 4424 bytes / 118 fields |
| Canonical two-TU range helper | build/match-linked/AnmRandomU32InRange |
AnmManager + RandomMath; complete 88-byte helper raw-equal, zero fields |
| Rejected combined radial/flags control | build/gpt-6.1-sol/anm-vertex-count-20261021/radial-declarations-flags |
Source, image/MAP/PDB and input pins retained |
Current public hashes, source overlays and target facts are in
the radial counter pack. Private manifests,
producer scripts, reports and CI logs are under
.analysis/gpt-6.1-sol/anm-vertex-count-20261021/; start with RECOVERY.md.
Verify input/artifact hashes before reusing any cache. A rebuild replaces its
pins. Older carriers are historical after the AnmManager.cpp change.
Do not rerun the one-time prepare-proof.py or old experiment runners blindly:
some mutate documentation or restore an old starting source in finally.
Use maintained scripts and pinned overlays against their stated starting HEAD.
Historical producer-dependent carriers are retained for reproducibility.
Adjacent TH08/TH09/TH095 and ignored _reference/th10-decomp are hypotheses
only; that reference checkout is pinned to
c6791d82dc9f02e55eca45a5314f900a85481efd (MIT).
To recreate the necessary current canonical large artifact:
scripts/repo-python scripts/replay-exact-units.py \
--unit enemy-drop-item-counts --unit enemy-drop-item-counts-core \
--unit enemy-finalize-death --unit enemy-cancel-bullet-record \
--unit enemy-cancel-bullet-pattern --json
scripts/repo-python scripts/diagnose-ecl-run-native.py \
--unit enemy-cancel-bullet-pattern \
--artifact-dir build/match-linked/EnemyItemDropsThe radial checkpoint code passed 105 CI checks. One full ten-TU cold replay covers five accepted units; an additional distinct two-TU cold covers the range helper. These are two artifact groups, not two independent repetitions of the complete large context. The actual-source three large native bodies reproduce the private positive raw; Run and Enemy are unchanged by the radial edit. Toolchain, tracking, progress, source/native pins and whitespace checks pass; see validation.
The first CI attempt correctly rejected the changed whole-file LF pin for AnmManager.cpp in the TransitionEffect host fixture. Review found its extracted AnmRandomU32InRange body and six other dependencies unchanged. The additional 88-byte native replay passed before refreshing exactly one LF pin plus review metadata. All843 host assertions and19 EOL/pin guards then passed, followed by full CI. Strict rejection policy, fixture algorithms and assertions are unchanged.
This checkpoint reclaims 19674975 file bytes (about18.8 MiB): 5087074 from
superseded experiment outputs, then14587901 from reproducible CI host binaries,
Python bytecode and twelve redundant case2 text dumps. Passed logs, compact
facts, overlays, current native carriers and the selected failure remain.
The private handoff-cleanup.json records the latter paths, producers and sizes;
the public cleanup record
records the retained scope. Unclassified older analysis, independent D3D work,
target, databases, toolchains, Wine/provider state and reference checkout remain.
At that prior checkpoint, only documentation and ignored-artifact cleanup followed its successful full CI; focused document/tracking/progress/toolchain checks and source/native hash verification are repeated for handoff. No new experiment or broad replay is needed to validate those cleanup edits. Future source work must run its affected Oracle and finish the standard gates:
scripts/repo-python scripts/verify-toolchain.py --check
scripts/repo-python scripts/validate-tracking.py
scripts/repo-python scripts/progress.py
scripts/repo-python scripts/ci.py
git diff --checkThe Windows i386 product graph, data owners, initialization, resources, link order and runtime closure remain open. Diagnostic anchor images are not runnable products. Exact reconstruction precedes faithful product closure, dual-Oracle semantic reconstruction and portability; none of those later gates is closed.