Skip to content

Problem: non-deterministic args in attestation not filtered #1208

@coderabbitai

Description

@coderabbitai

Problem

Non-deterministic arguments (such as use_cache) in attestation actions can break attestation reproducibility across validators. This is a critical issue that must be resolved before attestations are released to production.

Context

The current TODO in the code states:

TODO: some arguments are not deterministic, such as use_cache
we should aim at filtering these out before we release attestations.
One idea is to also store a force_args in the whitelisted actions. Then this should help us force some args per action

Proposed Solution

  1. Add a force_args JSONB column to the attestation_actions table
  2. Merge forced args with user-provided args before dispatch (with force_args taking precedence)
  3. Document which args are overridden per action

Impact

Without this fix, attestations may produce different results across validators, breaking consensus and rendering the attestation system unreliable.


Requested by: @outerlook

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions