docs: improve navigation and consolidate redundant docs - #169
Merged
Conversation
…nerated types (#167) Closes #166: schemas can now annotate fields with semanticType (e.g. UTCTimestampNanos, LocalMktDate, MonthYear) and the generator emits a sibling typed accessor {Field}Value alongside the raw wire field. Eight FIX/SBE built-in converters ship out of the box; users can register or override via [assembly: SbeSemanticType("Name", typeof(MyConverter))] where MyConverter implements ISbeSemanticConverter<TWire,TSemantic>. Optional fields produce nullable accessors. Field-level semanticType wins, otherwise the field inherits its referenced type's semanticType (common FIX/B3 pattern). Types already producing a typed helper struct (e.g. LocalMktDate -> DateOnly) are left untouched to avoid double conversion. Raw wire accessor is never replaced. Closes #167: SbeDispatcher, ISbeMessageHandler, {Msg}VersionMap, {Msg}DataReader, and {X}Validation are now emitted as partial so consumers can extend them in user code without forking the generator. Layout-bearing blittable structs were already partial. Adds diagnostics SBE016 (wire-type mismatch), SBE017 (does-not-implement ISbeSemanticConverter), SBE018 (semantic accessor name collision). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- README.md/docs/README.md: link full documentation index from the main README, and add missing links to Diagnostics/Helpers READMEs from the docs index. - Remove SPAN_READER_EXTENSIBILITY.md and SPAN_READER_INTEGRATION.md: these were point-in-time PR/implementation reports whose technical content (SpanParser<T>, TryReadWith, schema evolution examples) was already duplicated almost verbatim in SPAN_READER_README.md. - Merge VALIDATION_EXAMPLE.md into VALIDATION_CONSTRAINTS.md as a short 'Quick Example' section instead of a near-duplicate standalone doc. - Rewrite ARCHITECTURE_DIAGRAMS.md: fix internal contradiction (332 vs 97 lines for the same orchestrator), add the missing DispatcherGenerator/ValidationGenerator components, and refresh line counts and test counts (193 unit + 168 integration, verified via dotnet test) to match the current codebase. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This was referenced Sep 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Review of the
docs/folder for navigability and content redundancy.Navigation
README.mdnow links to the fulldocs/README.mdindex (previously only listed 5 of 13 docs).docs/README.mdnow links to theDiagnostics/README.mdandHelpers/README.mdsource-level references, which weren't reachable from the docs index.Content consolidation
SPAN_READER_EXTENSIBILITY.mdandSPAN_READER_INTEGRATION.md— both were point-in-time PR/implementation reports ("Status: COMPLETED", "Files Modified", test-count checkmarks) whose technical content (SpanParser<T>,TryReadWith, schema evolution/non-blittable examples) was already duplicated almost verbatim inSPAN_READER_README.md.VALIDATION_EXAMPLE.mdintoVALIDATION_CONSTRAINTS.mdas a short "Quick Example" section instead of a near-duplicate standalone doc (same schema, same generated code, same Validate/TryValidate/CreateValidated walkthrough).ARCHITECTURE_DIAGRAMS.md: it was internally contradictory (332 vs 97 lines for the same orchestrator in two diagrams), missing theDispatcherGenerator/ValidationGeneratorcomponents entirely, and had stale test counts. Refreshed with current line counts and verified test counts (193 unit + 168 integration tests, confirmed viadotnet test).Verification
grepacross the repo).dotnet teston both unit and integration test projects to get accurate current counts forARCHITECTURE_DIAGRAMS.md.Docs-only change; no source code modified.