dialogtextoffset.dbss
Binary layout, byte coverage, field semantics, and validation evidence for the intrinsic BSD dialogtextoffset decoder.
Investigation status
| Status | Value |
|---|---|
| Coverage | 100% |
| Iteration | BSD migration |
| Review state | BSD migration reconciled |
| Last reviewed | 2026-08-03 |
| Captures examined | Steam capture ads_version 856; PAZ 5075; file hash 1773249795; 11,800 extracted bytes; 983 rows; normalized SHA-256 a2fca19e5ddda44b2b13040e9858509e69fe05c98a859ba3efd06886eadc61e1 |
| Decoder | packages/scraper/src/tables/dialogtextoffset.dbss.ts |
| Remaining blockers | None |
See Decoder methodology for the confidence scale and evidence rules.
Field ledger
| Field/path | Offset and width | Representation | Claimed meaning | Physical confidence | Representation confidence | Semantic confidence | Evidence | Status |
|---|---|---|---|---|---|---|---|---|
| Row count (omitted) | file +0, 4 bytes |
count consumed by the enclosing BSD array | row-count framing | Certain | Certain | Certain | The current and prior-build value 974 gives the exact file equation 4 + 974 × 12 = 11,692. A targeted count + 1 mutation is rejected. |
Closed |
rows |
file +4, rowCount × 12 bytes |
Count-framed array retained in physical file order; count omitted | Dialogue-text-group payload directory | Certain | Certain | Certain | All 983 current rows decode to the independently verified key/span inventory and consume exactly to EOF; there is no footer. | Closed |
rows[].key |
pointer +0, 4 bytes |
Little-endian u32, retained |
Full-width dialogue-text group key | Certain | Certain | Certain | Keys are unique; every key equals both the outer companion prefix at offset - 4 and repeated payload key at offset, then equals the intrinsic decoded dialogTextKey. |
Closed |
rows[].offset |
pointer +4, 4 bytes |
Little-endian u32, retained without rebasing |
Absolute start of the inner repeated-key payload | Certain | Certain | Certain | Every pointer starts four bytes after its owned outer prefix and directly on the repeated payload key. An offset + 1 audit mutation is rejected. |
Closed |
rows[].byteLength |
pointer +8, 4 bytes |
Little-endian u32, retained |
Exact inner-payload length, excluding the four-byte outer key prefix | Certain | Certain | Certain | Each owned physical row is [offset - 4, offset + byteLength); these regions exactly partition the companion after its count. A byteLength + 1 audit mutation is rejected. |
Closed |
| End of directory | file +11,692, zero bytes |
Exact EOF after the last pointer; no PABR footer | Raw DBSS count-derived termination | Certain | Certain | Certain | The count consumes all bytes exactly. Adding one to the count requests another 12-byte row and rejects instead of interpreting a footer or tail. | Closed |
dialogtext.dbss count |
companion file +0, 4 bytes |
Independent raw-DBSS u32 row count |
Frames the data groups addressed by this directory | Certain | Certain | Certain | Its current value is also 974; the data decoder consumes the count and every intrinsically framed group without consulting the offset table. |
Closed |
| Outer-key prefix ownership | companion offset - 4, 4 bytes per row |
Little-endian u32, owned by the physical row but excluded from pointer byteLength |
Lookup prefix for the addressed payload | Certain | Certain | Certain | For every pointer, the prefix equals key; sorted regions begin at offset - 4, and a targeted outer-key mutation is rejected by the row’s key-mirror check. |
Closed |
| Repeated payload key ownership | companion offset +0, 4 bytes per payload |
Little-endian u32, included in pointer byteLength |
Intrinsic dialogTextKey |
Certain | Certain | Certain | All 974 payloads begin with the pointer key; the data decoder independently requires equality with the outer prefix and returns this repeated value. | Closed |
| Pointer-to-row span relationship | companion [4, 573,546) in client 2923 |
Unique sorted [offset - 4, offset + byteLength) regions |
Exact ownership of every byte after the companion count | Certain | Certain | Certain | The 974 owned regions are contiguous, nonoverlapping, in bounds, and end at EOF; key, offset, and length mutations independently fail the aggregate audit. | Closed |
| Pointer/data key identity | pointer key; prefix at offset - 4; payload at offset; decoded dialogTextKey |
Four independently checked u32 views of one identity |
Directory key selects exactly one named dialogue-text group | Certain | Certain | Certain | Every current and prior-build row agrees across all four views; keys are unique and no competing group can satisfy the relationship. | Closed |
| Reserved ranges | schema-local fixed widths | consumed with .pad() and omitted |
framing or semantically neutral capacity | Certain | Certain | Neutral | Adjacent fields, strict EOF, and exact snapshot parity establish each width | Closed neutral |
Active assumptions
Findings
| ID | Finding | Evidence | Schema/documentation impact | Status |
|---|---|---|---|---|
| F-01 | The intrinsic decoder reproduces the transformed reference output exactly. | Full snapshot comparison; 983 rows; normalized SHA-256 a2fca19e5ddda44b2b13040e9858509e69fe05c98a859ba3efd06886eadc61e1 |
The BSD schema is the production source of truth. | Closed |
| F-02 | Row and section boundaries are intrinsic. | Strict decoding reaches exact EOF on the installed capture. | No companion offset table is loaded by this decoder. | Closed |
| F-03 | Reserved byte ranges are representation details. | Their widths are fixed by adjacent fields and full-snapshot parity. | .pad() keeps the schema readable and omits redundant output properties. |
Closed |
Reconciled source findings
| ID | Finding | Evidence | Schema/documentation impact | Status |
|---|---|---|---|---|
| F-01 | The offset file is raw count-prefixed DBSS, not PABR. | Client 2923 is exactly 11,692 bytes: one four-byte count followed by 974 twelve-byte pointers and immediate EOF. There is no PABR signature or twelve-byte footer; the prior-build ledger records the same 974-row grammar. |
NpcKey32OffsetDbss remains the exact physical schema and must not inherit PABR magic/footer claims. |
Closed |
| F-02 | Each pointer excludes exactly one owned four-byte outer key prefix. | Across the 573,546-byte companion, every prefix at offset - 4 and repeated key at offset equals the pointer key; [offset - 4, offset + byteLength) regions exactly partition bytes 4 through EOF. |
offset is documented as the inner payload start and byteLength as the payload length, rather than being mislabeled as a complete-group span. |
Closed |
| F-03 | Corruption coverage distinguishes raw-envelope enforcement from aggregate relationship enforcement. | A rowCount + 1 mutation fails DBSS decoding; separate unused-key, offset + 1, and byteLength + 1 pointer mutations fail the complete-capture partition/key audit. Companion outer-key corruption also fails intrinsic mirror validation. |
Count-derived EOF, row key mirror, and aggregate pointer semantics all have targeted rejecting coverage. | Closed |
| F-04 | Captured totals are observations, not format invariants. | Current and prior ledgers both contain 974 pointers, but the decoder derives the array length solely from the stored count and the companion group widths vary intrinsically. | Neither count, current file size, nor individual observed span length is frozen in the production decoder. | Closed |
| F-05 | Archived semantic sources have no physical offset-table representation. | Archived DialogText_Table exposes logical labels and line selectors, but no raw-DBSS directory, pointer offset, byte length, or prefix ownership; targeted BDOCodex pages likewise expose no dialogue-text binary directory. |
Physical confidence comes exclusively from local binaries; neither external source is a decoder, fixture, mapping, cache, or runtime dependency. | Closed |
| F-06 | dialogtext.dbss remains intrinsically framed. |
Its own row count, mirrored keys, label/line string lengths, line counts, and row footer decode the complete 573,546-byte file independently; the companion audit reaches the same boundaries. | Production data decoding does not require offset-directed slicing or a join to this directory. | Closed |