@visiq/core-wasm 0.1.8 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -53,6 +53,25 @@ export interface CoreNoCoverage {
53
53
  }
54
54
  export type SessionEvalState = Record<string, unknown>;
55
55
 
56
+ /**
57
+ * `input.session` IS TOTAL AT ALL THREE ENTRYPOINTS BELOW (since 0.1.10).
58
+ *
59
+ * Whatever a caller supplies — absent, null, a bare `{}`, a partial object, or a
60
+ * type-confused leaf at any depth — is HYDRATED into the SSOT-shaped session state
61
+ * before evaluation. This matters for exactly one class of rule and it is the class
62
+ * that grants authority: a relational identity binding
63
+ * (`not input.normalized.write.subject_id in input.session.identity.attested_subjects`)
64
+ * cannot be satisfied against an ABSENT right operand, because the relational hard stop
65
+ * refuses a non-array before negation — so before hydration the deny arm did not fire
66
+ * and a confused-deputy action was PERMITTED. Hydration degrades an out-of-shape leaf to
67
+ * the EMPTY set, which is the protective direction, and preserves a well-formed attested
68
+ * set unchanged. A caller therefore does NOT need to pre-materialize the session, and a
69
+ * partial one can no longer authorize.
70
+ *
71
+ * Proven against the COMMITTED wasm — the bytes in this package, not just the Rust
72
+ * source — by this package's own session-materialization gate, a required CI
73
+ * context. A correct fix that was never rebuilt reds there rather than shipping.
74
+ */
56
75
  export function evaluate(event: unknown, bundle: unknown): CoreDecision;
57
76
  export function evaluateUnifiedRulesRaw(
58
77
  op: 'action' | 'retrieval' | 'delegation',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visiq/core-wasm",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "description": "VisIQ governance core for Node.js — the one compiled Rust rule engine behind every VisIQ SDK, prebuilt to WebAssembly; evaluate(event, bundle) takes plain objects and synchronously returns a decision object.",
5
5
  "type": "commonjs",
6
6
  "main": "index.js",
@@ -8,7 +8,7 @@
8
8
  "license": "MIT",
9
9
  "repository": {
10
10
  "type": "git",
11
- "url": "https://github.com/VISIQ-LABS/xy.git",
11
+ "url": "https://github.com/VISIQ-LABS/visiq-platform.git",
12
12
  "directory": "packages/core-wasm"
13
13
  },
14
14
  "homepage": "https://docs.visiqlabs.com",
Binary file