Skip to content

docs: stage 2 missing conditional-request field requirements - #140

Merged
SoundMatt merged 1 commit into
mainfrom
docs/pending-tc18-reqs-conditional-layer
Aug 7, 2026
Merged

docs: stage 2 missing conditional-request field requirements#140
SoundMatt merged 1 commit into
mainfrom
docs/pending-tc18-reqs-conditional-layer

Conversation

@SoundMatt

Copy link
Copy Markdown
Owner

Summary

  • Checked the Compound/CompoundWait/Triggered cluster's field-level completeness against TC18 §11.2.2 directly, following the same pass already done for cpp-RCP.
  • This module is notably more complete than cpp-RCP's equivalent: cmp_exec_delay/cmpw_exec_delay, trigger_exec_delay, and trigger_repetitions are all real, well-tested implementations already.
  • Two genuine gaps remain, confirmed by grep (the real TC18 field names appear nowhere outside doc comments):
    • Compound/CompoundWait: cmp_repetitions/cmpw_repetitions absent — only the exec_delay timer exists.
    • Triggered: trigger_source_ep/trigger_signal_nr/trigger_threshold absent — should_count_trigger_occurrence always returns true regardless of which signal/endpoint fired.
  • Separately flagged (not staged here — a requirement already exists, traced+tested, so it's a defect not an absence): REQ-TIME-002/003's TimedExecutionTime composes 32-bit AvtpTimestamp for a Timed request's presentation-time gate. The code's own doc comment says this was an unconfirmed judgment call; TC18's real presentation_time (§11.2.2.5) is 48-bit gPTP-domain. Recorded in memory for its own fix.
  • Staged in .fusa-reqs-pending.json (same schema, confirmed not read by rsfusa) per this session's discussion — RELAY §20.1.2 hard-gates 100% traceability, so these can't go into .fusa-reqs.json without either breaking CI or being real. No code change.

Test plan

  • rsfusa check --dir . — 0 errors, unchanged
  • rsfusa trace --dir . — unchanged (only pre-existing HLR/LLR warnings)

Following the same investigation as cpp-RCP's equivalent pass:
checked the Compound/CompoundWait/Triggered cluster's field-level
completeness against TC18 sec 11.2.2 directly, given the pattern of
gaps already found in the sibling repos' conditional-request layers.

This module's design is notably more complete than cpp-RCP's: it
already implements cmp_exec_delay/cmpw_exec_delay (resolve_compound_
exec_delay), trigger_exec_delay (resolve_trigger_exec_delay), and
trigger_repetitions (TriggerRepeatCount/is_trigger_repeat_exhausted),
all real, well-tested code -- not comment-only like cpp-RCP's
equivalents.

Two genuine field-level gaps remain, confirmed by grep across
src/request.rs (the real TC18 field names appear nowhere outside
docs):
- Compound/CompoundWait: cmp_repetitions/cmpw_repetitions (repeat
  count) is absent -- only the exec_delay timer exists, no repeat
  concept at all for these two kinds specifically.
- Triggered: trigger_source_ep/trigger_signal_nr/trigger_threshold
  are absent -- should_count_trigger_occurrence(endpoint_busy) always
  returns true regardless of which signal or endpoint fired, so there
  is no mechanism to specify or check which specific trigger a
  pending request is actually waiting for, nor an occurrence-
  threshold gate before first execution.

Separately (not staged here, since a requirement already exists and
is traced+tested -- this is a defect, not an absence): REQ-TIME-002/
003's TimedExecutionTime composes AvtpTimestamp (32-bit, ~4.3s
rollover) for a Timed request's presentation-time gate. The code's
own doc comment is explicit that this was an unconfirmed judgment
call, not a verified wire fact. TC18's real presentation_time
(sec 11.2.2.5) is 48-bit, gPTP-domain, ~3.25-day rollover -- a
materially different value. Flagged in memory for its own fix,
not included in this staging file.

Per this session's discussion: RELAY spec 20.1.2 hard-gates 100%
requirement traceability in CI. Staged in a new
.fusa-reqs-pending.json (same schema, confirmed not read by rsfusa),
to be migrated into .fusa-reqs.json once each gets a real
implementation and test.

No code change. rsfusa check/trace unaffected (confirmed, 0 errors).

Signed-off-by: Matt <47545907+SoundMatt@users.noreply.github.com>
@SoundMatt
SoundMatt merged commit 3820c97 into main Aug 7, 2026
18 checks passed
@SoundMatt
SoundMatt deleted the docs/pending-tc18-reqs-conditional-layer branch August 7, 2026 16:56
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