docs: remove completed recommendation plan

This commit is contained in:
2026-06-27 17:56:02 +02:00
parent 42fc505068
commit 4ded4e789b
2 changed files with 0 additions and 95 deletions

View File

@@ -1,44 +0,0 @@
---
finding: "Surface recommendation rationale"
catalog: "Direction"
impact:
"Recommendation results would be more trustworthy if the UI explained why each title was picked."
base_commit: "0d31d46"
---
## Effort
M - shape rationale data and render compact UI without changing ranking.
## Risk
LOW - this can be presentation-only if ranking is left unchanged.
## Confidence
HIGH - the recommender computes interpretable signals that are not currently shown.
## Evidence
- `internal/anime/recommendations/profile.go:64-101` builds a taste profile from genres, themes,
studios, demographics, airing preference, and recency.
- `internal/anime/recommendations/types.go:21-28` stores match counts for recommendation candidates.
- `templates/top_picks.gohtml:22-25` renders only anime cards for Top Picks.
## Resolution Approach
Extend the recommendation result view model with concise, user-readable rationale. Keep ranking
unchanged for the first iteration. Examples of acceptable rationale are matched genre/theme/studio
badges, “similar to titles in your watchlist,” or “because you watch recent airing shows,” but exact
copy should be generated from data already computed by the engine.
Avoid exposing raw scores or overly technical terms. The UI should stay compact enough for card
grids and the home carousel. If space is constrained, start with the full `/top-picks` page and
leave the home carousel unchanged.
Add recommendation tests that assert rationale is produced for candidates with
genre/theme/studio/demographic matches and omitted gracefully when signals are weak. Add template
tests or snapshots only if the repo already uses that pattern for similar UI.
Verify with `go test ./internal/anime/... ./templates` and `bunx tsc -p tsconfig.json --noEmit` if
any TypeScript changes are needed.

View File

@@ -1,51 +0,0 @@
# Advisory Plans
Plans written against commit `0d31d46`.
## Status
| # | Plan | Catalog | Status | Dependency |
|---|---|---|---|---|
| 001 | Fix broken Go lint baseline | DX / Tooling | TODO | None |
| 002 | Stop marking JSON attributes as trusted HTML | Security | TODO | None |
| 003 | Gate or remove unauthenticated pprof routes | Security | TODO | None |
| 004 | Validate playback proxy targets before signing/fetching | Security | TODO | None |
| 005 | Limit home continue-watching carousel query | Performance | TODO | None |
| 006 | Move top-picks recommendation expansion off request path | Performance | TODO | None |
| 007 | Characterize the browser player flow | Tests | TODO | Before major player refactors |
| 008 | Add data-fix runner characterization tests | Tests | TODO | None |
| 009 | Add CI for the existing verification command | DX / Tooling | TODO | 001 |
| 010 | Add watchlist import / restore | Direction | TODO | None |
| 011 | Surface recommendation rationale | Direction | TODO | None |
| 012 | Expose episode availability freshness / retry state | Direction | TODO | None |
## Recommended Order
1. `001-fix-broken-go-lint-baseline.md`
2. `009-add-ci-for-existing-verification-command.md`
3. `002-stop-marking-json-attributes-trusted-html.md`
4. `003-gate-or-remove-unauthenticated-pprof-routes.md`
5. `005-limit-home-continue-watching-carousel-query.md`
6. `008-add-data-fix-runner-characterization-tests.md`
7. `004-validate-playback-proxy-targets.md`
8. `007-characterize-browser-player-flow.md`
9. `006-move-top-picks-recommendation-expansion-off-request-path.md`
10. Direction plans as product priorities: `010`, `011`, `012`.
## Verification Baseline
Known passing during audit:
- `go test ./...`
- `bun test`
- `bunx tsc -p tsconfig.json --noEmit`
- `bun run lint:ts`
- `bun audit`
Known failing during audit:
- `bun run lint:go` fails on `internal/observability/fx.go:22` for `cyclop` complexity.
Unavailable during audit:
- `govulncheck ./...` because `govulncheck` was not installed.