Skip to content

Agent task: 002-arq-property-tests#7

Merged
secup merged 1 commit intomainfrom
agent/20260430_153954-002-arq-property-tests
Apr 30, 2026
Merged

Agent task: 002-arq-property-tests#7
secup merged 1 commit intomainfrom
agent/20260430_153954-002-arq-property-tests

Conversation

@secup
Copy link
Copy Markdown
Owner

@secup secup commented Apr 30, 2026

Automated agent task.

Task: agents/queue/codex/002-arq-property-tests.md
Branch: agent/20260430_153954-002-arq-property-tests
Base: main

Required Review

  • Verify the task scope was respected.
  • Verify local gates and hardware/benchmark evidence in agents/reports/20260430_153954-002-arq-property-tests.
  • Reject if throughput, retransmissions, LDPC decode health, or security posture regressed without explanation.

Agent Report

See local report directory: agents/reports/20260430_153954-002-arq-property-tests

@secup secup marked this pull request as ready for review April 30, 2026 21:19
@secup secup merged commit 54a93d7 into main Apr 30, 2026
9 checks passed
@secup secup deleted the agent/20260430_153954-002-arq-property-tests branch May 2, 2026 00:24
secup added a commit that referenced this pull request May 3, 2026
Tonight's autonomous code-quality pass on the new TNC + HARQ work,
informed by Codex review (full notes /tmp/codex_quality_findings.md,
22 ranked findings). Tackled the safe ones with high impact:

Safety / correctness (#3, #7-#8, #14):
- ultra_tnc: skip config loading on --help / --list-audio-devices
  so a malformed config doesn't break operator recovery
- tnc_session: cmdStats() now null-guards cmd_emit_, matching the
  rest of the emit path (was the one place that could throw
  std::bad_function_call on a null callback)
- tnc_bridge: postPTT() callbacks no longer fire under ptt_mutex_.
  Computes the PTT transition under the lock, releases, then
  invokes sink + hardware callback. Closes a deadlock window when
  a slow hardware-PTT serial write blocks under the mutex.
- (#7 PTT setLine() return-check deferred — needs decision on
  whether to fail-startup or fall-back-to-VOX. Punted to follow-up.)

Tests (#12, #19-#20):
- 1 new test_tnc_session: corrupt-deflate RX silently dropped
  (regression guard for the marker-strip path)
- 6 new test_soft_combine cases:
  * setEnabled(false) clears retained entries
  * Zero sender_hash is a no-op (don't pollute future sessions)
  * setMaxEntries(0) disables retention
  * Empty-LLR retain is a no-op
  * Saturation: pin to exact implementation cap (60.0) on both
    + and - sides instead of just "<= 100"

Docs / comments (#18, #22):
- soft_combine.hpp: comment on carrier_count_hash now matches
  what the hash actually contains (was claiming pilot-spacing
  coverage we don't actually do)
- PAT_VARA_AUDIT.md: trailing-whitespace cleanup

Local ctest 34/34. Test counts: SoftCombine 10→16, TNCSession
98→100, TNCBridge 17→23. Net +14 tests.

Deferred (need broader judgment, not autonomous-safe):
- #2 extract config helpers to testable target (refactor)
- #5 explicit negative CLI flags (interface design)
- #9 sink ownership lifetime race (concurrency design)
- #11 BUFFER 0 immediacy vs rate-limit (protocol judgment)
- #13 flushDataTxBuffer extraction for testability
- #15 sendBinary error propagation (interface change)
- #16 HARQ key construction extraction
- #17 HARQ when CW0 fails (architectural)
- #21 UltraTNCStation threading model

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Codex (review) <noreply@openai.com>
secup added a commit that referenced this pull request May 3, 2026
- Add parsePositiveIntStrict / parseBoolStrict helpers — full string
  consumed, no leading sign chars, range-checked. Replaces loose
  std::stoi / equality-list parsing in applyConfigKey and CLI for
  inject_channel, ptt_serial_baud, ptt_inactive_high. "9600abc" or
  "-50" no longer silently parse as 9600 / 50.
- If serial PTT setLine() fails on initial inactive-state set,
  refuse to start — running with PTT in an unknown state risks
  keying the radio. Mid-session callback failures are logged but
  non-fatal so a USB unplug doesn't crash the modem.

Closes Codex review items #4 and #7.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
secup added a commit that referenced this pull request May 3, 2026
The first batch closed 8 of 22; the second batch closed 7 more
(#2, #4, #5, #7, #11, #13, #16). 18 of 22 total now closed; the
remaining 4 (#9, #15, #17, #21) are Codex-flagged as needing
human architectural judgment.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
secup added a commit that referenced this pull request May 3, 2026
Updated QUALITY_PASS doc to reflect the final state of tonight's
two-batch quality work. Eleven findings were closed in the second
batch (#2, #4, #5, #7, #9, #10, #11, #13, #15, #16, #17).
Combined with the first batch's ten, that's 21/22 closed. Only the
UltraTNCStation threading-model rework is deferred, and Codex
itself flagged that as requiring human concurrency design.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant