Skip to content

decide: keep+isolate or delete OCaml Choreographic Sessions sub-project at src/{ast,lexer,parser,typecheck}.ml{,l,y} #265

@hyperpolymath

Description

@hyperpolymath

Finding

A complete OCaml project lives inside the Rust workspace's src/ directory and is never referenced from any canonical doc (README, STATUS, EXPLAINME, CLAUDE.md, PROOF-NEEDS).

Files:

  • src/ast.ml (header: "Ephapax AST - Extended with Choreographic Sessions")
  • src/lexer.ml, src/lexer.mll
  • src/parser.ml, src/parser.mli, src/parser.mly
  • src/typecheck.ml
  • src/ast.cmi, src/ast.cmo, src/parser.cmi, src/typecheck.cmi, src/typecheck.cmo (build artefacts checked in)
  • test_minimal.ml + .cmi + .cmo at repo root mirroring the session_decl record from ast.ml
  • test/test_choreo.eph + test/test_typecheck.ml in a test/ (singular) directory parallel to the standard tests/ (plural) — shadowing

Workspace Cargo.toml has no link to any of these files; they're outside the Rust build entirely.

Three options

A. Salvage to research dir: move under research/choreographic-sessions/ with its own README + decision note explaining scope/status; add gitignore for .cmi/.cmo.

B. Delete entirely: git rm all of the above. The files are unreferenced; if salvage is desired the git history preserves them.

C. Promote to first-class subdirectory if Choreographic Sessions is an active research workstream that should be in the canonical docs.

Severity

Blocker per the meander audit (#69) — clutters src/ for any agent reading it as the Rust source root, and the build artefacts are git-tracked debris.

Companion findings (separate issues recommended)

  • lib/formatter.rs + lib/linter.rs are orphan Rust files at top-level lib/ not referenced by any Cargo.toml; duplicates exist at src/ephapax-tools/src/{formatter,linter,documenter}.rs.
  • src/ephapax-tools/ is a Rust crate with Cargo.toml referencing workspace deps but is NOT in the workspace members list.

Discovered: 2026-06-01 comprehensive meander audit.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions