Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
c76ec72
feat(gfql): implement ASTCall with safelist validation
lmeyerov Jul 19, 2025
208c293
feat(gfql): add 'call' alias for ASTCall
lmeyerov Jul 20, 2025
3e15c4a
feat(gfql): add schema validation for Call operations
lmeyerov Jul 19, 2025
59bd5d8
feat(gfql): add comprehensive docstrings and GPU tests for Call opera…
lmeyerov Jul 19, 2025
e831abf
refactor: move Call operation files to compute/gfql/
lmeyerov Jul 21, 2025
59af1e0
fix: add missing newline to test_call_operations_gpu.py to fix W292 l…
lmeyerov Jul 21, 2025
6b88c9a
fix: revert gfql subdirectory refactoring that caused import conflicts
lmeyerov Jul 24, 2025
1a3d18d
fix(rebase): update ASTQueryDAG references to ASTLet after rebase
lmeyerov Jul 24, 2025
8eb8bee
fix(lint): add 'call' to __all__ exports after rebase
lmeyerov Jul 25, 2025
f7bcbe1
fix: update validate_schema import paths in test files
lmeyerov Jul 25, 2025
8499d9a
feat(gfql): add GFQL validation framework
lmeyerov Jul 15, 2025
194f3a2
feat(gfql): complete GFQL validation framework implementation
lmeyerov Jul 16, 2025
6764a1e
fix: clean up linting and type issues in GFQL validation
lmeyerov Jul 16, 2025
bf4c9a9
fix: resolve remaining linting issues
lmeyerov Jul 16, 2025
325f7e6
fix: resolve mypy type checking issues in chain.py
lmeyerov Jul 16, 2025
d156332
fix: consolidate validation notebooks and remove duplicate
lmeyerov Jul 16, 2025
3a2bb8a
feat: add convenience scripts for ruff and mypy
lmeyerov Jul 16, 2025
fc7a73d
remove: delete unnecessary convenience scripts
lmeyerov Jul 16, 2025
78493c8
feat: enable schema validation by default in chain()
lmeyerov Jul 16, 2025
5131562
docs(gfql): update all validation .rst files to use built-in validati…
lmeyerov Jul 16, 2025
bfaf7ae
docs(gfql): fix title underline length in advanced.rst
lmeyerov Jul 16, 2025
d83a3df
docs(gfql): remove Unicode emoji characters from validation .rst files
lmeyerov Jul 16, 2025
c4cd255
fix(gfql): remove Unicode emoji characters from validation notebook
lmeyerov Jul 16, 2025
457a378
refactor(gfql): use canonical graphistry.edges() and graphistry.nodes…
lmeyerov Jul 16, 2025
93860d3
style: revert superficial quote changes to maintain code history
lmeyerov Jul 16, 2025
4221cbc
docs: remove misleading advanced validation guide
lmeyerov Jul 16, 2025
f66c957
docs: improve validation documentation based on feedback
lmeyerov Jul 16, 2025
e9d3ad1
cleanup: remove dead code chain_with_validation
lmeyerov Jul 16, 2025
55defaa
docs: remove reference to non-existent and_/or_ predicates in LLM guide
lmeyerov Jul 17, 2025
01b7454
docs: fix LLM guide to use actual available error context fields
lmeyerov Jul 17, 2025
07dc5bb
docs: clarify schema validation in LLM JSON serialization example
lmeyerov Jul 17, 2025
2061f58
docs: add JSON to Chain conversion examples for LLM integration
lmeyerov Jul 17, 2025
d64185c
docs: split LLM JSON example into clear subsections
lmeyerov Jul 17, 2025
a0a299f
docs: reorganize LLM validation workflow into clear steps
lmeyerov Jul 17, 2025
c7d0415
docs(gfql): update LLM docs to use 'query objects' instead of 'Chain …
lmeyerov Jul 17, 2025
703304f
docs(gfql): consolidate redundant JSON sections in LLM guide
lmeyerov Jul 17, 2025
1665ef9
docs(gfql): remove redundant JSON parsing sections in LLM guide
lmeyerov Jul 17, 2025
e56d1ab
docs(gfql): remove less useful Error Categorization section from LLM …
lmeyerov Jul 17, 2025
99705b9
docs(gfql): remove redundant sections from LLM guide - keep only esse…
lmeyerov Jul 17, 2025
d5bab51
docs(gfql): remove premature sections from production guide - Plottab…
lmeyerov Jul 17, 2025
d5034bf
docs(gfql): rewrite Security Considerations to focus on GFQL's safe-b…
lmeyerov Jul 17, 2025
cc8f246
docs(gfql): fix notebook links in validation docs to use .html extension
lmeyerov Jul 17, 2025
e4589d7
docs(gfql): remove 'Building Queries Incrementally' section from vali…
lmeyerov Jul 17, 2025
fc71ca2
docs(gfql): add schema validation examples to Quick Reference section
lmeyerov Jul 17, 2025
1c4a61a
fix: revert unnecessary syntactic changes in ast.py and chain.py
lmeyerov Jul 17, 2025
a6c0c49
style: clean up spurious formatting changes in validation code
lmeyerov Jul 17, 2025
09961f9
style: remove trailing commas in function signatures
lmeyerov Jul 17, 2025
b1eb332
fix: restore missing commas in function signatures
lmeyerov Jul 17, 2025
bffe461
fix: properly revert syntactic-only changes in chain.py
lmeyerov Jul 21, 2025
b7b3d2c
fix: add minimal validate_schema parameter to chain() function
lmeyerov Jul 21, 2025
877a0ea
fix: correct validate_schema default to True as per original design
lmeyerov Jul 21, 2025
7302359
feat(gfql): Add GFQL Programs spec development plan
lmeyerov Jul 10, 2025
4c4f64e
feat(gfql): Add Phase 1 progress - knowledge base and feature enumera…
lmeyerov Jul 10, 2025
168df81
feat(gfql): Complete Phase 1 feature analyses
lmeyerov Jul 11, 2025
11c6356
feat(gfql): Complete Phase 1 with sketch1X.md
lmeyerov Jul 11, 2025
2b19e5c
feat(gfql): Complete Phase 2 - User Personas and Scenarios
lmeyerov Jul 11, 2025
cb4fdba
WIP: GFQL Programs spec updates
lmeyerov Jul 19, 2025
d320671
fix: resolve linting issues from CI
lmeyerov Jul 19, 2025
1342cc0
fix: Python 3.9 lint compatibility
lmeyerov Jul 19, 2025
6718cf2
fix: correct validate() method signatures for new AST types
lmeyerov Jul 19, 2025
baba4c3
refactor: remove type casts by using Sequence covariance
lmeyerov Jul 19, 2025
2738b06
fix: resolve remaining mypy type errors in PR 1.2
lmeyerov Jul 19, 2025
6038836
fix: update tests to match new GFQL exception types and error codes
lmeyerov Jul 19, 2025
e216c06
fix: update MockExecutable in test to match ASTSerializable interface
lmeyerov Jul 19, 2025
fa843ce
fix: ensure test graph has edges for RemoteGraph execution
lmeyerov Jul 19, 2025
e997e93
fix: remove AI_PROGRESS files that should be gitignored
lmeyerov Jul 19, 2025
df554eb
refactor: rename ASTQueryDAG to ASTLet throughout codebase
lmeyerov Jul 20, 2025
f68c2a1
docs(gfql): add comprehensive docstrings to PR1 AST classes
lmeyerov Jul 20, 2025
07dfe64
fix(gfql): reorganize validation module structure
lmeyerov Jul 21, 2025
c6d63e7
fix: add missing newline to fix W292 lint error
lmeyerov Jul 21, 2025
0687a3d
docs(gfql): add Let/ChainRef/RemoteGraph wire protocol documentation
lmeyerov Jul 21, 2025
244200f
docs(gfql): add Let/ChainRef/RemoteGraph Python embedding documentation
lmeyerov Jul 21, 2025
8befc58
feat(gfql): implement ASTCall with safelist validation
lmeyerov Jul 19, 2025
43f6606
feat(gfql): add graph algorithm and layout methods to safelist
lmeyerov Jul 19, 2025
cd29ea8
feat(gfql): add schema validation for Call operations
lmeyerov Jul 19, 2025
747113d
fix: add missing newlines at end of files
lmeyerov Jul 19, 2025
db729b8
feat(gfql): add comprehensive docstrings and GPU tests for Call opera…
lmeyerov Jul 19, 2025
a15f179
fix(gfql): update GPU tests to handle pandas/cudf conversion in some …
lmeyerov Jul 19, 2025
61af7f8
fix(gfql): update remaining GPU tests to verify functionality over da…
lmeyerov Jul 19, 2025
ea46b98
fix: update remaining QueryDAG references to Let in PR2
lmeyerov Jul 20, 2025
6b32dbd
docs(gfql): enhance PR2 documentation for Call operations
lmeyerov Jul 20, 2025
ead5e23
feat(gfql): add gfql_remote() and gfql_remote_shape() methods
lmeyerov Jul 21, 2025
ecb797f
fix: add type annotation to validate_schema.py to fix mypy error
lmeyerov Jul 21, 2025
6aac130
refactor: move Call operation files to compute/gfql/
lmeyerov Jul 21, 2025
7a8f8c3
docs(gfql): add Call operation wire protocol documentation
lmeyerov Jul 21, 2025
cad7137
docs(gfql): add Call operation Python embedding documentation
lmeyerov Jul 21, 2025
28e19f2
docs(gfql): add Call operations and security documentation to languag…
lmeyerov Jul 21, 2025
49b861f
docs(gfql): update all documentation from .chain() to .gfql()
lmeyerov Jul 21, 2025
524e69b
fix: apply Chain class type signature fixes from base branch
lmeyerov Jul 22, 2025
cc85b72
docs: add Call operations tutorial notebook
lmeyerov Jul 22, 2025
06568a6
fix: resolve circular import between chain.py and validate_schema.py
lmeyerov Jul 22, 2025
0aaed95
fix: resolve type annotation and mypy issues in chain validation
lmeyerov Jul 22, 2025
ed136bc
docs(gfql): consolidate temporal predicates wire protocol documentation
lmeyerov Jul 23, 2025
2b4049a
chore: remove backup files
lmeyerov Jul 23, 2025
2e77a7b
fix(rebase): resolve remaining validation conflicts in PR #709
lmeyerov Jul 24, 2025
a4c95bc
fix: remove duplicate Literal import causing F811 lint error
lmeyerov Jul 25, 2025
75efcf7
fix(compute): fix import paths after gfql directory restructuring
lmeyerov Jul 25, 2025
4f5c7f3
fix(mypy): cast from_json result to ASTObject in ASTLet.from_json
lmeyerov Jul 26, 2025
b8f084a
refactor: update ASTChainRef references to ASTRef for compatibility
lmeyerov Jul 26, 2025
a620d42
fix(compute): update remaining ASTChainRef references to ASTRef
lmeyerov Jul 26, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,18 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm

## Dev

### Added
* GFQL: Add comprehensive validation framework with detailed error reporting
* Built-in validation: `Chain()` constructor validates syntax automatically
* Schema validation: `validate_chain_schema()` validates queries against DataFrame schemas
* Pre-execution validation: `g.chain(ops, validate_schema=True)` catches errors before execution
* Structured error types: `GFQLValidationError`, `GFQLSyntaxError`, `GFQLTypeError`, `GFQLSchemaError`
* Error codes (E1xx syntax, E2xx type, E3xx schema) for programmatic error handling
* Collect-all mode: `validate(collect_all=True)` returns all errors instead of fail-fast
* JSON validation: `Chain.from_json()` validates during parsing for safe LLM integration
* Helpful error suggestions for common mistakes
* Example notebook: `demos/gfql/gfql_validation_fundamentals.ipynb`

### Fixed
* Docs: Fix notebook validation error in hop_and_chain_graph_pattern_mining.ipynb by adding missing 'outputs' field to code cell

Expand Down
Loading
Loading