Skip to content

Engine: schema-forge-cel crate — CEL lexer + parser → AST #107

Description

@rrrodzilla

Workstream: Engine · Part of #89

Context

Per the #91 decision, we build our own minimal CEL evaluator over DynamicValue — no upstream/vendored crate, no Cedar. First piece: the parser.

Scope

  • New crate crates/schema-forge-cel.
  • Lexer + parser for the CEL expression grammar (cel-spec langdef / Cel.g4) → a typed Rust AST.
  • Cover the surface the rules engine needs: literals (incl. uint/bytes/duration/timestamp forms), identifiers, field selection, indexing, function & method calls, unary/binary/ternary operators, list/map construction, and macro call syntax (has, all, exists, exists_one, map, filter).
  • Parse errors with position info.

Acceptance


Dependencies: Built against the #90 oracle (parse section). Blocks the evaluator core. Soft.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions