Supported FEEL subset

feelc reuses the pbinitiative/feel parser (forked and vendored under third_party/feel, cf. ADR 0001 and ADR 0004 §1) but does not run its evaluator: feelc compiles to its own deterministic bytecode (exact decimals, cf. ADR 0002). The scope is deliberately bounded; everything else fails loudly (the compiler is the guardian of the scope).

Expressions (literal-expression and Op=Prog cells)

Supported (internal/compiler/lower_expr.go):

Table cells (unary tests)

- (any), literal (equality), < x / <= x / > x / >= x, interval [a..b] / (a..b) / [a..b), set a, b, c, negation not(<test>) (stays geometric, hence analyzable by verification), and free expression (reference ?/other columns → Op=Prog, non-geometric).

Out of scope (loud failure)

Temporal (date & duration)

Supported since ADR 0014, on a whole-day model (a date is an integer count of days; a duration is an integer count of days):

Everything else temporal fails loudly: times of day, date-times, and year-month durations are out of scope (above), and mixing a date with a bare number is a type error.

Determinism

Frozen decimal context (precision 34 / HALF_EVEN), no source of nondeterminism in the decision path. Outputs are bit-for-bit replayable across platforms (CI goldens amd64+arm64). Formal verification (verify) proves completeness/conflicts/subsumption on the geometric layer; Op=Prog cells are reported as not-verifiable (or routed to SMT under -tags smt, ADR 0007).