Plan for 0.3.0, and 0.4.0 as an indexing preview - #68
Merged
Conversation
develop 에 쌓인 45커밋은 전부 "고침" 이라 좋은 릴리스 노트는 되지만 큰 업데이트로는 안 읽힌다. 헤드라인이 될 새 능력이 없다. 0.3.0 이 무엇을 채울지 세 갈래로 정한다. A. 프로바이더 확장(Gemini · 로컬 모델) — 헤드라인. OpenAICompatProvider 가 이미 설정 구동이라 Gemini 는 설정에 가깝고, 진짜 일은 로컬 쪽이다: 상수로 박힌 URL 을 설정으로 빼기, 키 없는 로컬을 미설정으로 보지 않기, /v1/models 로 목록 읽기, 의미 없는 할당량 조회 끄기, 도구 호출을 못 하는 모델은 그렇다고 말하기. B. 에디터 코어 시각 효과(Phase 2 마무리) — 착수 전에 조사 표부터. 무엇이 있고 무엇이 빠졌는지 모르는 채로 후보를 나열하면 없는 것을 있다고 적게 된다. "끝냈다" 고 말하려면 끝의 정의가 먼저다. C. 확장 셰임의 남은 구멍 — WorkspaceEdit 의 파일 생성·삭제·이름변경이 우선. 그리고 첫 커밋은 기능이 아니라 README 정정이어야 한다: 남은 구멍들이 "던진다" 고 적혀 있는데 데코레이션은 조용한 no-op 이다 (vscodeShim.ts:557 · shimDoc.ts:125). 0.2.0 이 없애려 했던 모양이 하나 남아 있고 문서는 반대로 말한다. 잘라내는 선도 미리 박아 둔다 — A 와 C 의 README 정정·WorkspaceEdit 은 필수, B 는 조사 표까지가 최소선, 커스텀 에디터·디버그 어댑터는 여력 보고 정한다. 0.4.0 은 코드베이스 인덱싱 프리뷰로 잡는다. 이번 판에 고친 세 건(깊이 상한, 점 폴더, 잘림 침묵)이 전부 "매번 훑어서 답한다" 는 한 구조에서 나왔다. 어려운 것은 인덱싱이 아니라 갱신이다 — 워처는 이름을 다 주지 못하고(OS 가 흘린다) 낡은 인덱스는 지금보다 나쁘다. 그래서 기본 꺼짐의 프리뷰로 낸다.
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.
Adds
docs/PLAN-0.3.md. Planning only — no code changes.Why
The 45 commits on
developare all fixes: unsaved-edit loss, BOM and non-UTF-8 destruction, an approval prompt that stranded a parallel run, files invisible to the whole app, a watcher that truncated its own list. That makes a good changelog and a weak release — nothing in it is a new capability.This document decides what 0.3.0 adds.
0.3.0 — three tracks
A. Providers (Gemini, local models) — the headline.
OpenAICompatProvideris already config-driven, so Gemini is close to a config entry; the real work is local endpoints (Ollama, LM Studio, llama.cpp): lift the hardcoded URL into a setting, stop treating "no API key" as unconfigured, read/v1/models, disable the quota probe that means nothing locally, and say so when a small model cannot do tool calls instead of looking broken.B. Editor-core visual effects (finishing Phase 2) — the first deliverable is a survey table of what exists versus what is missing. Listing candidates before that survey would mean writing down features that do not exist, and "finished" needs a definition first.
C. Extension shim gaps —
WorkspaceEditfile create/delete/rename first. The first commit on this track is a README correction rather than a feature: the README says the remaining gaps "throw rather than returning an empty value", and decorations do not —That is the exact shape 0.2.0 existed to remove, still present, with the documentation asserting the opposite.
The cut line is written down too, so the release can end: A and C's README fix plus
WorkspaceEditare required, B's survey table is the floor, custom editors and the debug adapter API are decided on remaining capacity.0.4.0 — codebase indexing, as a preview
Three fixes this round (depth cap, dot-directories, silent truncation) all came from one structure: the agent answers by walking the disk every time. Capping is unavoidable there, and with a cap "not searched" and "not present" keep arriving as the same answer.
The hard part is not building an index but keeping it honest. As confirmed this round, the watcher cannot report every name — the OS drops events first — so incremental update driven by watcher notifications is untrustworthy on its own. A stale index is worse than today's behaviour, which is why 0.4.0 ships it off by default, as a preview.