docs(todo): the next-session handoff — ranked build work with file pointers - #38
Merged
Merged
Conversation
…inters The index said "the three remaining stub tools, the model-driven planner and tier-combo names are the next milestone". Three of those four are now landed (#33 execution, #34 the reasoner, #35 tier routing), so the note was stale and the real next step was unnamed. Rewritten as a handoff, with each item verified against the code rather than recalled: 1. **The loop cannot read a file** — four tools, none of which returns file *content*. `query` returns graph elements with a 400-char excerpt and a rung; it is not a reader. So the reasoner locates parseConfig, learns it is in config.go:41, and cannot look at it — which is exactly why the live demo wrote `func parseConfig() {}`. `write_file`'s description already promises a "read twin" that does not exist. 2. **The run has no answer** — `goal_met` stores its synthesis in `PartialSynthesis`, a field named for the bound case, and the model's rationale sits in a step's `why`. 3. **Success criteria are prose** — `ps.Success` appears exactly once in the codebase: as prompt text in reason.go. Nothing evaluates it. 4. `web_search` is the last stub (or should be deleted). 5. The two gaps #37 recorded: reply-out unscreened, ~740ms/call unmetered. 6. Planning is still a rule table (no longer blocking — the chooser carries). Plus the working notes a new session loses time rediscovering: the worktree rule, `make check` as the gate, the shell quirks (nohup for backgrounded servers, pkill matching its own command line, ports 8080/9699 taken), and the one that matters most — every defect this repo shipped lately was a check that could not fail (#25, #29, #32, #37, and #8's checklist ticked on the author's behalf). Verify by breaking the thing, not by watching it pass.
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.
The index said "the three remaining stub tools, the model-driven planner and tier-combo names are the next milestone". Three of those four landed in this session (#33 execution, #34 the reasoner, #35 tier routing), so that note was stale and the real next step was unnamed.
Rewritten as a handoff. Every item was verified against the code, not recalled:
queryreturns graph elements with a 400-char excerpt plus a rung — it is not a reader. So the reasoner locatesparseConfig, learns it is atconfig.go:41, and cannot look at it — which is exactly why the live demo wrotefunc parseConfig() {}.write_file's description already promises a "read twin" that does not existgoal_metstores its synthesis inPartialSynthesis— a field named for the bound case — and the model's rationale sits in a step'swhyps.Successappears exactly once in the codebase: as prompt text inreason.go:219. Nothing evaluates itweb_searchkind=searxngcall or delete the toolBudgetGuardEach carries the files a doer actually needs to open.
Also in here, because a new session loses time rediscovering it
make checkas the gate, and the shell quirks that cost time today: a backgrounded server dies withoutnohup env … &;pkill -fon a name matching your own command line kills your shell; ports 8080 (onegw) and 9699 (leankg MCP) are taken — both verified busy while writing this.Checks
make checkgreen: PRD OK (12/12, and--selftest12/12). Docs only — no code changed.