From 4ded4e789b64cdd202dddd4d771846be02881145 Mon Sep 17 00:00:00 2001 From: mkelvers Date: Sat, 27 Jun 2026 17:56:02 +0200 Subject: [PATCH] docs: remove completed recommendation plan --- plans/011-surface-recommendation-rationale.md | 44 ---------------- plans/README.md | 51 ------------------- 2 files changed, 95 deletions(-) delete mode 100644 plans/011-surface-recommendation-rationale.md delete mode 100644 plans/README.md diff --git a/plans/011-surface-recommendation-rationale.md b/plans/011-surface-recommendation-rationale.md deleted file mode 100644 index 4e710c45..00000000 --- a/plans/011-surface-recommendation-rationale.md +++ /dev/null @@ -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. diff --git a/plans/README.md b/plans/README.md deleted file mode 100644 index 3079951c..00000000 --- a/plans/README.md +++ /dev/null @@ -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.