You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit f8deb6e
Browse filesBrowse the repository at this point in the historyBrowse files
Milestone 4 becomes the English/Chinese interface (language saved in the
account, or the browser for visitors; each language shows only its own
text). Milestone 5 is content completion plus a review of existing
movesets. Deployment, recommendations, release and video references move
to Milestones 6-9.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* four required CI jobs: backend, frontend, integration, docker
63
63
* local deployment with Docker Compose
64
64
65
-
Milestone 8 (search and filtering) was skipped. Milestone 10 (public deployment) moved into V3 as Milestone 5.
65
+
Milestone 8 (search and filtering) was skipped. Milestone 10 (public deployment) moved into V3 as Milestone 6.
66
66
67
67
Released as `v2.0.0`.
68
68
@@ -74,7 +74,7 @@ Completed so far:
74
74
***Milestone 2 — User-Owned Attempts:**`attempts.user_id` foreign key. It is nullable for now: attempts from before accounts existed stay ownerless and hidden until `python -m scripts.claim_attempts <username>` assigns them.
75
75
***Milestone 3 — Per-User Analytics and Isolation:** attempt history, boss analytics, progression and the Sekiro dashboard only cover the logged-in user, with isolation tests at the API and service level.
76
76
77
-
Next: Milestone 4 (content completion: the remaining main bosses and Chinese move names), then Milestone 5 (public deployment), which also makes `attempts.user_id` NOT NULL.
77
+
Next: Milestone 4 (bilingual interface), then Milestone 5 (content completion and moveset review), then Milestone 6 (public deployment), which also makes `attempts.user_id` NOT NULL.
78
78
79
79
---
80
80
@@ -89,14 +89,16 @@ V3 scope is:
89
89
```text
90
90
User accounts
91
91
+
92
-
Content completion (all main bosses, Chinese move names)
92
+
Bilingual interface (English / 中文)
93
+
+
94
+
Content completion (all main bosses, reviewed movesets)
93
95
+
94
96
Public deployment
95
97
+
96
98
Rule-based practice recommendations
97
99
```
98
100
99
-
Content completion was added after Milestones 1–3, so the public release covers every main boss and shows moves in Chinese as well as English. Move video or GIF references were considered and deferred (Milestone 8).
101
+
The bilingual interface and content completion were added after Milestones 1–3, so the public release covers every main boss in both English and Chinese. Move video or GIF references were considered and deferred (Milestone 9).
100
102
101
103
Long-term tracking and practice goals are NOT part of V3. Long-term progression is already covered by V2's progression chart, recent vs. all-time comparisons and Sekiro dashboard. Practice goals were considered and dropped.
102
104
@@ -146,7 +148,7 @@ Implement V3 incrementally. Each milestone should leave the project in a working
146
148
147
149
* add `attempts.user_id` as a foreign key to `users`, through a reviewed Alembic migration
148
150
* migrate existing attempts to the owner's account explicitly. Do not silently delete or orphan them.
149
-
* Done by making `attempts.user_id` nullable: pre-account attempts stay ownerless and hidden from everyone until `python -m scripts.claim_attempts <username>` assigns them. Milestone 5 makes the column NOT NULL.
151
+
* Done by making `attempts.user_id` nullable: pre-account attempts stay ownerless and hidden from everyone until `python -m scripts.claim_attempts <username>` assigns them. Milestone 6 makes the column NOT NULL.
150
152
* record the current user on every new attempt
151
153
* read attempt history for the current user only
152
154
@@ -156,22 +158,36 @@ Implement V3 incrementally. Each milestone should leave the project in a working
156
158
* add tests proving users cannot read or write each other's attempts, at both the API and service level
157
159
* keep the V2 analytics definitions unchanged apart from the user scope
Users choose English or Chinese, and each language shows only its own text; the two are never mixed on one page.
164
+
165
+
* a language switch in the nav bar
166
+
* logged-in users: the choice is saved in their account (a `users` column) and follows them across devices
167
+
* visitors: the choice is kept in the browser; the first visit follows the browser language
168
+
* all interface text in both languages, through a small in-house dictionary and `t()` helper; no i18n framework is needed for two languages
169
+
* Chinese versions of all boss content for the existing bosses: boss locations, phase names, move names, descriptions, telegraphs, counters and common mistakes
170
+
* Chinese move names: the name used by a Chinese Sekiro wiki where one exists (recorded with its page), otherwise a translation (marked as such in the data, never presented as official)
171
+
* Chinese descriptions are translations of the English, wiki-sourced text; the Chinese moveset shows one note saying so instead of a marker on every move
172
+
* the API returns both languages and the frontend picks one, so existing clients keep working
173
+
* the user reviews all Chinese text manually
174
+
* analytics definitions do not change with the language; only the displayed text does
175
+
176
+
### Milestone 5 — Content Completion and Moveset Review
160
177
161
178
Comes before public deployment so the public release is complete.
162
179
163
-
* add the remaining **main** bosses (mini-bosses stay out of scope), following the existing data rules: sourced from a wiki, boss-level `source_name` / `source_url`, `telegraph` and `common_mistakes` only when the source states them, reviewed by the user
164
-
* add a Chinese name to every move:
165
-
* prefer the name used by a Chinese Sekiro wiki (option A), recorded with its source
166
-
* where no Chinese wiki name exists, provide a translation (option B), stored and shown as a translation, never presented as an official name
167
-
* the user reviews all Chinese names manually
168
-
* keep boss data quality over quantity; do not create placeholder moves
180
+
* add the remaining main bosses, each in both languages: Gyoubu Masataka Oniwa, Headless Ape, Demon of Hatred, Genichiro (Way of Tomoe), Emma the Gentle Blade, Isshin Ashina, Folding Screen Monkeys, Divine Dragon, Inner Father, Inner Genichiro, Inner Isshin. Mini-bosses stay out of scope.
181
+
* for new bosses, compare the Fextralife and Fandom wikis; every conflict between them, in English or Chinese, goes to the user for review
182
+
* review the movesets of the existing bosses; the user may remove or edit moves
183
+
* the seed sync never deletes a move on its own, because attempts may reference it. Removing a move that has recorded attempts needs an explicit decision about those attempts (for example, keep the move but hide it from new attempts, or reassign the attempts) before it is deleted.
184
+
* follow the existing data rules: sourced from a wiki, boss-level `source_name` / `source_url`, `telegraph` and `common_mistakes` only when the source states them, no placeholder moves
169
185
170
-
### Milestone 5 — Public Deployment
186
+
### Milestone 6 — Public Deployment
171
187
172
-
Moved from V2 Milestone 10. It comes after the account milestones because accounts are what make a public instance safe, and after content completion so the public release is complete. See "Public Deployment" below for the work involved.
188
+
Moved from V2 Milestone 10. It comes after the account milestones because accounts are what make a public instance safe, and after the bilingual and content milestones so the public release is complete. See "Public Deployment" below for the work involved.
173
189
174
-
### Milestone 6 — Practice Recommendations
190
+
### Milestone 7 — Practice Recommendations
175
191
176
192
* rule-based and explainable, derived only from the user's attempt records
177
193
* candidate signals include:
@@ -180,16 +196,17 @@ Moved from V2 Milestone 10. It comes after the account milestones because accoun
180
196
* undefeated bosses the user has practiced recently
181
197
* every recommendation includes its evidence, for example "6 of your last 10 attempts ended in Phase 2; 4 of those were Floating Passage"
182
198
* failure counts for a move only count attempts that reached a phase containing that move, so dying earlier cannot make a move look "improved"
199
+
* recommendations are shown in both languages
183
200
* the exact rules are decided with the user before implementation
184
201
185
-
### Milestone 7 — Integration Testing, CI and Release
202
+
### Milestone 8 — Integration Testing, CI and Release
186
203
187
204
* an end-to-end test: register → record attempts → analytics → recommendations
188
205
* extend CI to cover authentication and user isolation
189
206
* verify the production deployment workflow
190
207
* release `v3.0.0`
191
208
192
-
### Milestone 8 — Move Video References (Deferred)
209
+
### Milestone 9 — Move Video References (Deferred)
193
210
194
211
Short clips or GIFs showing each move, so players can identify it more easily.
195
212
@@ -274,7 +291,7 @@ V2 should preserve that functionality while adding:
274
291
* recent vs historical comparisons
275
292
* overall Sekiro-level analytics
276
293
* stronger integration testing
277
-
* a reliable local deployment with Docker Compose (public hosting moved into V3 Milestone 5)
294
+
* a reliable local deployment with Docker Compose (public hosting moved into V3 Milestone 6)
278
295
279
296
---
280
297
@@ -417,7 +434,7 @@ These belong to V3–V5 or should only be introduced when justified by an actual
417
434
418
435
* Docker Compose, run locally
419
436
420
-
V2 has no public hosting and no staging or production environments. Public deployment moved into V3 Milestone 5; see "Public Deployment (V3 Milestone 5)".
437
+
V2 has no public hosting and no staging or production environments. Public deployment moved into V3 Milestone 6; see "Public Deployment (V3 Milestone 6)".
421
438
422
439
---
423
440
@@ -579,7 +596,7 @@ source_name
579
596
source_url
580
597
```
581
598
582
-
`name_zh` is the official Simplified Chinese name. Boss names and (from V3 Milestone 4) move names have Chinese versions; the rest of the UI stays in English for now.
599
+
`name_zh` is the official Simplified Chinese name. From V3 Milestone 4 the whole interface and all boss content exist in English and Chinese; see Milestone 4.
583
600
584
601
`source_name` and `source_url` record where the boss's phase and move data came from. All moves of a boss share this source.
585
602
@@ -1503,14 +1520,14 @@ v2.0.0 (run locally with Docker Compose)
1503
1520
1504
1521
---
1505
1522
1506
-
# Public Deployment (V3 Milestone 5)
1523
+
# Public Deployment (V3 Milestone 6)
1507
1524
1508
1525
V2 ran locally only. Public deployment was moved into V3 because:
1509
1526
1510
1527
* V2 has no authentication, so a public instance would let anyone record attempts into the only attempt history
1511
1528
* V3 Milestones 1–3 add user accounts and per-user data, which solves that problem directly
1512
1529
1513
-
Until Milestone 5 is done, a Cloudflare Tunnel to the local instance is acceptable for temporary remote access, such as from a phone away from home.
1530
+
Until Milestone 6 is done, a Cloudflare Tunnel to the local instance is acceptable for temporary remote access, such as from a phone away from home.
1514
1531
1515
1532
The work involved:
1516
1533
@@ -1797,11 +1814,11 @@ A broken persistence or analytics change should normally be detected before merg
Public deployment moved into V3 as Milestone 5. See "Public Deployment (V3 Milestone 5)" for the reasons and the work involved.
1821
+
Public deployment moved into V3 as Milestone 6. See "Public Deployment (V3 Milestone 6)" for the reasons and the work involved.
1805
1822
1806
1823
### What V2 Still Includes
1807
1824
@@ -1844,7 +1861,7 @@ Recommended sequence:
1844
1861
1845
1862
13. CI Hardening
1846
1863
1847
-
14. Stable Deployment (moved to V3 Milestone 5, see Milestone 10)
1864
+
14. Stable Deployment (moved to V3 Milestone 6, see Milestone 10)
1848
1865
1849
1866
15. Release v2.0.0
1850
1867
```
@@ -1950,7 +1967,7 @@ These are NOT V3 requirements.
1950
1967
When working in this repository:
1951
1968
1952
1969
1. Treat V1 and V2 as completed.
1953
-
2. Treat V3 as the current active development scope, limited to accounts, content completion, public deployment and rule-based practice recommendations.
1970
+
2. Treat V3 as the current active development scope, limited to accounts, the bilingual interface, content completion, public deployment and rule-based practice recommendations.
1954
1971
3. Preserve the lightweight manual attempt-recording workflow; accounts must not add fields to it.
1955
1972
4. Do not add detailed manual combat telemetry.
1956
1973
5. Continue supporting `Other` and `Not Sure`.
@@ -1968,7 +1985,7 @@ When working in this repository:
1968
1985
17. Keep database access and analytics logic outside route handlers.
19. Do not create large amounts of low-quality boss data.
1971
-
20. Do not invent Sekiro mechanics when uncertain, and keep game knowledge traceable to sources. Chinese move names come from a Chinese wiki where one exists; otherwise they are marked as translations.
1988
+
20. Do not invent Sekiro mechanics when uncertain, and keep game knowledge traceable to sources. Chinese move names come from a Chinese wiki where one exists; otherwise they are marked as translations. Chinese descriptions are translations of the sourced English text.
1972
1989
21. Do not commit secrets, production credentials or private database URLs.
1973
1990
22. Do not add OAuth, email infrastructure, roles, social features or practice goals in V3.
1974
1991
23. Do not add video analysis (V4) or Black Myth: Wukong (V5).
@@ -1989,7 +2006,8 @@ If the feature does not clearly belong to:
Copy file name to clipboardExpand all lines: ROADMAP.md
+7-6Lines changed: 7 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -83,18 +83,19 @@ Released as `v2.0.0`.
83
83
**Core question:**
84
84
**What should I practice next?**
85
85
86
-
V3 introduces individual player identity, complete boss content, public deployment and practice recommendations.
86
+
V3 introduces individual player identity, an English / Chinese interface, complete boss content, public deployment and practice recommendations.
87
87
88
88
Milestones:
89
89
90
90
1. ✅ **Accounts and authentication:** register, log in, log out, with hashed passwords and session cookies
91
91
2. ✅ **User-owned attempts:** every attempt belongs to a user; existing attempts move to the owner's account
92
92
3. ✅ **Per-user analytics:** boss analytics, progression and the Sekiro dashboard show only the user's own data
93
-
4.**Content completion:** every main boss, and a Chinese name for every move (from a Chinese wiki where one exists, otherwise marked as a translation)
94
-
5.**Public deployment:** a stable URL with HTTPS, backups and deployment from `main`
95
-
6.**Practice recommendations:** rule-based suggestions derived from the user's own attempts, each showing its evidence
96
-
7.**Integration testing, CI and release**
97
-
8.**Move video references (deferred):** short clips showing each move; not required for `v3.0.0`
93
+
4.**Bilingual interface:** switch between English and Chinese, with each language showing only its own text; saved in the account, or in the browser for visitors
94
+
5.**Content completion and moveset review:** every main boss in both languages, and a review of the existing movesets
95
+
6.**Public deployment:** a stable URL with HTTPS, backups and deployment from `main`
96
+
7.**Practice recommendations:** rule-based suggestions derived from the user's own attempts, each showing its evidence
97
+
8.**Integration testing, CI and release**
98
+
9.**Move video references (deferred):** short clips showing each move; not required for `v3.0.0`
0 commit comments