feat: intermediate chain condition steps + _subjectIsObject unary scoping
CI / publish (push) Successful in 10s
CI / test (push) Successful in 19s

- _expandChainSteps: a logical/defeasible evidence referenced by a chain step
  is now a condition step ({ rule, conditionStep }) at ANY position. As the
  FINAL step the engine verifies it at (intermediate, object); as an
  INTERMEDIATE step the engine expands it from the current node (rule-based
  reachability: base edges' destinations filtered by the rule's
  defeaters/requirements) and continues traversal from each discovered node.
- buildPredicateRule / buildDirectRule: unary predicate calls whose subject
  entity IS the evidence's object parameter (trusted(other) inside
  peer_trusted(user, other)) are marked _subjectIsObject (was: only subject-var
  calls got _subjectAsObject). Requires @arbiter/core@^1.0.4.

Tests: ChainConditionStep intermediate expansion; oracle campaign gains a
chain_intermediate_condition construct (oracle = min(peer*(1-trusted), read)).
This commit is contained in:
John Dvorak
2026-08-03 13:36:16 -07:00
parent fe162251fc
commit 3ace783a59
5 changed files with 94 additions and 32 deletions
+6 -6
View File
@@ -1,15 +1,15 @@
{
"name": "@arbiter/evidence-dsl",
"version": "1.4.0",
"version": "1.6.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@arbiter/evidence-dsl",
"version": "1.4.0",
"version": "1.6.0",
"license": "ISC",
"dependencies": {
"@arbiter/core": "^1.0.3"
"@arbiter/core": "^1.0.4"
},
"devDependencies": {
"@rigor/core": "^3.1.0",
@@ -17,9 +17,9 @@
}
},
"node_modules/@arbiter/core": {
"version": "1.0.3",
"resolved": "https://hub.kl1.tenere.ai/api/packages/Arbiter/npm/%40arbiter%2Fcore/-/1.0.3/core-1.0.3.tgz",
"integrity": "sha512-MCXxyeWBoYjEJMrdO8N8q9uEdX7JgDvwRH39D+8x65zFz+JCNWIQ8H4DgsP2rgF+yzv/cdVH4BX9PfFt6i0ftQ==",
"version": "1.0.4",
"resolved": "https://hub.kl1.tenere.ai/api/packages/Arbiter/npm/%40arbiter%2Fcore/-/1.0.4/core-1.0.4.tgz",
"integrity": "sha512-1zXy3mZACjwELptsV8QpYvZJmMU7BhUQ4FsKNfp3/oJDwjfMqAImcAF3mJ+HNZpQnLQXScmELTwow5VduvN27g==",
"license": "ISC",
"dependencies": {
"@tenere/pltc-core": "^0.6.3",