You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Finalize adoption/rollout controls for native typing: strict/permissive toggles, CI coverage gates, and documentation receipts for operational rollout.
Scope
In scope:
Define strict/permissive mode toggles and default behaviors
Add CI gates ensuring typed-path coverage and non-regression checks
Publish docs/migration notes for enabling strict mode safely
Out of scope:
New type inference mechanics beyond established T1-T4 contracts
Large unrelated refactors
Acceptance
Strict/permissive controls are wired and tested.
CI explicitly exercises both rollout modes where relevant.
Docs/migration notes are published with clear operator guidance.
T5 closed via #1316 (merged 2026-05-06, master 256da5412c57b7017a29a30a533feb4e005c0526).
Acceptance receipt
Strict/permissive controls wired and tested — Added graphistry/compute/gfql/rollout.py with STRICT_SCHEMA_ENV, env_bool, strict_schema_env_default, resolve_strict_schema. Wired into binder._strict_schema_mode. Precedence on the execution compile path: explicit caller param > catalog metadata["strict"] > env > loose. 51 tests across helper + binder seam.
CI exercises both rollout modes — folded into existing test-gfql-core and test-pandas-compat-gfql lanes: default-loose path runs with the matrix's main pytest invocation; env-on canary path runs as a follow-on GRAPHISTRY_GFQL_STRICT_SCHEMA=true step in the same job.
T5 is complementary to the explicit preflight surface added in #1320/#1321 (g.gfql_validate(strict=True), g.gfql(..., validate=True)) which hardcode strict at preflight regardless of env. T5's env-gate exclusively governs the execution compile path's binder default — i.e., what g.gfql(query) does when the caller doesn't opt into explicit preflight. The two surfaces are independent on purpose: explicit preflight for predictable per-call diagnostics, environment ladder for organization-wide canary rollout.
Activity
T5 #1311: GFQL strict-schema rollout gate (env canary), CI receipt, o…
T5 #1311: GFQL strict-schema rollout gate (env canary), CI receipt, o…
lmeyerov commentedon May 6, 2026
Dependency update: #1320 (T5.a validate-only API) landed via #1321, so this rollout lane can focus on remaining T4/T5 adoption gates.
T5 #1311: GFQL strict-schema rollout gate (env canary), CI receipt, o…
T5 #1311: GFQL strict-schema rollout gate, CI receipt, operator docs (#…
lmeyerov commentedon May 6, 2026
T5 closed via #1316 (merged 2026-05-06, master
256da5412c57b7017a29a30a533feb4e005c0526).Acceptance receipt
graphistry/compute/gfql/rollout.pywithSTRICT_SCHEMA_ENV,env_bool,strict_schema_env_default,resolve_strict_schema. Wired intobinder._strict_schema_mode. Precedence on the execution compile path: explicit caller param > catalogmetadata["strict"]> env > loose. 51 tests across helper + binder seam.test-gfql-coreandtest-pandas-compat-gfqllanes: default-loose path runs with the matrix's main pytest invocation; env-on canary path runs as a follow-onGRAPHISTRY_GFQL_STRICT_SCHEMA=truestep in the same job.docs/source/gfql/strict_mode.rst(added to user-guide toctree) leads with GFQL/Cypher: expose validate-only API (compile/bind checks without execution) #1320/GFQL/Cypher: add validate-only gfql preflight API #1321's explicit preflight API as the primary operator entrypoint and frames the env-gate as the execution-path canary for staged rollout.Scope clarification
T5 is complementary to the explicit preflight surface added in #1320/#1321 (
g.gfql_validate(strict=True),g.gfql(..., validate=True)) which hardcode strict at preflight regardless of env. T5's env-gate exclusively governs the execution compile path's binder default — i.e., whatg.gfql(query)does when the caller doesn't opt into explicit preflight. The two surfaces are independent on purpose: explicit preflight for predictable per-call diagnostics, environment ladder for organization-wide canary rollout.Meta-issue #1262 close criteria are now satisfied — T1 (#1296), T2 (#1302), T3 (#1300), T3.b (#1309), T4 (#1313), T5 (#1311) all landed.