Skip to content

feat(prs-556): make ABI trust posture an explicit policy - #440

Closed
pepe-anchor wants to merge 1 commit into
mainfrom
prs-556-core-policy
Closed

feat(prs-556): make ABI trust posture an explicit policy#440
pepe-anchor wants to merge 1 commit into
mainfrom
prs-556-core-policy

Conversation

@pepe-anchor

@pepe-anchor pepe-anchor commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Why am I making this PR?

The parser currently makes ABI trust decisions per-request, meaning a caller can opt into leniency by omitting a signature. The trust posture should be a deploy-time choice, fixed at startup and auditable in the TVC manifest.

What am I changing?

Add MetadataTrustPolicy enum (AcceptUnsigned | RequireAllowlistedSigner) and SignerAllowlist to visualsign::signing. No Default impl — a deployment must explicitly state which posture it runs. Marked #[non_exhaustive] so future posture variants are safe.

What is the Linear ticket?

PRS-556

What are the rollback steps?

Revert the commit. No wire-format or API changes at this layer.

Is this change backwards compatible?

Yes. No existing callers are broken — MetadataTrustPolicy has no Default impl so every construction site is explicit.

Does this require cross-team/service coordination?

No.

How do I know it works as designed? Which tests exercise this code?

Existing signing.rs unit tests cover SignerAllowlist construction and policy accessors.

Add MetadataTrustPolicy enum (AcceptUnsigned | RequireAllowlistedSigner)
and SignerAllowlist to visualsign::signing. No Default impl — a deployment
must state which posture it runs. Mark enum #[non_exhaustive].
@pepe-anchor

Copy link
Copy Markdown
Contributor Author

Closing in favour of a replacement PR. This one is still the last live member of GitHub stack #445 (the other four entries are the closed/merged #441-#444), which locks its base against retargeting and keeps showing a stack topology that no longer exists. Same branch, same commit, no content change.

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