diff --git a/README.md b/README.md
index 8aa0949..93b2502 100644
--- a/README.md
+++ b/README.md
@@ -47,8 +47,8 @@ Open `http://localhost:3000`. The HTTP server and background worker start togeth
## Features
-- Log movies with a TMDB/OMDb ID or manual title/year/director, with a 0–5 rating
-- Immutable append-only viewing ledger (tracks re-watches)
+- Log movies with a TMDB/OMDb ID or manual title/year/director, with a 0–5 rating and optional watch medium (cinema, streaming, TV, physical media, download, media server)
+- Edit reviews after the fact — update rating, comment, date, or watch medium via partial PATCH; each watch is still a separate record (re-watches tracked)
- Background poster fetching and storage (local filesystem or S3-compatible)
- Movie enrichment via TMDb — full cast, crew, genres, keywords, runtime, budget/revenue, ratings; fetched automatically on movie discovery and refreshed every 30 days; exposed via `GET /api/v1/movies/{id}/profile`
- Full-text search across movies and people via `GET /api/v1/search` — free-text query plus structured filters (genre, year, person, department, language); backed by SQLite FTS5 or PostgreSQL tsvector + GIN indexes
diff --git a/architecture.mmd b/architecture.mmd
index a699ff9..d36d5a5 100644
--- a/architecture.mmd
+++ b/architecture.mmd
@@ -14,7 +14,7 @@ graph TB
APP_PORTS["ReviewLogger
application-layer port"]
subgraph UseCases["Use Cases"]
UC_AUTH["auth
login, register"]
- UC_DIARY["diary
log_review, get_diary,
get_activity_feed, export"]
+ UC_DIARY["diary
log_review, edit_review,
get_diary, get_activity_feed,
export"]
UC_MOVIES["movies
get_movies, get_movie_profile,
enrich_movie, request_enrichment,
sync_poster, reindex_search,
merge_duplicates"]
UC_IMPORT["import
create_session, apply_mapping,
execute, profiles"]
UC_USERS["users
get_users, get_profile,
update_profile, delete_account"]
@@ -50,7 +50,7 @@ graph TB
direction TB
subgraph Models["Models"]
M_MOVIE["Movie, MovieSummary,
MovieProfile"]
- M_REVIEW["Review, DiaryEntry,
FeedEntry"]
+ M_REVIEW["Review, ReviewEdit,
DiaryEntry, FeedEntry"]
M_USER["User, UserSummary"]
M_PERSON["Person, PersonId,
PersonCredits"]
M_WATCHLIST["WatchlistEntry,
WatchEvent"]
@@ -69,7 +69,7 @@ graph TB
DS_REVIEW["ReviewHistoryAnalyzer
rating_trend"]
end
EVENTS["DomainEvent enum
ReviewLogged, MovieDiscovered,
GoalCreated, GoalUpdated,
UserDeleted, UserAccountMoved,
SearchReindexRequested, ..."]
- VO["Value Objects
MovieId, UserId, Rating,
Email, Username, Password, ..."]
+ VO["Value Objects
MovieId, UserId, Rating,
WatchMedium, Email, Username,
Password, ..."]
end
subgraph ApiTypes["api-types (0 domain deps)"]