Skip to content

v1.9.3 — discrete reachability analysis

Choose a tag to compare

@igareosh igareosh released this 24 Jul 22:46
· 22 commits to main since this release

Added

  • fpf_thinking_map.reachability: discrete reachability analysis over a
    SemanticMap's declared transition graph — graph_roots(),
    forward_reachable(), unreachable_transitions(). Algorithm 10.1/10.3
    from Kochenderfer, Katz, Corso, and Moss, Algorithms for Validation
    (MIT Press, 2026), ch.10.
  • check_reachability added to python -m fpf_thinking_map.verify (27/27).

Fixed (by the check catching it, not by changing runtime behavior)

A downstream domain map's requires_human_authorization transition had a
from_state nothing else in the map produced. Looked unreachable; wasn't —
it was an intentional external entry point. The obvious-looking fix (merge
it onto the shared from_state its safe twin used) broke four behavior
tests: step() without an explicit transition_id aggregates
missing_evidence across every transition sharing a from_state.
entry_states is a required argument to unreachable_transitions() so
that distinction is a reviewable line of code, not tribal knowledge.

Runtime behavior of this package is unchanged. Full details:
CHANGELOG.md.

See also: docs/deep/EXPANDED_PROVENANCE.md for the narrative arc.