datalog-plan: log parser/safety bug-hunt round (7 bugs fixed)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 32s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 32s
This commit is contained in:
@@ -15,7 +15,7 @@ for rose-ash data (e.g. federation graph, content relationships).
|
|||||||
|
|
||||||
## Status (rolling)
|
## Status (rolling)
|
||||||
|
|
||||||
`bash lib/datalog/conformance.sh` → **239/239 across 11 suites**
|
`bash lib/datalog/conformance.sh` → **256/256 across 11 suites**
|
||||||
(tokenize, parse, unify, eval, builtins, semi_naive, negation, aggregates,
|
(tokenize, parse, unify, eval, builtins, semi_naive, negation, aggregates,
|
||||||
api, magic, demo). Source is ~3100 LOC, tests ~2900 LOC, public API
|
api, magic, demo). Source is ~3100 LOC, tests ~2900 LOC, public API
|
||||||
documented in `lib/datalog/datalog.sx`.
|
documented in `lib/datalog/datalog.sx`.
|
||||||
@@ -320,6 +320,21 @@ large graphs.
|
|||||||
|
|
||||||
_Newest first._
|
_Newest first._
|
||||||
|
|
||||||
|
- 2026-05-10 — Bug-hunt round on parser/safety surfaced 7 real
|
||||||
|
bugs, each fixed with regression tests:
|
||||||
|
- Reserved relation names (`not`, `count`, `<`, `is`, ...) were
|
||||||
|
accepted as rule/fact heads — would silently shadow built-ins.
|
||||||
|
- Negative number literals (`n(-1).`) failed to parse — users
|
||||||
|
had to express them as `(- 0 1)` or via `is`.
|
||||||
|
- Unterminated block comment `/* ...` silently consumed the
|
||||||
|
rest of the input. Now raises with the position.
|
||||||
|
- Same silent-consume bug in unterminated string / quoted-atom.
|
||||||
|
- Empty-list rule head and non-list rule body weren't validated;
|
||||||
|
they'd crash later in `rest`. dl-add-rule! now checks shape.
|
||||||
|
- dl-magic-query with non-list / non-dict goal crashed cryptically.
|
||||||
|
- Tokenizer silently swallowed unrecognised characters (`?`, `!`,
|
||||||
|
`#`, `@`, etc.) — typos produced confusing downstream errors.
|
||||||
|
|
||||||
- 2026-05-08 — Phase 6 driver: `dl-magic-query db query-goal`.
|
- 2026-05-08 — Phase 6 driver: `dl-magic-query db query-goal`.
|
||||||
Builds a fresh internal db from the caller's EDB + magic seed +
|
Builds a fresh internal db from the caller's EDB + magic seed +
|
||||||
rewritten rules, saturates, queries, returns substitutions —
|
rewritten rules, saturates, queries, returns substitutions —
|
||||||
|
|||||||
Reference in New Issue
Block a user