• v1.0.6 f6e3ae1922

    refactor: complete rolling-hash rollout — composite/srcRel/dstRel keys + key-tracked cache invalidation
    CI / test (push) Successful in 6m24s
    CI / benchmark (push) Successful in 1m0s
    CI / publish (push) Successful in 10s

    Dvorak released this 2026-08-03 23:35:08 +00:00 | 2 commits to master since this release

    Completes the rolling-hash rollout (previously only createChainKey hashed):

    • createCompositeKey, createSrcRelKey, createDstRelKey, and the
      valueRelationsBySrc/Dst keys now produce 53-bit rolling hashes instead of
      src|rel|dst string concatenation. Direction markers keep srcRel vs dstRel
      distinct; the composite/chain keys are exact integers usable as Map keys.
    • Direct-check cache invalidation is now key-TRACKED instead of pattern-
      matched: every direct-check result is registered under the checked relation,
      its base relations (reverse dependency index), and the subject/object node
      ids (Arbiter._trackDirectCheckKey). Relation-level invalidation deletes the
      tracked keys for each affected relation (covering config-override checks);
      node-level invalidation (node removal / updateNodeData) deletes by node id.
      This replaces the pipe-delimited-string regex matching that required the old
      key format.
    • DecisionCache.invalidateByNodeKey and invalidateAll route through the tracked
      indexes; tracking maps are cleared on full flush.

    Tests updated to the tracked contract (register injected keys via
    _trackDirectCheckKey); full suite green.

    Downloads