CLI: lint inert preferences and defeater-polarity mistakes #23
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Add an SPL semantic lint/advisory command that identifies inert preferences,
unexpected defeater polarity, missing labels, and rules that cannot participate in
the current conflict graph.
Motivation from the grounded runs
Two modeling errors were syntactically valid but operationally misleading:
qwere initially written with headqinstead of(not q). They were inert or attacked the opposite side and later had to beretracted. Issue #17 corrects the documentation, but the CLI still accepts the
mistake silently.
(prefer r-zoo-not-lab r-lab-not-zoo)looked like a meaningful hypothesisordering, but the rule heads were not complements and therefore did not resolve an
actual conflict. Narrow preferences between a defeater and the directly competing
support rule did participate.
Proposed CLI
For example:
Advisories should be non-blocking by default and machine-readable.
Candidate diagnostics
excepthas no complementary support rule to attack in the theory;supplied
--intended-to-blockliteral says;The linter should describe actual semantics rather than infer intent when intent is
unknowable. An optional
--intended-to-block <literal>makes the polarity checkexplicit.
Acceptance criteria
complement.
assert, without changing admission or reasoning.Related: #17 fixes documentation; #12 improves post-hoc ambiguity explanation. This
issue catches semantic near-misses before or immediately after assertion.
Environment / evidence
Observed with Elephant 0.1.2 across the FLF two-agent runs. Corrected real-machine
corpus:
github.com/anuna-cooperative/flf-elephant-experiment@96ca63675e/corpus/rootclaim-grounded.spl