Status: Active OpenSpec proposal; not implemented or deployed. The source under
openspec/changes/is authoritative.
Implementation is blocked until the roadmap approval gate records approval of the EARS source and this proposal.
0. Per-Language Parser Decision Gates (HITL)
- 0.1 Evaluate Python parser options against supported versions, package/module loading, dynamic constructs, provenance, and performance; record scope, exclusions, approver, and review reference in
docs/decisions/python-frontend.md. - 0.2 Evaluate Clojure parser options against supported versions, reader macros, namespace loading, private-var forms, provenance, and performance; record scope, exclusions, approver, and review reference in
docs/decisions/clojure-frontend.md. - 0.3 Evaluate Julia parser options against supported versions, macro/module loading, ownership/type-piracy forms, provenance, and performance; record scope, exclusions, approver, and review reference in
docs/decisions/julia-frontend.md.
1. Shared CIR Acceptance Contract
- 1.1 Add per-language matrices for full node/edge/shape/effect extraction, direct/within/over-bound provenance, visibility, opaque/unknown, deterministic output, and construct-specific unsupported evidence (REQ-1–3, REQ-V1–V2).
- 1.2 Add a versioned platform compatibility harness that consumes only published CIR/plugin contracts and can run independently for each language.
- 1.3 Run the empty/reference harness for all three languages; publish matrix schema and fixtures under
tests/fixtures/add-python-clojure-julia-frontends/1/and write the reference report toreports/conformance/additional-frontends-v1.json.
2. Python Extraction Tracer
- 2.1 Add failing approved-version Python fixtures for CIR/provenance, effect/visibility idioms, dynamic unknowns, and
__init__.pyfacade metadata. - 2.2 Implement the Python frontend and versioned idiom tables against only the shared CIR acceptance contract.
- 2.3 Run deterministic CIR/visibility/advisory conformance and negative fixtures; publish frontend/table versions and report path.
3. Clojure Extraction Tracer
- 3.1 Add failing approved-version Clojure fixtures for CIR/provenance, effects, namespace visibility, reader/unknown boundaries, and private-var metadata.
- 3.2 Implement the Clojure frontend and versioned idiom tables against only the shared CIR acceptance contract.
- 3.3 Run deterministic CIR/visibility/REQ-V6 conformance and negative fixtures; publish frontend/table versions and report path.
4. Julia Extraction Tracer
- 4.1 Add failing approved-version Julia fixtures for CIR/provenance, effects, module visibility, macro/unknown boundaries, and generic-function/type ownership metadata.
- 4.2 Implement the Julia frontend and versioned idiom tables against only the shared CIR acceptance contract.
- 4.3 Run deterministic CIR/visibility/REQ-V5 conformance and negative fixtures; publish frontend/table versions and report path.
5. Python Law/Lifecycle/Core Integration Tracer
- 5.1 Add failing Python fixtures for runner inputs/execution/unsupported, lifecycle facts/unknowns, L4 snapshots, and facade findings against published consumer contracts (REQ-10, REQ-17, REQ-T1–T3).
- 5.2 Implement the registered Python runner and lifecycle facts without language-specific branches in core/law/lifecycle engines.
- 5.3 Run Python runner, lifecycle snapshot, advisory, and core facade E2E tests; record contract versions and passing evidence.
6. Clojure Law/Lifecycle/Core Integration Tracer
- 6.1 Add failing Clojure fixtures for runner inputs/execution/unsupported, lifecycle facts/unknowns, L4 snapshots, and private-var findings against published consumer contracts.
- 6.2 Implement the registered Clojure runner and lifecycle facts without language-specific engine branches.
- 6.3 Run Clojure runner, lifecycle snapshot, and REQ-V6 E2E tests; record contract versions and passing evidence.
7. Julia Law/Lifecycle/Core Integration Tracer
- 7.1 Add failing Julia fixtures for runner inputs/execution/unsupported, lifecycle facts/unknowns, L4 snapshots, and type-piracy findings against published consumer contracts.
- 7.2 Implement the registered Julia runner and lifecycle facts without language-specific engine branches.
- 7.3 Run Julia runner, lifecycle snapshot, and REQ-V5 E2E tests; record contract versions and passing evidence.
8. Cross-Language Acceptance
- 8.1 Run all deterministic, negative, advisory, runner, lifecycle, and multi-language integration suites plus workspace formatting and Clippy.
- 8.2 Verify requirement traceability, all three conformance reports, and compatibility with the named CIR, core-result, law-evidence/runner, and lifecycle contracts.
- 8.3 Run
openspec validate add-python-clojure-julia-frontends --strictand record parser decisions, contract/table versions, commands, and evidence location.