NVIDIA / NVIDIA/OpenShell

refactor(prover): remove legacy unused reachability constraints

Open
#2,412 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

state:accepted
Dominant language
Rust
Stars
8.7k
Forks
1.3k
Avg merge
2d 11h
Merged PRs (30d)
253

Description

Description

Audit and remove reachability-model state that is constructed on every prover run but is not consumed by any active query.

The current model still builds credential_has_destructive and filesystem_readable constraints even though no repository caller reads them. binary_can_write is only consumed by can_write_to_endpoint(), which also has no repository callers.

Context

Identified while reviewing the call chain rooted at prove() after #2395.

Relevant code:

  • crates/openshell-prover/src/model.rs
  • crates/openshell-prover/src/registry.rs
  • crates/openshell-prover/src/policy.rs

Because can_write_to_endpoint() is public, confirm whether it is a supported external API before removing the method or the state that supports it.

Definition of Done

  • Audit the unused model fields and helper methods against supported public API expectations.
  • Remove solver variables, maps, and encoding work that no active or supported query requires.
  • Remove associated dead-code allowances.
  • Preserve the findings produced by all existing prover fixtures.
  • Add or update tests demonstrating that active query behavior is unchanged.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the call chain rooted at prove() across crates/openshell-prover/src/model.rs, registry.rs, and policy.rs. Confirm whether the public can_write_to_endpoint() method is a supported external API, then audit the listed constraints, solver variables, maps, and dead-code allowances. Done means unused reachability work is removed while existing prover fixtures still produce the same findings and tests cover unchanged active-query behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
security
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.