Repository navigation
docs(migration): record the direction rule in the placement rules and skills - #15281
Conversation
|
➖ v2 migration progress: 0.9% → 0.9% (0 done, 0 total, 0 dropped; 87/9829 cells) Placement: 2 new marked lines in shared files (2 patch), 0 new Ratchets: 9 core-internal imports (base 9); shared patches by rung 29 seam, 2 patch (base 29 seam, 2 patch). No change to the progress map. |
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Files Reviewed (3 files)Incremental scope (
Notes: the single carried-forward suggestion is fixed in Previous Review Summaries (2 snapshots, latest commit e7ba30b)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit e7ba30b)Status: 1 Issue Found | Recommendation: Address before merge Overview
Issue Details (click to expand)SUGGESTION
Files Reviewed (6 files)Incremental scope (
Targeted checks for the carried-forward
Notes: all three findings from the previous review are fixed in Fix these issues in Kilo Cloud Previous review (commit 61cc673)Status: 3 Issues Found | Recommendation: Address before merge Overview
Issue Details (click to expand)SUGGESTION
Files Reviewed (9 files)
Notes: documentation-only change, no runtime code and no memory-leak surface. No images were added, so the markdown-image rule did not apply. The Reviewed by deepseek-v4.1-flash-1017 · Input: 42.4K · Output: 3.3K · Cached: 251.9K Review guidance: REVIEW.md from base branch |
What Problem This Solves
The host strategy (#15228) says where Kilo code lives on v2, but it never states the rule that follows from "Kilo is the host, OpenCode is a library": code moves from upstream files into Kilo-owned files and never back. Without it, the rung ladder reads as plain line arithmetic, and two wrong moves follow from that reading:
cli/src/index.tsto delete the 162-line host entry). Wrong direction.config/discovery.tsandconfig.tsimport a Kilo module and replace upstream's file names and order, so upstream's own tests fail and six upstream test files had to be forked (config.test.tshas 34 upstream commits in 60 days). The files are registered as rung 3 seams although they carry Kilo imports.The checkers count patches but do not classify them, and the skills agents load did not contain the rule, so nothing refused either move.
Why This Change Was Made
migration-tracking/plans/v2-host-strategy.mdsection 5 becomes the placement rules and the source of truth for adding a file tov2or moving a change onto it. It states three rules: code moves one way; a Kilo-owned mirror of an upstream file is rung 2 and is never replaced by a seam; a patch adds and never changes an upstream default (upstream's own test files pass unchanged against the code without the host). The rung 3 and 4 distinction is made mechanical: anykilocode/path,Kilo*identifier or Kilo string in the marked lines makes it rung 4, so a registration line that imports a Kilo plugin into an upstream list is a rung-4 call-out.The documents agents read point at that section and repeat the rule in one sentence:
AGENTS.md(v2 block),v2-feature-placement(new "Direction" and "Rejected moves" sections, rung 2 includes mirrors, TUI registration is rung 4, upstream tests are never edited),v2-migration,kilocode-merge-minimizer(the "keep inline when the change modifies an upstream ordering or heuristic" rule is replaced: such a change becomes a knob with upstream's default; "offer it upstream" is dropped, upstream does not take Kilo PRs), and the fork conventions.Plans updated to match what landed: the two rejected approaches are recorded in section 2 with dates; section 9 step 1 no longer claims the root patches retired; step 4 and section 10 record the config re-home and the TUI call-out classification; U-E0-01 no longer says "builtin plugin list"; U-L3-01 lists the pending checker rules (rung classification, forked upstream tests, feature tags,
mirroredFilesdrift report).migration-context.mdgains decisions 11 (direction) and 12 (config file names: Kilo names only, a deliberate change from v1, recorded for U-E1-07).User Impact
None at runtime. Documentation, skills and plan rows only.
Evidence
bun script/check-shared-patches.ts --worktree: ok. TheAGENTS.mdblock gains one line (the Direction bullet), somarkedLinesgoes 316 to 317 inshared-patches.json, and the entry text names the new rule.bun script/check-opencode-annotations.ts --worktree: ok (60 shared files against775d1d0d713).bun script/upstream/progress.ts --check: up to date (no map change).bun run check: lint passes;@opencode/ai#typecheckfails locally withzstdCompressSyncmissing onnode:zlib, a local@types/nodemismatch present onorigin/v2and unrelated to this diff, which touches no TypeScript.Placement
No shared source files touched.
AGENTS.mdis the existing rung-4 instructions block (shared-patches.json).