Deferred from bert#88 (PR #92). The kernel-mode preconditions now exist in three substrates and should be cross-checked so they can never silently drift:
- Lean —
HasBond / Irreflexive hypotheses in systems-science-foundations/Systems/Klir/ViewGeneration.lean
- GSR (Python) —
enforce_constraints in general-systems-reasoner/.../modes/bunge.py + klir.py (shipped/deployed 6/11)
- Rust —
bert-core::validate::validate_mode (this PR)
The check
A model that BERT's validate_mode(_, Structural) rejects as an aggregate (no bond) should be the same model GSR's Bunge lens calls an aggregate; likewise the Operational self-loop / Mobus k≠o rule. Build a shared fixture set and assert the three substrates agree on accept/reject.
Why deferred
bert#88 was scoped bert-core-only (Rust) to keep the last-session-of-day diff small. This pulls in the GSR Python repo, so it's its own task.
Acceptance
- Shared aggregate fixture: BERT
validate_mode(_, Structural) errors ⇔ GSR Bunge lens flags aggregate.
- Shared self-loop fixture: BERT
validate_mode(_, Operational) errors ⇔ GSR Mobus/Klir constraint flags it.
- A note in the bert-dev "Validators" doc pointing to all three sites.
Refs bert#88
Deferred from bert#88 (PR #92). The kernel-mode preconditions now exist in three substrates and should be cross-checked so they can never silently drift:
HasBond/Irreflexivehypotheses insystems-science-foundations/Systems/Klir/ViewGeneration.leanenforce_constraintsingeneral-systems-reasoner/.../modes/bunge.py+klir.py(shipped/deployed 6/11)bert-core::validate::validate_mode(this PR)The check
A model that BERT's
validate_mode(_, Structural)rejects as an aggregate (no bond) should be the same model GSR's Bunge lens calls an aggregate; likewise theOperationalself-loop / Mobus k≠o rule. Build a shared fixture set and assert the three substrates agree on accept/reject.Why deferred
bert#88 was scoped bert-core-only (Rust) to keep the last-session-of-day diff small. This pulls in the GSR Python repo, so it's its own task.
Acceptance
validate_mode(_, Structural)errors ⇔ GSR Bunge lens flags aggregate.validate_mode(_, Operational)errors ⇔ GSR Mobus/Klir constraint flags it.Refs bert#88