Skip to content

docs(cat-tx-ptt): rescope hardware-acceptance gates to what an operator can actually verify#75

Merged
frank001 merged 2 commits into
mainfrom
docs/cat-tx-ptt-hardware-gate-rescope
Jul 14, 2026
Merged

docs(cat-tx-ptt): rescope hardware-acceptance gates to what an operator can actually verify#75
frank001 merged 2 commits into
mainfrom
docs/cat-tx-ptt-hardware-gate-rescope

Conversation

@frank001

Copy link
Copy Markdown
Owner

Summary

  • Gate 14.1 no longer asks the operator to judge PTT lead/tail timing by eye against a millisecond
    threshold — replaced with a decode-based check (monitor/second SDR/far-station copy in full),
    matching the evidence standard already accepted for Gate 16.
  • Gates 14.3/15.4 (force the PttWatchdog failsafe) retired as manual hardware gates entirely —
    already covered by PttWatchdogTests.cs plus the proven-identical SetLine(line, asserted: false)
    de-assert path shared with normal KeyUpAsync, already exercised on real hardware repeatedly.
  • Records 2026-07-14 field evidence (logs/openswfz-20260714T184808Z.log): further reinforcement of
    15.1, and a real auto-unkey correctly attributed to tx.WatchdogMinutes (not PttWatchdog), so it
    does not satisfy the now-retired 15.4.
  • No checkboxes ticked except 14.3/15.4 (explicitly as "retired," not "hardware confirmed"). Still
    genuinely outstanding: 14.1, 14.2, 14.4, 15.2, 15.3 — tracked as a running backlog in Hardware acceptance backlog — gates blocked on rig/wiring configuration not yet set up #74.

Test plan

  • Documentation-only change (openspec artifacts) — no code, tests, or CI surface affected.
  • Reviewed for internal consistency across both files (top evidence notes, gate walkthroughs,
    closing status summary, archive-gate note) — all updated to match, not just the two checkboxes.

🤖 Generated with Claude Code

…or can actually verify

14.1 asked the operator to judge PTT lead/tail timing by eye against a millisecond threshold —
not something a human can reliably do without lab equipment (oscilloscope, logic analyzer),
which isn't assumed to be available. Reworded to a decode-based check instead: a monitoring
receiver, second SDR, or the far station copying the transmitted message in full is sufficient
evidence the timing didn't clip the signal, matching the evidence standard already accepted for
Gate 16's two-way QSO.

14.3/15.4 (force the PttWatchdog failsafe and confirm automatic unkey) asked the operator to
reconfigure an internal timing knob and orchestrate a component-level failure through the
Settings UI — including, at one point, a suggested value that violated the form's own min="1000"
constraint. Retired as manual hardware gates entirely: PttWatchdogTests.cs already
deterministically covers PttWatchdog's fire/callback/Error-log behaviour in isolation, and
ForceReleaseAsync/KeyUpAsync in both PTT controllers call the identical SetLine(line,
asserted: false) primitive already proven correct on real hardware repeatedly (2026-07-12,
2026-07-14 field sessions). No manual step adds real confidence beyond what's already covered.

Also records 2026-07-14 field evidence (logs/openswfz-20260714T184808Z.log): further
reinforcement of 15.1 (RTS key/unkey via the PTT-test button and multiple QSO cycles), plus a
real unprompted automatic PTT release — correctly identified as tx.WatchdogMinutes (the
QSO-level give-up timer), not the PttWatchdog failsafe, so it does not satisfy the now-retired
15.4. Genuinely still outstanding, real hardware required: 14.1, 14.2, 14.4, 15.2, 15.3 — tracked
as a running backlog in issue #74 since further items are expected as hardware-facing features
grow.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@frank001

Copy link
Copy Markdown
Owner Author

QA sign-off. Documentation-only change to OpenSpec artifacts (`tasks.md`/`hardware-acceptance.md`) — no code, tests, or CI surface touched, confirmed by the diff and by every `Build & Test` / `Gate G9` check passing unaffected. Content already walked through with the Captain in full before this PR was opened (gate rewording rationale, retirement of 14.3/15.4, 2026-07-14 field evidence). Merging as-is.

@frank001 frank001 merged commit 4fc87d3 into main Jul 14, 2026
20 of 21 checks passed
@frank001 frank001 deleted the docs/cat-tx-ptt-hardware-gate-rescope branch July 14, 2026 19:57
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