docs(10.1): record D-18/D-19, resolve research questions, add pattern map

Plan checker iteration 1 flagged unresolved research questions and a
missing decision note for golang.org/x/net/html. D-18 approves x/net/html
for the partial sanitizer; D-19 fixes the Discogs widget fill to
[year, format]. STATE marks the phase ready to execute.
This commit is contained in:
Jakub Zych
2026-09-28 22:44:34 +02:00
parent ccdc014078
commit 9b98d8409f
7 changed files with 591 additions and 28 deletions

View File

@@ -568,15 +568,14 @@ The phrase keys above are **proposals** [ASSUMED]. The `discogs:` group already
| A7 | Browser `setHTML` Sanitizer API support status | State of the Art | None. Not used |
| A8 | Promoting `golang.org/x/net` from indirect to direct is acceptable under the stdlib-first rule | Standard Stack | Medium. Fallback is `encoding/xml` non-strict |
## Open Questions
## Open Questions (RESOLVED)
1. **Which fields does the Discogs widget fill?**
1. **Which fields does the Discogs widget fill?** — RESOLVED (user, 2026-09-28): `fill: [year, format]`, and a `year` field (`type: number`) is added to the Albums form. Recorded as CONTEXT D-19; closes A6.
- Known: the Albums form has `name, artists, format, genre, shelf`. `fill` must be writable scalars, and the model has `Year *int`, `Label`, `Country` and others.
- Recommendation: add `year` (`type: number`) to the Albums form and use `fill: [year, format]`. Fallback: `fill: [format]` only, with no form change.
2. **Promote `golang.org/x/net/html`?** Recommended; needs an explicit phase-decision note (CLAUDE.md rule 4). Fallback: `encoding/xml`.
3. **Stats strip numbers.** Recommend total albums in the active collection plus counts per `format` (one `GROUP BY format` query under `scopeAlbums`). Optionally add "without shelf". Discretion.
4. **Widget `label` attribute.** D-08 lists record-id, field name, locale and fill snapshot. Should the SPA also pass the field's localized label? Recommend yes, as an additive attribute. It is not a token or cookie, so D-08's intent holds.
5. **Plan count.** Proposed 4 plans (framework Go → framework SPA → fonoteka Albums → tests + gate). Must be confirmed at the checkpoint.
2. **Promote `golang.org/x/net/html`?** — RESOLVED (user, 2026-09-28): approved. Recorded as CONTEXT D-18, the phase-decision note for CLAUDE.md rule 4; closes A8.
3. **Stats strip numbers.** — RESOLVED (Claude's discretion, per CONTEXT): total albums in the active collection plus counts per `format` (one `GROUP BY format` query under `scopeAlbums`), plus a "without shelf" count, which the UI-SPEC includes.
4. **Widget `label` attribute.** — RESOLVED (Claude's discretion): yes, the SPA passes the field's localized label as an additive attribute. It is not a token or cookie, so D-08's intent holds.
5. **Plan count.** — RESOLVED (user, at the plan-count checkpoint): 4 plans (framework Go → framework SPA → fonoteka Albums → tests + gate).
## Environment Availability