100%

tree-sitter-odin grammar install + languages.yaml

Goal

Resolve the one open feasibility item — the tree-sitter-odin grammar — and install it (PyPI if available, else the koka source-build precedent in setup-parsers.sh), then complete the languages.yaml entry and pass the smoke validation.

Implementation Sketch

  • Resolve a maintained tree-sitter-odin grammar; if not on PyPI, add a clone + patch + pip install block to intel_repo/scripts/setup-parsers.sh mirroring the koka path (lines 57-86).
  • Complete languages.yaml odin: entry: grammar, grammar_version, extensions: [".odin"], query_families: [decls, calls, imports, impls], coverage_status, expected_error_rate, module_name/language_func if the package differs from defaults.
  • Run validate-parsers.py --smoke for odin (grammar loads + parses minimal source without crash).

Work Items

  • Resolve + install tree-sitter-odin (PyPI or koka-style source build).
  • Complete languages.yaml odin entry.
  • validate-parsers —smoke passes for odin.

Acceptance

  • validate-parsers —smoke loads the odin grammar cleanly (probe python3 intel_repo/scripts/validate-parsers.py --smoke, comparator exact-match, expected pass).

Fresh intel (regenerated)

{ “schema_version”: 1, “target”: { “kind”: “plan-section”, “ref”: “odin-competitive/s-5cb18d00” }, “generated_at”: “2026-06-25T17:49:51.710620+00:00”, “graph_state”: { “head_sha”: “b74d6b9a”, “last_code_import_at”: “2026-06-25T17:47:27.422Z”, “embedding_stale”: false, “insights_stale”: false, “cpg_stale”: false }, “surfaces”: {}, “summary”: “intel-package[plan-section:odin-competitive/s-5cb18d00] agent-authored dossier”, “degraded”: false, “dossier”: { “objective_symbols”: [], “tiers”: {}, “agent_authored”: true, “difficulty”: { “class”: “routine”, “research_online”: false, “research_mode”: “auto”, “signals”: [], “plan_dir”: “/home/eric/projects/ori_lang/plans/odin-competitive” } } }

(full dossier: treesitter-grammar—s-5cb18d00.intel.json)