Skip to content

refactor(prover): remove legacy unused reachability constraints #2412

Closed

Description

@elezar

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.

Activity

  1. added a commit that references this issue on Jul 23, 2026
    27d24f0
  2. added a commit that references this issue on Aug 5, 2026
    2a1b3c5
  3. github-actions commented on Aug 6, 2026

    @github-actions

    This issue has had no activity for 14 days and is now marked stale. It may be closed in 7 days if there is no further activity. Comment or remove the state:stale label to keep it open.

  4. added
    state:acceptedA maintainer decided OpenShell should pursue this issue
    and removed
    state:staleInactive item at risk of automatic closure.
    on Aug 18, 2026
  5. added a commit that references this issue on Oct 13, 2026
    6496655
  6. added a commit that references this issue on Oct 13, 2026
    fd95354
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    state:acceptedA maintainer decided OpenShell should pursue this issue

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions