Skip to content

Commit 8618a24

Browse files
lesnik512claude
andcommitted
docs(retro): mark two v0.9 decoder items resolved
Section 10 of the v0.9 multi-decoder retro flagged `_dispatch_decoder` naming and a `_registered_names()` helper as "worth revisiting". Both were closed by the 2026-06-23 decoder-resolver extraction. Append a Resolved annotation to each (original wording preserved; the retro still reads truthfully as of its date). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 155b800 commit 8618a24

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

planning/retros/2026-06-10-v0.9-multi-decoder-routing.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,8 @@ For long-running agents that touch many files, the failure mode is more likely t
8686

8787
## 10. Decisions worth revisiting
8888

89-
- **`_dispatch_decoder` naming.** The PR #41 quality reviewer noted: it's a *finder*, not a *dispatcher*. The dispatch (calling `decoder.decode(...)`) happens at the call site. Kept the current name for consistency with the spec's "dispatch" terminology, but `_find_decoder` or `_match_decoder` would read better. Open for a future rename.
90-
- **`_registered_names()` helper extraction.** Currently `tuple(type(d).__name__ for d in self._decoders)` appears at 4 raise sites (2 in each client class). The Task 5 implementer made a defensible judgment call to leave it inline (4 short lines vs. one indirection). If a 5th call site is ever added, extract.
89+
- **`_dispatch_decoder` naming.** The PR #41 quality reviewer noted: it's a *finder*, not a *dispatcher*. The dispatch (calling `decoder.decode(...)`) happens at the call site. Kept the current name for consistency with the spec's "dispatch" terminology, but `_find_decoder` or `_match_decoder` would read better. Open for a future rename. **Resolved (2026-06-23, [`decoder-resolver-extraction`](../changes/2026-06-23.02-decoder-resolver-extraction.md)):** `_dispatch_decoder` was removed; the finder is now `_DecoderResolver.resolve()` (`src/httpware/decoders/_resolver.py`), which reads correctly.
90+
- **`_registered_names()` helper extraction.** Currently `tuple(type(d).__name__ for d in self._decoders)` appears at 4 raise sites (2 in each client class). The Task 5 implementer made a defensible judgment call to leave it inline (4 short lines vs. one indirection). If a 5th call site is ever added, extract. **Resolved (2026-06-23, [`decoder-resolver-extraction`](../changes/2026-06-23.02-decoder-resolver-extraction.md)):** moot — the expression now lives at a single site (`_resolver.py:63`), so the 4-site duplication that motivated a possible helper is gone.
9191
- **`pyproject.toml` version field is a stale placeholder.** Has been `"0.3.0"` since the 0.3.0 release; the publish CI sets the real version via `uv version $GITHUB_REF_NAME` from the git tag. Works, but reads as broken to a casual contributor. Optional cleanup: dynamic-versioning, or a CI gate that rejects PRs where pyproject.toml version doesn't match the highest tag.
9292

9393
## 11. Lessons (short form)

0 commit comments

Comments
 (0)