From 386b7ad012e39436c3906cdc42d11f027b3ae9cc Mon Sep 17 00:00:00 2001 From: Alex Groleau Date: Mon, 13 Apr 2026 22:47:21 -0400 Subject: [PATCH] docs(jspg): document scalar tuple routing boundary --- GEMINI.md | 1 + 1 file changed, 1 insertion(+) diff --git a/GEMINI.md b/GEMINI.md index 76254e1..51e0994 100644 --- a/GEMINI.md +++ b/GEMINI.md @@ -172,6 +172,7 @@ When compiling nested object graphs or arrays, the JSPG engine must dynamically To seamlessly support deeply nested Object and Array structures, JSPG aggressively promotes them to standalone topological entities during the database compilation phase. * **Path Generation:** While evaluating a unified graph originating from a base `types`, `enums`, or `puncs` key, the compiler tracks its exact path descent into nested objects and arrays. It dynamically calculates a localized alias string by appending a `/` pathing syntax (e.g., `base_schema_key/nested/path`) representing exactly its structural constraints. * **Promotion:** This nested subschema chunk is mathematically elevated to its own independent key in the `db.schemas` cache registry using its full path. This guarantees that $O(1)$ WebSockets or isolated queries can natively target any arbitrary nested sub-object of a massive database topology directly without recursively re-parsing its parent's AST block every read. Note that you cannot use the `type` attribute to statically inherit from these automatically promoted subschemas. +* **Primitive Confinement:** Purely scalar or primitive branches (like `oneOf: [{type: "string"}, {type: "null"}]`) bypass global topological promotion. They are evaluated directly within the execution engine via isolated Tuple Indexes to explicitly protect the global DB Registry and Go Mixer from memory bloat. ---