Repository navigation
v3.14.3
What's new
Bug Fixes
ce-plan's plan template records an origin field pointing at the brainstorm requirements document a plan was built from. Some repositories deliberately don't track that directory, treating requirements as local planning input the plan itself supersedes — which meant every plan generated from such a repo carried a link that resolved to nothing once cloned elsewhere. The field itself is correct to keep: it preserves real provenance for whoever wrote the plan, and dropping it in favor of a second, equally-authoritative document just creates staleness the moment the plan lands. What was missing was a way for a reader to distinguish context they're missing from context that was never shared in the first place. The Sources entry now states explicitly when the origin path is untracked, and the field contract documents why that's a legitimate state rather than a broken link. The deepening pass previously assumed the origin file would always be readable; it now falls back to continuing from the plan alone and records that the fidelity check couldn't run, instead of reporting a missing file (#860).
Documentation
A new solutions note captures a diagnostic lesson from an incident where three dependency upgrades failed simultaneously and two were initially misdiagnosed from version numbers alone. The tree-sitter runtime failure looked like a grammar/ABI mismatch — the grammar trails the runtime by a minor version, peers pin the older range, and both were locked to the same line — but it was actually a renamed WASM asset; loading the pinned grammar under the new runtime confirmed the ABI was never involved. What obscured the real cause is that the command classifier fails closed: every shell classification came back unavailable, so forty-four assertions reported a classification result rather than surfacing a missing file, meaning the component was accurately describing its own state while saying nothing about the underlying cause. The third failure, a YAML dependency bump, looked like an ESM-only migration but the package still ships both formats — only the default export was removed — and because the importing module is the most depended-on file in the tree, the breakage fanned out across packaging, module resolution, and codegen in a way that reflected centrality rather than severity (#858).