Goal
Bring grammar.ebnf, 14-expressions.md, and the ori-syntax.md quick reference into agreement with the approved proposal. Spec is SSOT; sync after the parser deliverable (section-02) lands.
Intelligence Reconnaissance
Queries (2026-05-31): scripts/intel-query.sh file-symbols ori_parse --repo ori (grammar production surface).
- [ori] Lambda productions live at
grammar.ebnf:550-553(lambda/simple_lambda/typed_lambda); Clause-14 prose at14-expressions.md:149. - [ori] No approved proposal conflicts with the unified
lambda_tailgrammar (grep ofproposals/approved/returned none). - Spec-edit gate
block-spec-edits.shrequires.claude/.spec-proposal-activenaming the approved proposal before any spec/grammar edit.
Implementation Sketch
The spec-edit gate (block-spec-edits.sh) requires .claude/.spec-proposal-active to name the approved proposal before any edit under compiler_repo/docs/ori_lang/v2026/spec/. Run /sync-grammar for grammar.ebnf and /sync-spec for 14-expressions.md; update ori-syntax.md directly (not gated).
Implementation Items
- Set
.claude/.spec-proposal-activetotyped-lambda-inferred-return-proposal.md(or exportORI_SPEC_PROPOSAL). -
/sync-grammar— replace thelambda/simple_lambda/typed_lambdaproductions with the unifiedlambda/lambda_tailgrammar. -
/sync-spec— update14-expressions.md:149with the new form + disambiguation rule + bare--> Typediagnostic, in ISO/IECshallstyle. - Update
.claude/rules/ori-syntax.mdLambdas line with(x: int) -> x * 2. - Verify
grammar.ebnf↔14-expressions.md↔ori-syntax.mdagree. - Clear
.claude/.spec-proposal-activeafter the spec commit lands.
Spec References
- Proposal §Spec & Grammar Impact.
.claude/rules/spec.md(ISO/IEC Directives style; proposal-gate workflow).grammar.ebnf:550-553,14-expressions.md:149.
Tests
- Round-trip check:
grammar.mdincludesgrammar.ebnf; the spec build/lint passes. - No code tests in this section; the conformance gate lives in section-11.