Skip to content

Commit 0afa994

Browse files
committed
ci(alloy): gate full scopes and document mapping
1 parent d368de5 commit 0afa994

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
@@ -126,9 +126,18 @@ jobs:
126126
run: |
127127
docker pull ghcr.io/graphistry/alloy6:6.2.0 || true
128128
129-
- name: Run Alloy checks (full scopes)
129+
- name: Run Alloy checks (scoped on PR/push, full on schedule/dispatch)
130+
env:
131+
EVENT_NAME: ${{ github.event_name }}
130132
run: |
131-
ALLOY_PUSH=1 FULL=1 bash alloy/check_fbf_where.sh
133+
if [[ "$EVENT_NAME" == "schedule" || "$EVENT_NAME" == "workflow_dispatch" ]]; then
134+
FULL=1
135+
MULTI=1
136+
else
137+
FULL=0
138+
MULTI=0
139+
fi
140+
ALLOY_PUSH=1 FULL=$FULL MULTI=$MULTI bash alloy/check_fbf_where.sh
132141
133142
test-minimal-python:
134143
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)