Skip to content

Commit a7f679c

Browse files
committed
ci(alloy): gate full scopes and document mapping
1 parent 31ed920 commit a7f679c

2 files changed

Lines changed: 17 additions & 2 deletions

File tree

.github/workflows/ci.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,9 +149,18 @@ jobs:
149149
run: |
150150
docker pull ghcr.io/graphistry/alloy6:6.2.0 || true
151151
152-
- name: Run Alloy checks (full scopes)
152+
- name: Run Alloy checks (scoped on PR/push, full on schedule/dispatch)
153+
env:
154+
EVENT_NAME: ${{ github.event_name }}
153155
run: |
154-
ALLOY_PUSH=1 FULL=1 bash alloy/check_fbf_where.sh
156+
if [[ "$EVENT_NAME" == "schedule" || "$EVENT_NAME" == "workflow_dispatch" ]]; then
157+
FULL=1
158+
MULTI=1
159+
else
160+
FULL=0
161+
MULTI=0
162+
fi
163+
ALLOY_PUSH=1 FULL=$FULL MULTI=$MULTI bash alloy/check_fbf_where.sh
155164
156165
test-minimal-python:
157166
needs: [changes, python-lint-types]

alloy/gfql_fbf_where.als

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@ open util/integer
66
// Path semantics: bindings are sequences aligned to seqSteps with WHERE applied per binding.
77
// Set semantics: forward/backward/forward collects per-alias node/edge sets, then checks WHERE via summaries.
88
// Scopes (checks): up to 8 Nodes, 8 Edges, 4 Steps, 4 Values. Nulls/hashing omitted; bounded values only.
9+
// Mapping to Python hop/chain:
10+
// - seqSteps alternates NodeStep/EdgeStep like graphistry.compute.GSQL chain builder.
11+
// - aliasN/aliasE mirror user aliases; WHERE binds to NodeStep aliases only.
12+
// - nFilter/eFilter correspond to per-step filter columns; WHERE models cross-step predicates.
13+
// - Spec uses path bindings (sequence) like hop composition; Algo uses set semantics like executor.
14+
// - Null/NaN not modeled; hashing treated as prefilter and omitted here.
915

1016
abstract sig Value {}
1117
sig Val extends Value {}

0 commit comments

Comments
 (0)