C7 — Remove fork-only index archives (PLN-2027 PR 7, FR15) - #22
Merged
Merged
Conversation
…R 7) FR15. The fork added `lc code export` / `lc code import` in 8235fda, upstream never shipped them, and nothing consumes them. PLN-2027 section 11 decision 5 approved removing them without the export/re-import probe. Removed: both commands from gateway/cli/commands/code.py, the module-scope TIERS import they were the only consumer of, infra/code_intel/portable.py, tests/infra/code_intel/test_portable.py, and the `portable` optional- dependency extra (uv.lock regenerated with `uv lock`, never hand-edited). `_portable_repo_root` stays: `lc code clones` calls it, and it touches nothing in the deleted module. Beyond the plan's removal list, which named only open-code-intel-plan.md: phase-b-review-handoff.md, the clones command's own comment and the clones test's docstring all referenced the commands too. The plan's stated Exit (`lc code --help` lists neither command) passes with those surviving, so completeness is proven by grep instead.
Review of PR 7 (cr C7, 1 verified finding, approved). `_portable_repo_root` -> `_resolve_repo_root`. 575aee7 argued the name could stay because `lc code clones` calls it, but the name is the one reference a prose edit cannot reach: it still asserts a portable-index concept the same commit deleted, and the hazard is a later grep-driven sweep of "portable" leftovers taking the helper with it and breaking `lc code clones`. Module-private, one call site at code.py:878, no test names it. F7's provenance clause pointed at a commit that never touched the file. 8235fda carries the code, untrusted-input handling included; the delivery notes and both deviations were added by 8d77d59 and removed here, so the recovery path is `git show 8d77d59:docs/planning/open-code-intel-plan.md`.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
C7 — Remove fork-only index archives (FR15)
Lands PLN-2027 PR 7. Base
origin/main; not stacked. A deletion: 10 files, +17 / −1126 across two commits.What it removes
lc code exportandlc code import, the module behind them, that module’s tests, the optional-dependency extra that carried its compression dependency, and every reference to the surface. These were added by the fork; upstream never shipped them, and nothing consumed them.Worth stating plainly: nothing in this build establishes that the archives were non-portable. The plan originally gated the removal on an export/re-import probe. That probe was waived by dated operator approval recorded in the plan, and it was not run. The commands are gone because the fork added them and nothing used them — not because portability was tested and failed.
Acceptance ledger
10 criteria: 6 met, 4 met differently, 0 unmet.
The four met differently are all about how the criterion was evidenced, and one of them was exceeded rather than reduced:
clonescommand and a live docstring in its test, both still pointing at the deleted commands. The plan’s stated exit condition — that the help output lists neither command — passes with all of those still in place, which is exactly why the sweep was made repo-wide and proved with a grep that must return nothing.make typecheckclean is not achievable and never was, so type-checking was scoped to the changed file and diffed againstmain.Review
Deep review: APPROVED — 1 verified finding, 0 blocking, 0 high, 0 coverage gaps. The re-review gate computed SKIP: two production files changed and neither overlaps a blocking finding.
The impact analyzer spawned specifically on the symbol-deletion signal and found nothing. For a pure deletion that is the meaningful result rather than an empty one.
Both items it raised are fixed in
7d4ccc55:lc code clones. The build deliberately left it, on the grounds that renaming was outside the approved deletion set — three reviewers independently disagreed, and they are right. This same commit already rewrote a comment and a docstring to strip references to the deleted commands; the identifier was the one reference prose edits cannot reach, so leaving it made the commit inconsistent about its own cleanup. Renamed, with the reversal stated in the commit body so the history does not contradict itself.git show 8235fdaf. That commit never touched the document. The correct reference was established from the file’s own history —git log --diff-filter=Afor the file, thengit log -Son four distinctive strings from the removed prose, each returning exactly the commit that added it and the commit that removed it — and the corrected path was then executed to confirm all four markers come back. Both referenced commits are ancestors ofmain, so neither depends on this branch surviving the merge.Verification
Completeness grep returns nothing (68 matches across 7 files before) ·
lemoncrow code --helplists onlyclones,host,index,prune,train· derived test set 247 passed ·tests/infra/code_intel375 passed ·test_clones.py63 passed after the rename ·test_docs.py7 passed ·test_mypyc_compile_safety.py3 passed ·uv lock --checkexits 0, so the lock and the project file agree ·ruff check --no-cache src benchmarks tests scripts integrationsclean ·black --check src testsclean.mypy --stricton the changed CLI file reports threeno-any-returnerrors. All three reproduce identically onorigin/mainin a throwaway worktree, one line lower — the shift explained by this branch deleting an import above them. None was added here.Beyond the suite, three things were probed directly rather than taken from a report: the repo-wide sweep returns no matches;
git show --statconfirms the old provenance commit never touched the document while the new reference does carry the removed prose; and the renamed helper has exactly one definition and one call site.Deviations
What is still owed
Artifacts