docs: remove completed recommendation plan
This commit is contained in:
@@ -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.
|
||||
@@ -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.
|
||||
Reference in New Issue
Block a user