Skip to content

Validate Fpy Sequence Arg Names and Types#5031

Open
Lex-ari wants to merge 25 commits into
nasa:develfrom
FireflySpace:Lex-ari-Validate-Arg-Names
Open

Validate Fpy Sequence Arg Names and Types#5031
Lex-ari wants to merge 25 commits into
nasa:develfrom
FireflySpace:Lex-ari-Validate-Arg-Names

Conversation

@Lex-ari
Copy link
Copy Markdown
Collaborator

@Lex-ari Lex-ari commented Apr 17, 2026

Related Issue(s) #4942 #4662 #4181 fpy#27 fpy#30 #4962 fpy#42
Has Unit Tests (y/n) y
Documentation Included (y/n) n
Generative AI was used in this contribution (y/n) y

Change Description

Adds comprehensive argument validation support to the FpySequencer component. The sequencer can reads argument specifications (arg_specs) from Fpy bytecode files and validates that provided runtime arguments match the expected sizes.

This changes the header / body format of Fpy sequences, to include argument specs inside the body. The body is deserialized and makes use of the argumentCount inside the header to validate the buffer size. Additionally, it saves the argument specs with an argument name, and type name, to allow for future development on matching arg names and types for calling arguments with sequences.

Rationale

Support for type-checking fpy sequences with arguments, as well as calling sequences with arguments from other sequences to match names and typenames.

Testing/Review Recommendations

Check unit test passage on new validation cases, including arguments added to fpy sequences.

Future Work

More robust UT's and testing, such as typename-checking.

Notes

Have #4962 Merge before this one

AI Usage (see policy)

Claude-chan helped
v2.1.92 sonnet used to autocomplete validation
All lines of code were human reviewed.

@Lex-ari Lex-ari changed the title Lex ari validate arg names Validate Fpy Sequence Arg Names and Types Apr 17, 2026
@Lex-ari Lex-ari force-pushed the Lex-ari-Validate-Arg-Names branch from 525bb7b to 31282aa Compare April 22, 2026 22:31
Comment thread Svc/CmdSequencer/CmdSequencerImpl.cpp Outdated
Comment thread Svc/FpySequencer/test/ut/FpySequencerTester.cpp
Comment thread Svc/FpySequencer/FpySequencer.hpp
Comment thread Svc/FpySequencer/FpySequencer.hpp Outdated
Comment thread Svc/FpySequencer/FpySequencer.hpp
Comment thread Svc/FpySequencer/FpySequencer.hpp Outdated
Comment thread Svc/FpySequencer/FpySequencer.hpp
Comment thread Svc/FpySequencer/FpySequencerEvents.fppi Outdated
Comment thread Svc/FpySequencer/FpySequencerValidationState.cpp Outdated
Comment thread Svc/FpySequencer/FpySequencerValidationState.cpp Outdated
Comment thread Svc/FpySequencer/FpySequencerValidationState.cpp Outdated
@Lex-ari Lex-ari force-pushed the Lex-ari-Validate-Arg-Names branch from bd00ef1 to 48f821a Compare May 5, 2026 15:31
@Lex-ari Lex-ari force-pushed the Lex-ari-Validate-Arg-Names branch from 48f821a to 101e138 Compare May 5, 2026 15:56
@Lex-ari Lex-ari marked this pull request as ready for review May 9, 2026 00:50
Comment thread Svc/FpySequencer/FpySequencer.cpp
Copy link
Copy Markdown
Collaborator

@zimri-leisher zimri-leisher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This won't compile, as the BlockState enum got removed from FpySequencer

Comment thread Svc/FpySequencer/FpySequencerTypes.fpp Outdated
Comment thread Svc/FpySequencer/FpySequencerValidationState.cpp Outdated
Copy link
Copy Markdown
Collaborator

@zimri-leisher zimri-leisher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work! Let's finally get this merged. @LeStarch can you approve workflows?

@LeStarch
Copy link
Copy Markdown
Collaborator

@zimri-leisher ready to merge?

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.

3 participants