audit: cycle #3 tidy (clean)
Cycle-close for the per-symbol geometry sidecar reader (#3). Architect drift review (0f5e665..be2489a): code matches the spec verbatim; the README "## Interface" contract was already updated in lockstep (symbol_meta row + serde_json dependency line). Two drift items, both resolved here: - [medium] Retire the ephemeral active-cycle artefacts: git-rm the spec and plan (recoverable from history via `git show <rev>:<path>`), per the docs/specs + docs/plans lifecycle convention. - [low] Document meta::InstrumentGeometry to parity with the other public record types: add a "data_server::meta" subsection enumerating its six fields and SUPPORTED_SCHEMA_VERSION. Regression gate (all green): - cargo build -> exit 0, finished clean - cargo clippy -> exit 0, 0 warnings - cargo test -> exit 0; 36 lib + 4 integration + 0 doc tests passed No baseline to update (the project has no metric baseline; cargo is the gate). refs #3
This commit is contained in:
@@ -62,6 +62,17 @@ no other consumer holds it, evicted.
|
||||
All timestamps are **Unix milliseconds** (converted from the Delphi
|
||||
`TDateTime` epoch on load).
|
||||
|
||||
### Instrument geometry (`data_server::meta`)
|
||||
|
||||
- `InstrumentGeometry { digits: u32, pip_size: f64, tick_size: f64, lot_size: f64, base: String, quote: String }`
|
||||
— neutral, broker-agnostic price geometry for one symbol, loaded by
|
||||
`DataServer::symbol_meta` from the symbol's `<SYMBOL>.meta.json` sidecar.
|
||||
`base` / `quote` are passed through verbatim (the consumer resolves provider
|
||||
codes against its own reference table). A missing sidecar, an unsupported
|
||||
schema version, or any `null` / non-finite field yields `None` — never a
|
||||
partial struct.
|
||||
- `SUPPORTED_SCHEMA_VERSION: u64` — the sidecar `schemaVersion` the reader accepts.
|
||||
|
||||
### Lower-level modules
|
||||
|
||||
- `data_server::loader` — `load_m1_file` / `load_tick_file` (ZIP → parsed
|
||||
|
||||
Reference in New Issue
Block a user