먼저 파싱
SQL을 데이터베이스 드라이버에 바로 넘기지 않고 구조화된 parser를 거칩니다.
SQL을 데이터베이스 드라이버에 바로 넘기지 않고 구조화된 parser를 거칩니다.
소스나 대상의 의미를 증명할 수 없으면 조용히 약한 의미로 바꾸지 않고 거부합니다.
데이터베이스별 동작 차이를 명시적인 실행 경계 안에서 처리합니다.
LLM은 SQL을 제안할 수 있지만 데이터베이스가 그 SQL을 파싱할 수 있다는 이유만으로 실행 권한이 생기지는 않습니다. hs-sql-agent는 모델과 데이터베이스 연결 사이에 컴파일러와 정책 경계를 둡니다.
안전하게 표현하거나 증명할 수 없는 statement는 실행을 위해 다른 의미로 바꾸지 않고 거부합니다.
Query는 parsing, binding, validation, capability check, provider-specific compilation, immutable command execution을 순서대로 거칩니다. 정책은 raw SQL 문자열만 보는 대신 구조화된 statement를 기준으로 판단할 수 있습니다.
새 문법은 parser, 타입 모델, validation, capability proof, renderer, 테스트가 모두 그 의미를 이해할 때 지원됩니다. SQL 기능을 확장해도 안전 계약을 약화시키지 않습니다.