Skip to content

S5: add CI growth guards for lowering/CompiledCypher surfaces (#1306)#1310

Merged
lmeyerov merged 1 commit intomasterfrom
issue-1306-s5-ci-growth-guards
May 5, 2026
Merged

S5: add CI growth guards for lowering/CompiledCypher surfaces (#1306)#1310
lmeyerov merged 1 commit intomasterfrom
issue-1306-s5-ci-growth-guards

Conversation

@lmeyerov
Copy link
Copy Markdown
Contributor

@lmeyerov lmeyerov commented May 5, 2026

Summary

  • add a dedicated CI guardrail for Cypher monolith shrinkdown S5 metrics
  • track and gate growth for:
    • lowering.py total LOC
    • CompiledCypherQuery / CompiledGraphBinding / CompiledCypherGraphQuery dataclass field and @Property counts
  • document intentional baseline refresh workflow for approved growth

Changes

  • added script: bin/ci_cypher_surface_guard.py
  • added baseline: bin/ci_cypher_surface_guard_baseline.json
  • added CI job: cypher-frontend-surface-guard in .github/workflows/ci.yml
  • chained guard into cypher-frontend-ci-gates
  • added docs section in DEVELOP.md with baseline refresh command

Guard policy

  • fails if current lowering.py line count exceeds baseline max
  • fails if any tracked CompiledCypher* field/property count exceeds baseline max
  • allows intentional growth by updating baseline in the same PR with rationale

Validation

  • python bin/ci_cypher_surface_guard.py
  • ./bin/ruff.sh bin/ci_cypher_surface_guard.py
  • ./bin/pytest.sh graphistry/tests/compute/gfql/cypher/test_lowering_s3_split_guard.py -q

Refs #1306
Parent #1260

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant