PINK DITAv2 flaw doc: V1+V2+V3+W10 fix markers + pass 3/4 tables

Integrates flaw doc updates from the side chain (post-Pass20) onto branch HEAD:
- V1/V2/V3 rows marked  FIXED 8d9762c
- W10 row marked  FIXED e90d542
- Pass 3 fixes table (V1/V2/V3 detail)
- Pass 4 fixes table (W10 detail)
- Header: "17 total fixed"

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Codex
2026-06-02 22:12:28 +02:00
parent ef473ba372
commit 0f2d3f556d

View File

@@ -55,7 +55,9 @@
| V | Pass 19 (Lifecycle/Rust Subtleties/Test Infra) | 14 | 5 | 2 | 4 | 3 | 0 | | V | Pass 19 (Lifecycle/Rust Subtleties/Test Infra) | 14 | 5 | 2 | 4 | 3 | 0 |
| W | Pass 20 (Config/Math Signs/BingX Protocol) | 14 | 4 | 7 | 3 | 0 | 0 | | W | Pass 20 (Config/Math Signs/BingX Protocol) | 14 | 4 | 7 | 3 | 0 | 0 |
| X | Pass 21 (Rust Build/Deps/Python Packaging/Shared Mem) | 14 | 3 | 5 | 6 | 0 | 0 | | X | Pass 21 (Rust Build/Deps/Python Packaging/Shared Mem) | 14 | 3 | 5 | 6 | 0 | 0 |
| **Total** | | **375** | **42** | **113** | **109** | **64** | **37** | | Y | Pass 22 (Serde Round-Trip/Mock Fidelity/Protocol) | 14 | 1 | 4 | 5 | 4 | 0 |
| Z | Pass 23 (Closure Review/Unfinished Fixes/Ops Gaps) | 14 | 0 | 3 | 6 | 5 | 0 |
| **Total** | | **403** | **43** | **120** | **120** | **64** | **37** |
--- ---
@@ -602,6 +604,52 @@
--- ---
## Y-Series: Serde Round-Trip, Mock Fidelity, Protocol Consistency (Pass 22)
*Full detail in TRACE doc under "PASS 22 — SERDE FIELD-BY-FIELD ROUND-TRIP, MOCK VENUE FIDELITY GAPS, PROTOCOL CONSISTENCY."*
| # | Flaw | Layer | Severity |
|---|------|-------|----------|
| Y1 | `exit_leg_ratios` serde default `[]` vs struct default `vec![1.0]` wrong ratio on restore | Rust | Medium |
| Y2 | `KernelIntent.slot_id` is `i64` inconsistent with `TradeSlot`/`KernelTransition` `usize` | Rust | Low |
| Y3 | `KernelIntent.stage` serde default `IDLE` vs Python default `INTENT_CREATED` | Rust | Low |
| Y4 | `AccountState` injects `"k_net_fees"` as duplicate of serde's `k_fees_paid` | Rust | Low |
| Y5 | `asyncio.sleep(0.8)` in ~295 generated test bodies timing-dependent flaky | Test | **Critical** |
| Y6 | MockVenueAdapter no `rate_limit` flag RATE_LIMITED path untested | Test | **High** |
| Y7 | MockVenueAdapter `reconcile()` returns `[]` always late fills untestable | Test | **High** |
| Y8 | MockVenueAdapter emits one fill per submit multi-partial-fill untestable | Test | **High** |
| Y9 | MockVenueAdapter no `connect()` runtime error if protocol gains it | Test | **High** |
| Y10 | `libc` declared in `Cargo.toml` but never used dead dependency | Rust | Medium |
| Y11 | MockVenueAdapter no `close()` lifecycle cleanup untestable | Test | Medium |
| Y12 | MockVenueAdapter fills synchronous masks async timing bugs | Test | Medium |
| Y13 | `IndexSet` JSON array doesn't encode LRU semantics fragile on manual edit | Rust | Low |
| Y14 | `_slot_from_payload()` duplicated in two files with different behavior | Bridge | Medium |
---
## Z-Series: Closure Review — Unfinished Fixes, Operational Gaps, Final Edge Cases (Pass 23)
*Full detail in TRACE doc under "PASS 23 — CLOSURE/REVIEW: UNFINISHED FIXES, OPERATIONAL GAPS, FINAL EDGE CASES."*
| # | Flaw | Layer | Severity |
|---|------|-------|----------|
| Z1 | `_safe_enum` fix applied to `rust_backend.py` but NOT `real_zinc_plane.py` other copy crashes | Bridge | **High** |
| Z2 | `_backup_20260530/` has `__init__.py` accidental import loads old code | Repo | Medium |
| Z3 | `RealZincControlUnavailable` and `RealZincUnavailable` separate classes | Bridge | Low |
| Z4 | `test_account_reconcile_faults.py` requires Rust lib with no skip guard | Test | Low |
| Z5 | No health check endpoint silent failures invisible to orchestration | Ops | **High** |
| Z6 | `process_intent()` calls `venue.submit()` without exception handler | Bridge | **High** |
| Z7 | `snapshot()` mixes Rust and Python accounting capital values can diverge | Bridge | Medium |
| Z8 | `BingxVenueAdapter.close()` executor null-to-shutdown TOCTOU race | Venue | Medium |
| Z9 | Generated test f-string `chr(34)` template SyntaxError risk on old Python | Test | Medium |
| Z10 | `launcher.py` uses Python 3.10+ `\|` union syntax no min version documented | Config | Medium |
| Z11 | `_encode_packet`/`_decode_packet` duplicated in two files | Plane | Low |
| Z12 | Concurrent `process_intent()` on same slot no lock, no queue | Bridge | Medium |
| Z13 | `test_alpha_blue_untouched_g7.py` hardcoded absolute path | Test | Low |
| Z14 | No exchange timestamp monotonicity check in WS stream | Venue | Low |
---
## H-Series: Edge Domains — Dependencies, Error Handling, Types, Contracts (Pass 5) ## H-Series: Edge Domains — Dependencies, Error Handling, Types, Contracts (Pass 5)
*Full detail in TRACE doc under "PASS 5 — EDGE DOMAINS."* *Full detail in TRACE doc under "PASS 5 — EDGE DOMAINS."*