docs: move root .md files into docs/ + update every reference
Picks up the file renames that landed alongside the previous commit and fixes everything that pointed at the old root locations: - README.md doc-map updated: every entry now points at docs/X.md, with a new "docs/" lead entry pointing at the guided-tour index. - README inline cross-refs (ARCHITECTURE / INTEGRATION / SECURITY / BENCHMARKS / MES_INTEROP / PROOFS) repointed to docs/. - README "Interop" section rewritten — used to mention only secsgem-py; now covers all four external validators (secsgem-py 31 / secs4java8 55 / tshark 69 frames / libFuzzer 200 k+ runs) with a one-line summary each, plus pointers to interop/README.md and docs/VERIFICATION.md. - README "Deferred follow-ups" cleaned: dropped the explanatory "Listed here so reviewers don't go looking for them in COMPLIANCE.md and find an 'out of scope' entry that sounds defensive" sentence — the section header speaks for itself. - docs/00_index.md "Where the rest of the docs live" table: dropped every `../` prefix since the docs are now siblings. - docs/01_what_is_secs_gem.md PROOFS reference updated to sibling. - docs/02_the_cast.md INTEGRATION + MES_INTEROP refs updated to siblings; dropped the stale "at the repo root" wording. - interop/README.md: VERIFICATION + PROOFS refs updated to ../docs/X.md; stale "~24 + 4 checks" updated to 31 (matches PROOFS.md and README). - examples/pvd_tool/README.md: every doc cross-ref now points at ../../docs/X.md. - Source / data / CI comments mentioning doc names (e.g. "INTEGRATION.md §3", "COMPLIANCE.md gap") rewritten to "docs/INTEGRATION.md §3" etc. — affects 9 files across include/, apps/, tests/, data/, examples/, .gitea/workflows/. Verified: full build under docker passes, 445/445 test cases pass, 2 753/2 753 assertions pass. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -35,7 +35,7 @@ TEST_CASE("ECID set rejects unknown id and out-of-range values") {
|
||||
CHECK(ecids.get(10)->value == s2::Item::u4(uint32_t{50}));
|
||||
CHECK(ecids.set_value(999, s2::Item::u4(uint32_t{1})) == EquipmentAck::Denied_UnknownEcid);
|
||||
|
||||
// Out-of-range rejected (closes COMPLIANCE.md gap).
|
||||
// Out-of-range rejected (closes docs/COMPLIANCE.md gap).
|
||||
CHECK(ecids.set_value(10, s2::Item::u4(uint32_t{5000})) == EquipmentAck::Denied_OutOfRange);
|
||||
CHECK(ecids.get(10)->value == s2::Item::u4(uint32_t{50})); // unchanged
|
||||
}
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
// its own router + selected handler + send path.
|
||||
//
|
||||
// This is the "two MES, one tool" pattern that the codebase advertises
|
||||
// in COMPLIANCE.md §1 ("HSMS-GS (general-session) ✅") and that
|
||||
// INTEGRATION.md §7 mentions. Until now there was no end-to-end test
|
||||
// in docs/COMPLIANCE.md §1 ("HSMS-GS (general-session) ✅") and that
|
||||
// docs/INTEGRATION.md §7 mentions. Until now there was no end-to-end test
|
||||
// covering the Server/Client integration — only direct Connection
|
||||
// wire tests in test_hsms_gs.cpp.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// EquipmentDataModel is single-threaded by design — there are zero
|
||||
// locks anywhere in the store hierarchy. The contract documented in
|
||||
// INTEGRATION.md §3 is: all access (reads from the dispatcher, writes
|
||||
// docs/INTEGRATION.md §3 is: all access (reads from the dispatcher, writes
|
||||
// from the application) must run on the io_context that drives the
|
||||
// HSMS connection. Cross-thread updates marshal through `asio::post`.
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user