Skip to content

Commit faf89b6

Browse files
committed
update build/test artifacts
1 parent f2bf532 commit faf89b6

26 files changed

+989
-708
lines changed

bindings/node/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ endif()
3030

3131
# Build core library sources directly
3232
set(CORE_SOURCES
33-
${PROJECT_ROOT}/src/protocol/crc16.cpp
3433
${PROJECT_ROOT}/src/data_bridge.cpp
3534
${PROJECT_ROOT}/src/resilient_bridge.cpp
3635
${PLATFORM_SOURCES}

bindings/python/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ endif()
1818
# Bindings module
1919
pybind11_add_module(_core
2020
src/data_bridge/_core.cpp
21-
"${SRC_DIR}/protocol/crc16.cpp"
2221
"${SRC_DIR}/data_bridge.cpp"
2322
"${SRC_DIR}/resilient_bridge.cpp"
2423
${SERIAL_SRC}

bindings/python/include_cpp/data_bridge/protocol/crc16.hpp

Lines changed: 0 additions & 1 deletion
This file was deleted.

bindings/python/src_cpp/protocol/crc16.cpp

Lines changed: 0 additions & 1 deletion
This file was deleted.

bridge.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,13 @@ def task_test(args):
202202
uv_cmd = ["--with", "matplotlib", "python", str(script)]
203203
uv_run(uv_cmd, cwd=PROJECT_ROOT)
204204

205+
traceability = SCRIPTS_DIR / "validate_traceability.py"
206+
run(
207+
[sys.executable, str(traceability)],
208+
cwd=PROJECT_ROOT,
209+
title="Validating Traceability",
210+
)
211+
205212
artifacts = SCRIPTS_DIR / "collect_artifacts.py"
206213
run(
207214
[sys.executable, str(artifacts)],

docs/test_report.md

Lines changed: 332 additions & 336 deletions
Large diffs are not rendered by default.

docs/test_timeline.png

4.9 KB
Loading

docs/traceability/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,7 @@ Contents:
1010
- `soup_inventory.md`: SOUP inventory template.
1111
- `iec62304_traceability_table.md`: IEC 62304 traceability template.
1212
- `artifacts/`: deterministic outputs from verification runs (see `artifacts/README.md`).
13+
14+
Validation:
15+
- `scripts/validate_traceability.py` checks ID consistency, missing coverage, and test file existence.
16+
- `traceability_report.md` and `traceability_report.json` summarize validation results.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# IEC 62304 Traceability (Template)
2+
3+
| Software Item | Requirement ID | Unit Test | Integration/System Test | Risk Control | Evidence |
4+
| --- | --- | --- | --- | --- | --- |
5+
| Protocol (Packet) | REQ-PROTO-CRC-001 | PacketTest.Crc32KnownValue | verify_reliability.py | RC-CRC-001 | Test logs |
6+
| Protocol (Packet) | REQ-PROTO-FRAME-003 | PacketTest.DeserializeRejectsTruncated | verify_reliability.py | RC-VALIDATION-007 | Test logs |
7+
| Reassembler | REQ-REASSEMBLY-006 | PacketTest.ReassemblerRejectsOutOfOrder | verify_reliability.py | RC-REASSEMBLY-004 | Test logs |
8+
| DataBridge | REQ-ARQ-RETRY-004 | DataBridgeTest.RetriesWhenAckMissing | verify_reliability.py | RC-ARQ-003 | Test logs |
9+
| Resilient | REQ-RECONNECT-009 | ResilientBridgeTest.QueuesUntilReconnectAndFlushes | verify_reliability.py | RC-RECONNECT-006 | Test logs |
Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,24 @@
11
{
2-
"timestamp_utc": "2026-01-17T10:24:50.740653Z",
3-
"git_commit": "88dd45a62eef00898035f056e83f10149a878da5",
4-
"git_status": "M docs/test_report.md\n M docs/test_timeline.png\n M docs/traceability/artifacts/latest/test_report.md\n M docs/traceability/artifacts/latest/test_timeline.png",
2+
"timestamp_utc": "2026-01-17T10:33:18.418086Z",
3+
"git_commit": "f2bf5326ac443dd5b428072df623f9bc8ab5ae0e",
4+
"git_status": "M bindings/node/CMakeLists.txt\n M bindings/python/CMakeLists.txt\n D bindings/python/include_cpp/data_bridge/protocol/crc16.hpp\n D bindings/python/src_cpp/protocol/crc16.cpp\n M bridge.py\n M docs/test_report.md\n M docs/test_timeline.png\n M docs/traceability/README.md\n M docs/traceability/artifacts/latest/manifest.json\n M docs/traceability/artifacts/latest/test_report.md\n M docs/traceability/artifacts/latest/test_timeline.png\n D include/data_bridge/protocol/crc16.hpp\n M scripts/collect_artifacts.py\n M src/CMakeLists.txt\n D src/protocol/crc16.cpp\n?? docs/traceability/artifacts/latest/iec62304_traceability_table.md\n?? docs/traceability/artifacts/latest/requirements.md\n?? docs/traceability/artifacts/latest/risk_controls.md\n?? docs/traceability/artifacts/latest/soup_inventory.md\n?? docs/traceability/artifacts/latest/traceability_matrix.csv\n?? docs/traceability/artifacts/latest/traceability_report.json\n?? docs/traceability/artifacts/latest/traceability_report.md\n?? docs/traceability/artifacts/latest/verification_plan.md\n?? docs/traceability/traceability_report.json\n?? docs/traceability/traceability_report.md\n?? scripts/validate_traceability.py",
55
"platform": "macOS-26.2-arm64-arm-64bit",
66
"python": "3.10.13",
77
"sanitizers": "",
88
"coverage": "",
9-
"fuzzing": ""
9+
"fuzzing": "",
10+
"checksums_sha256": {
11+
"test_report.md": "21932c4cc3c6489625a526c95f609fb9eb1c479812d5a5695d8b3227df4cb467",
12+
"test_timeline.png": "274267e58ba19463844f9091dead0fbcf753e90b1854bd07ecaae8c5db891b7b",
13+
"reliability_plot.png": "d0c6f62fe5c45be49452f9eeab7b608f575186fad7fcd0859a9d4986ba94bb8f",
14+
"latency_histogram.png": "080aaf3812635440f51b3debdffaf692e78c104e1073e337f6606c22627b56c3",
15+
"requirements.md": "bc14d9b67c2833e2e885c2e7254f5cec7645c78b30897b9e7286f555b21b43c8",
16+
"risk_controls.md": "f809be06024ccf5c2e5d7a31a6a49f5e5266093754827ad16cfe5e9404a60eb9",
17+
"traceability_matrix.csv": "5fac249a6cdef811f66c0d0e5d67134e5ed528e652c3dae8310f8df721c573e7",
18+
"verification_plan.md": "30ac6805105821208369679af363477cabe64d1cf00d86790fe77653c9dce62b",
19+
"soup_inventory.md": "acaa191a5eaf2d07ce745d43f1ae7a1f6236be903db8d8156c76a52eb15250b1",
20+
"iec62304_traceability_table.md": "15cb985a52d10f6ff149a4f627f3701db8bf0b22de25ab7f5f183b4fa0540099",
21+
"traceability_report.md": "96512466d41cef321930a00e1081d2153d793660243f12757f5c6db806266b6e",
22+
"traceability_report.json": "9128b9c0829d363d14e3511b40de2b3b448a1d6452d099ac91824ec0bb854d16"
23+
}
1024
}

0 commit comments

Comments
 (0)