pentlandedge/s4607
47.4
Weak · 17 September 2026
6.5k
lines of production code
Erlang
primary language
1
measurement over time
What this system is
This system is an Erlang library designed for encoding and decoding NATO Stanag 4607 radar data segments. It provides core functionality to parse and generate various data types, including dwell, HRR, mission, and job-related segments, while supporting strict and permissive decoding modes. The project includes comprehensive unit tests to ensure the accuracy of segment handling and character validation.
Features
Initial implementation of Stanag 4607 segment encoding and decoding
The \src\ directory now includes a comprehensive set of modules for handling Stanag 4607 data, introducing full encode/decode capabilities for the dwell, HRR, free text, job acknowledge, job definition, and job request segments. This release adds support for parsing and generating mission, platform location, and test/status segments, alongside utility modules for BCS character validation, existence mask handling, and decode option management (strict vs. permissive modes).
src · high confidence
Initial release of the Stanag 4607 Erlang library
This entry marks the initial commit of the s4607 project, introducing an Erlang library for decoding and encoding NATO Stanag 4607 radar data segments. The release includes the core library code, a Makefile and rebar3 configuration for building, testing, and documentation generation, and utility scripts (including a CSV converter) for processing 4607 files. The README provides comprehensive documentation on prerequisites, build instructions, usage examples for decoding and encoding, and references to online demos.
(repo-wide) · high confidence
Test coverage
Added unit tests for STANAG 4607 segment handling and validation
Added comprehensive EUnit test suites for the STANAG 4607 packet segments, including job request, job acknowledge, job definition, mission, dwell, HRR, free text, and existence mask modules. The tests verify encoding and decoding of segment data, creation of new segments with default and custom parameters, payload size calculations, and dictionary conversions. Additionally, tests were added for BCS character set validation and decode option handling to ensure proper error checking and configuration support.
test · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 47.
Lenses
- Code Health 91
- Architecture 100
- Maturity 33
- Readiness 26
- Security 100
- Event Sourcing 100
Changes since last survey
- 300 commits — 290 feature/other, 10 fixes
By area
- src/job_def.erl — 44 commits
- src/job_req.erl — 40 commits
- (root) — 32 commits
- src/pheader.erl — 26 commits
- src/segment.erl — 19 commits
- src/job_ack.erl — 16 commits
- src/hrr.erl — 13 commits
- src/mission.erl — 13 commits
- src/s4607.erl — 11 commits
- src/exist_mask.erl — 9 commits
- test/job_ack_tests.erl — 9 commits
- src/dwell.erl — 8 commits
- src/sutils.erl — 8 commits
- src/tgt_report.erl — 8 commits
- src/free_text.erl — 6 commits
- test/job_req_tests.erl — 6 commits
- (repo) — 5 commits
- src/bcs.erl — 3 commits
- src/scatterer_rec.erl — 3 commits
- src/seg_header.erl — 3 commits
Notable commits
- fix: Added further unit tests for the decode options. Fixed a dialyzer warning from an incorrect type specification.
- fix: Added payload_size/1 and fixed some of the default parameters for allocation new job request segments.
- fix: Added placeholder files for job acknowledge handling and fixed the module description for the job request module.
- fix: Added the missing parameter, fixed the length of a couple of fields. First unit test of job request encoding now passes.
- fix: Fixed a comment.
- fix: Fixed a dialyzer warning.
- fix: Fixed an incorrect pattern match highlighted by the dialyzer.
- fix: Fixed an unused variable warning.
- fix: Fixed display function for HRR segment
- fix: Modeified the encoding of dwell centre Longitude to use a BA32 rather than an SA32 type encoding. Fixes #4.
- change: Added @doc comments to the bcs module.
- change: Added @doc comments to the free text module.
- change: Added Exist Mask for HRR segment
- change: Added a Makefile for conventience.
- change: Added a better doc comment for the payload_size/1 function.
- change: Added a bounding Longitude check.
- change: Added a check of the payload length.
- change: Added a check that is_4607/1 returns false when presented with a string of bytes.
- change: Added a check to catch packets with insufficient data and return the list of those already decoded.
- change: Added a display function and two new accessors.
- …and 280 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
pentlandedge/s4607 was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 17 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit be131209068384529116950ae902fbf90bcb7edd — the exact code this score is about.
- Scored under rubric-2026.09.13 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-d1ef6c0bd534.