itemexchangetoclass.dbss
Binary layout, byte coverage, field semantics, and validation evidence for the BSD itemexchangetoclass decoder.
Investigation status
| Status | Value |
|---|---|
| Coverage | 100% |
| Iteration | 2 |
| Review state | BSD migration reconciled |
| Last reviewed | 2026-07-31 |
| Captures examined | Installed build 2938; pad00000.meta SHA-256 b7eefe6059818f84c0545f10020fe93bd3bd5d0647e043120caf78726ccafe8f; 39,404-byte table SHA-256 240b89dac7e328aeccd610b8068a0625aaa50a8b8a0abdef2200f23577e5d818; 200 rows; normalized SHA-256 5a76d70c5fe853b35d2f2185944ff6214d8a8d03ae2cc71a38845328eeb32961 |
| Decoder | packages/scraper/src/tables/itemexchangetoclass.dbss.ts |
| Remaining blockers | None |
See Decoder methodology for the confidence scale and evidence rules.
Related tables
itemexchangetoclassmapkey.bss
Open the exhaustive item-to-group reverse lookup.
itemexchangetoclassoffset.dbss
Open the independent pointer directory used to corroborate row extents.
Field ledger
| Field/path | Offset and width | Representation | Claimed meaning | Physical confidence | Representation confidence | Semantic confidence | Evidence | Status |
|---|---|---|---|---|---|---|---|---|
| encoded row count | table +0..+3; u32 |
consumed by array; not emitted |
number of fixed-width exchange groups | Certain | Certain | Certain | Count selects 200 rows and strict decoding reaches byte 39,404 | Closed |
rows |
table +4..+39,403; 200 × 197 bytes |
retained in physical order | class-specific item-exchange groups | Certain | Certain | High | Complete reference equality and exact 197-byte row consumption | Closed |
rows[].exchangeGroupId |
row +0..+3; positive u32 |
retained | outer exchange-group identity | Certain | Certain | High | Equals the repeated key and resolves all 4,520 reverse-map rows | Closed |
rows[].repeatedExchangeGroupId |
row +4..+7; positive u32 |
retained | payload copy of the exchange-group identity | Certain | Certain | High | Equality validation succeeds for every row and all 200 offset-directory keys | Closed |
rows[].classItemIds[0..46] |
row +8..+195; 47 × u32 |
fixed array retained | item for each numeric class-code position; zero is absent | Certain | Certain | High | Every nonzero item belongs to the exhaustive 4,520-row reverse lookup; zero missing or contradictory mappings | Closed |
rows[].field196 |
row +196; strict Boolean |
retained as Boolean | unresolved group control | Certain | Certain | Unknown | BSD rejects values outside 0/1; 9 of 200 current rows are true | Closed neutral |
| repeated-key validation | complete 197-byte row | equality check; no field omitted | both serialized group identities must agree | Certain | Certain | Certain | Full-capture check has zero mismatches | Closed |
Slot indexes remain numeric. No local artifact maps all 47 positions to stable class labels, so permanently zero positions are not declared reserved.
Active assumptions
Findings
| ID | Finding | Evidence | Schema/documentation impact | Status |
|---|---|---|---|---|
| F-01 | The payload is one item slot per numeric class-code position. | Fixed 47-word vectors, complete reverse lookup, and 200 exact pointer extents agree. | The schema exposes numeric classItemIds without guessed labels. |
Closed |
| F-02 | Duplicate item IDs across class slots are intentional. | Reverse-map items are unique, while a group vector may repeat one item in several positions. | No uniqueness validation is imposed on a row’s slot array. | Closed |
| F-03 | The final byte is structural Boolean data but semantically unresolved. | All current values are 0/1 and strict Boolean decoding covers the complete capture. | The field remains neutrally named field196. |
Closed |