From a951c725be8fa5f976f17d73a6c2c2cb6a6490b3 Mon Sep 17 00:00:00 2001 From: Brummel Date: Mon, 11 May 2026 01:52:33 +0200 Subject: [PATCH] roadmap: ct.1 follow-ups (CLI diag surface, dead KindMismatch, type_def_module re-key) --- docs/roadmap.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/docs/roadmap.md b/docs/roadmap.md index c9ee486..4d60d4e 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -73,6 +73,28 @@ work progresses. into one overlay, or stay split. Surfaced during the env-construction unify audit. - context: JOURNAL 2026-05-10 ("Audit close: env-construction unify") +- [ ] **\[todo\]** CLI human-mode diagnostic surface for `WorkspaceLoadError` — + non-JSON `ail check` routes ct.1 errors via `anyhow`/`thiserror` + Display (`Error: `) instead of going through + `workspace_error_to_diagnostic`, so the bracketed `[code]` prefix + the JSON path carries is missing. Plausibly applies to every CLI + subcommand that calls `load_workspace(&path)?` directly. + - context: JOURNAL 2026-05-11 ("Iteration ct.1") — surfaced by ct.1.8 tester. +- [ ] **\[todo\]** Retire dead `KindMismatch` arm — `validate_classdefs`'s + `walk_kind_mismatch` path is structurally unreachable through + well-formed schema post-ct.1 (the canonical-form validator catches + the malformed `Type::Con { name: param }` shape earlier). The + enum variant + `walk_kind_mismatch` helper stay as dead-but-defensive + code; a future tidy can delete both. + - context: JOURNAL 2026-05-11 ("Iteration ct.1"). +- [ ] **\[todo\]** Re-key `Registry.type_def_module` to handle + bare-name-collision-across-modules — `BTreeMap` keyed + by bare type name silently overwrites when two modules each define + `type Foo`; `normalize_type_for_registry` would then collapse `M.Foo` + and `N.Foo` to whichever insert won. Acceptable for current corpus + (distinct bare type names across modules), but the proper fix is to + key by `(owning_module, bare_name) → defining_module`. + - context: JOURNAL 2026-05-11 ("Iteration ct.1") — flagged by ct.1.5a quality reviewer. - [ ] **\[feature\]** 22c — typeclass corpus expansion. User-defined classes beyond the prelude four; multi-parameter classes; superclass chains; richer instance bodies. Deferred from milestone 22.