feat: sources wired as recency-gated injectables; transitive closure, NOT scoping, recompile-scope uninstall; targeted parse errors
CI / test (push) Successful in 20s
CI / publish (push) Has been skipped

BEHAVES AS transitive now emits bounded multi_hop configs (direct checks and
evidence references), fixing a silent no-op. NOT builds keep _subjectAsObject
scoping so unary predicates negate the right node, and value-typed evidence
objects gate by exact edge value. Recompiling a scope uninstalls its stale
relation configs (compileMultiple coexistence preserved). Sources become
injectable relations honored by requiredFacts with a within-X recency gate.
Duplicate definition fields and three common declaration mistakes (within on a
fact, two BEHAVES clauses, limit on a non-pattern body) now produce targeted
errors. Provider edges referencing unknown nodes are warned and dropped.
This commit is contained in:
John Dvorak
2026-08-03 20:27:13 -07:00
parent 4d498b07e8
commit 2a7f4c315b
10 changed files with 556 additions and 28 deletions
+6 -6
View File
@@ -1,15 +1,15 @@
{
"name": "@arbiter/evidence-dsl",
"version": "1.6.0",
"version": "1.12.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@arbiter/evidence-dsl",
"version": "1.6.0",
"version": "1.12.0",
"license": "ISC",
"dependencies": {
"@arbiter/core": "^1.0.4"
"@arbiter/core": "^1.0.7"
},
"devDependencies": {
"@rigor/core": "^3.1.0",
@@ -17,9 +17,9 @@
}
},
"node_modules/@arbiter/core": {
"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==",
"version": "1.0.7",
"resolved": "https://hub.kl1.tenere.ai/api/packages/Arbiter/npm/%40arbiter%2Fcore/-/1.0.7/core-1.0.7.tgz",
"integrity": "sha512-DgeU8HIJS5K3TnZoVyh6nphy7ZLQA5lzV/icZUvF77XOB5W5ObkGKOSH42LVPA/BEcKlBLrWFgoCB56badLBJg==",
"license": "ISC",
"dependencies": {
"@tenere/pltc-core": "^0.6.3",