refactor(prover): remove legacy unused reachability constraints
Nobody has claimed this yet.
- 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.rscrates/openshell-prover/src/registry.rscrates/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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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