v2.1 plan: task 01 cancel-record with its given served_test.go; index for 02/03

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
2026-09-25 11:12:58 -07:00
co-authored by Claude Fable 5.1
parent 481ea12f4c
commit a49a86c0e4
3 changed files with 181 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
# v2.1 implementation plan: fixes found while running v2
> **For the implementing model:** do not work from this file. The owner gives you one task file at
> a time. This file is the index for the owner and the reviewer.
**Goal:** close the two defects and one gap found while v2 ran, without new features.
- **01-cancel-record** — a delivered response is never recorded as a 499; cancellation is what
the reverse proxy observed. Found 2026-09-25 by the intermittent `Errors:2` in
`TestQueueFullIs503`; verified with a diagnostic build; the given
`internal/proxy/served_test.go` reproduces it on every run.
- **02-props-loaded-only** (to be written after v2 merges) — the poller asks `/props?model=X`
only for models `/v1/models` lists as loaded, because llama-server's router autoloads a model
named in that query (`models_autoload`). See the v2 README's note of 2026-09-25.
- **03-timing-margins** (to be written) — the remaining sleep-ordered assertions in v1 and v2
given tests move to state-based waits, as `TestQueueFullIs503` and `TestParallelAndQueue` did.
**How this plan was made:** acceptance tests first; no reference implementation. The given test
for task 01 was run against the v2 tree (fails six of six) and against a throwaway fix that
follows the task's rule (passes four full package runs with the v1 cancel tests); the throwaway
was discarded.
## Global constraints
- Everything in `AGENTS.md`. Branch `v2.1` from `master` after v2 merges. One task, one fresh
OpenCode session, one commit. Given files are copied and never edited.
## Changes during the run
(none yet)