feat(prs-556): wire deploy-time ABI trust posture into parser_app - #454
Draft
pepe-anchor wants to merge 1 commit into
Draft
feat(prs-556): wire deploy-time ABI trust posture into parser_app#454pepe-anchor wants to merge 1 commit into
pepe-anchor wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why am I making this PR?
Wire the MetadataTrustPolicy from #440 into parser_app so deployments express their posture via cmdline flags instead of inheriting an implicit default.
What am I changing?
Add
--accept-unsigned-abisand--accept-signatures-from-pubkeyflags to parser_app CLI. Mutually exclusive (clapforbids), at least one required at startup. Parse intoParserConfig.abi_trustand thread throughcreate_registryto the converter.This commit changes two signatures,
create_registry(&ParserConfig)andparse(req, key, &ParserConfig), so it also carries every call-site update thosebreak: the grpc-server call site, the
library_integration_testexample, theintegration-test harness
Builder, and themake parser_apptarget. In the previousversion of this stack those four fixes were scattered across the two commits above,
which left this commit and the one after it uncompilable. That is what #441's red CI
was reporting.
What is the Linear ticket?
PRS-556
What are the rollback steps?
Redeploy with a manifest whose pivotArgs omit the new flags. The old parser_app binary ignores unknown flags.
Is this change backwards compatible?
No. parser_app now refuses to start without an explicit posture. Every launch path (Makefile, integration harness, CI, grpc-server) passes one explicitly as of this commit.
Does this require cross-team/service coordination?
Yes, live deployments need a redeploy to pick up a posture.
How do I know it works as designed? Which tests exercise this code?
CLI arg parsing tests cover both/neither rejection. Registry test pins both postures reach the converter.
Verified at this commit:
cargo clippy --all-targets -- -D warningsclean,cargo fmt --checkclean, and a fullmake testpasses (previously the integration suite died at startup with "one of --accept-unsigned-abis or --accept-signatures-from-pubkey is required").