Skip to content

Commit 1099711

Browse files
Move public deployment from V4 to V5
The owner decided to deploy publicly only once the end-to-end flow works: a user uploads a recording and sees which moves caused their failures. Hosting then has to be chosen once, with the real needs of video upload (object storage, background processing, upload limits, retention and privacy) known. - V5 Milestone 4 is now Public Deployment, after the video upload and failure report. The later V5 milestones move up by one (5-8). It asks for a private rehearsal once the upload work begins. - V4 Milestone 8 (boss expansion) becomes Milestone 7. - v4.0.0 is the proven pipeline, the castle Genichiro catalog confirmed by the owner, and product integration. - The attempts.user_id NOT NULL migration moves to V4 Milestone 6. - CLAUDE.md keeps its section numbers; section 33 now describes the V5 deployment. README, ROADMAP (both languages) and the Genichiro plan agree. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 1cf8bff commit 1099711

6 files changed

Lines changed: 128 additions & 108 deletions

File tree

‎CLAUDE.md‎

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ V4 Milestone 1 is done, and Milestone 2 has proven the runtime bridge for castle
139139

140140
V3 is released. Sections 7–17 remain the reference for how the current product is built; their product rules (lightweight attempt recording, honest analytics, per-user isolation, one language per page) still apply.
141141

142-
Public deployment is V4 Milestone 7.
142+
Public deployment is part of V5: it waits until a user can upload a recording and see which moves caused their failures (section 33).
143143

144144
V4 covers vanilla Sekiro only. All Resurrection mod work is deferred until after `v4.0.0` (section 35).
145145

@@ -1105,6 +1105,7 @@ Only after the research schema stabilizes:
11051105
- improve phase mappings
11061106
- sync verified semantic content
11071107
- preserve attempt foreign-key integrity
1108+
- make `attempts.user_id` NOT NULL through a migration. V3 left it nullable so attempts recorded before accounts existed could stay ownerless until claimed with `python -m scripts.claim_attempts <username>`. The migration should fail loudly if any ownerless attempts remain.
11081109
- consider adding ruleset support
11091110
- consider adding engine-action mappings
11101111

@@ -1123,19 +1124,20 @@ Let the actual research data determine the relational model.
11231124

11241125
---
11251126

1126-
# 33. V4 Milestone 7 — Public Deployment
1127+
# 33. Public Deployment (V5)
11271128

1128-
Public deployment is intentionally deferred until V4.
1129+
Public deployment moved from V4 to V5 (owner decision, 2026-10-12). The public product starts with the end-to-end flow: a user uploads a recording and sees their failures and the moves that caused them. It comes right after the video upload and failure report (section 38).
11291130

11301131
Before deployment ensure:
11311132

1133+
- the upload → failure report flow works and has passed reliability validation
11321134
- authentication works reliably
1133-
- user isolation is tested
1135+
- user isolation is tested, uploaded recordings included
11341136
- bilingual UI works
11351137
- database migrations are reproducible
11361138
- verified content is distinguishable from uncertain content
1137-
- at least one ground-truth vertical slice is integrated
1138-
- `attempts.user_id` is made NOT NULL through a migration. V3 left it nullable so attempts recorded before accounts existed could stay ownerless until claimed with `python -m scripts.claim_attempts <username>`. The migration should fail loudly if any ownerless attempts remain.
1139+
1140+
Rehearse with a private deployment once the upload work begins. A small invite-only deployment is fine if outside feedback is needed sooner.
11391141

11401142
Production concerns may include:
11411143

@@ -1148,14 +1150,18 @@ Production concerns may include:
11481150
- deployment workflow
11491151
- logging
11501152
- recovery
1153+
- object storage for uploaded recordings
1154+
- background processing for video analysis, and its cost
1155+
- upload size limits
1156+
- retention and privacy rules for users' recordings
11511157

11521158
Choose infrastructure based on actual hosting requirements.
11531159

11541160
Do not introduce Kubernetes by default.
11551161

11561162
---
11571163

1158-
# 34. V4 Milestone 8 — Boss Expansion
1164+
# 34. V4 Milestone 7 — Boss Expansion
11591165

11601166
Starts after `v4.0.0` (section 36).
11611167

@@ -1214,11 +1220,13 @@ Recommended `v4.0.0` target:
12141220
```text
12151221
Genichiro ground-truth pipeline proven
12161222
+
1217-
verified production integration
1223+
castle Genichiro move catalog confirmed by the project owner
12181224
+
1219-
stable public deployment
1225+
verified production integration
12201226
```
12211227

1228+
Public deployment is not part of `v4.0.0`; it comes in V5 (section 33).
1229+
12221230
Then expand boss coverage through:
12231231

12241232
```text
@@ -1271,10 +1279,11 @@ Use:
12711279
→ look back → identify the move → merge one failure → failure report)
12721280
2. Reliability validation on independent recordings
12731281
3. Video upload and failure report (failure counts per move)
1274-
4. Whole-fight move detection (short clips first, then temporal segmentation)
1275-
5. Player-response detection
1276-
6. True per-move analytics
1277-
7. Recommendations
1282+
4. Public deployment (section 33)
1283+
5. Whole-fight move detection (short clips first, then temporal segmentation)
1284+
6. Player-response detection
1285+
7. True per-move analytics
1286+
8. Recommendations
12781287
```
12791288

12801289
At first the system proposes move candidates and a person confirms them. Recordings made with the dev-menu overlay are labelled reference data; mask the overlay when training or evaluating.
@@ -1616,11 +1625,10 @@ V3 is released. V4 order:
16161625
Then, to complete `v4.0.0`:
16171626

16181627
```text
1619-
6. Product integration (V4 Milestone 6)
1620-
7. Public deployment (V4 Milestone 7)
1628+
5. Product integration (V4 Milestone 6)
16211629
```
16221630

1623-
Boss expansion (V4 Milestone 8) follows in v4.1.x. Resurrection is deferred until after `v4.0.0` (section 35).
1631+
Boss expansion (V4 Milestone 7) follows in v4.1.x. Public deployment comes in V5, after the upload → failure report flow works (section 33). Resurrection is deferred until after `v4.0.0` (section 35).
16241632

16251633
Keep the released V3 product working: fix product bugs on `dev` as they appear, and do not change the production schema for ground-truth research until V4 Milestone 6.
16261634

‎README.md‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ V2 runs locally with Docker Compose.
181181

182182
#### Deferred or Skipped
183183

184-
* **Public deployment** was deferred: without accounts, a public instance would let anyone record attempts. V3 adds accounts, and public hosting is now planned for V4, once boss content is backed by verified game data.
184+
* **Public deployment** was deferred: without accounts, a public instance would let anyone record attempts. V3 adds accounts. Public hosting is now planned for V5, once a player can upload a recording and see which moves caused their failures.
185185
* **Boss search and filtering** was skipped, because 8 bosses fit comfortably on one page.
186186

187187
---
@@ -211,13 +211,13 @@ The full plan is in [ROADMAP.md](ROADMAP.md). In short:
211211
V1 What killed me? → manual attempt analytics
212212
V2 Where am I improving or struggling? → structured relational analytics
213213
V3 Can different players use it? → multi-user product foundation
214-
V4 What moves actually exist? → combat ground truth + public deployment
215-
V5 What happened in the fight? → gameplay video analysis
214+
V4 What moves actually exist? → combat ground truth
215+
V5 What happened in the fight? → gameplay video analysis + public deployment
216216
V6 Can this work across games? → multi-game platform
217217
```
218218

219-
* **V4** builds verified boss data from the game itself, through runtime instrumentation and targeted reverse engineering, starting with Genichiro. The app is then deployed publicly.
220-
* **V5** analyzes uploaded gameplay to detect boss moves and player responses. Knowing how often each move actually occurred makes true per-move success rates and practice recommendations possible.
219+
* **V4** builds verified boss data from the game itself, through runtime instrumentation and targeted reverse engineering, starting with Genichiro.
220+
* **V5** analyzes uploaded gameplay, starting with the failures in a recording and the moves that caused them; the app is deployed publicly once that works. It then detects every boss move and the player's responses. Knowing how often each move actually occurred makes true per-move success rates and practice recommendations possible.
221221
* **V6** extends the platform beyond Sekiro, starting with Black Myth: Wukong.
222222

223223
The long-term goal is to turn gameplay footage into trustworthy, explainable boss-practice analytics with as little manual input as possible.

‎README.zh-CN.md‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ V2 使用 Docker Compose 在本地运行。
181181

182182
#### 推迟或跳过的内容
183183

184-
* **公网部署**被推迟了:在没有账号系统的情况下,公开的实例会让任何人都能新增攻略记录。V3 加入了账号系统;公网部署现在计划放在 V4,等 Boss 数据经过游戏本身的验证之后再进行。
184+
* **公网部署**被推迟了:在没有账号系统的情况下,公开的实例会让任何人都能新增攻略记录。V3 加入了账号系统;公网部署现在计划放在 V5,等玩家上传录像后能看到是哪些招式导致了失误,再进行。
185185
* **Boss 搜索和筛选**被跳过了,因为 8 个 Boss 在一个页面上就能放得下。
186186

187187
---
@@ -211,13 +211,13 @@ V3 把单用户的本地应用,变成可以供多名玩家使用、每人数
211211
V1 是什么打败了我? → 手动记录的尝试分析
212212
V2 我在哪里进步、在哪里卡住? → 结构化的关系型分析
213213
V3 不同玩家都能用吗? → 多用户产品基础
214-
V4 到底有哪些招式? → 战斗真实数据 + 公网部署
215-
V5 这场战斗里发生了什么? → 实战录像分析
214+
V4 到底有哪些招式? → 战斗真实数据
215+
V5 这场战斗里发生了什么? → 实战录像分析 + 公网部署
216216
V6 能用于其他游戏吗? → 多游戏平台
217217
```
218218

219-
* **V4** 通过运行时监测和有针对性的逆向工程,从游戏本身建立经过验证的 Boss 数据,先从苇名弦一郎开始;之后再进行公网部署。
220-
* **V5** 分析上传的实战录像,识别 Boss 招式和玩家的应对。知道每个招式实际出现了多少次,才能算出真正的招式成功率,并给出练习建议。
219+
* **V4** 通过运行时监测和有针对性的逆向工程,从游戏本身建立经过验证的 Boss 数据,先从苇名弦一郎开始。
220+
* **V5** 分析上传的实战录像,先找出录像里的失误以及导致失误的招式;这一步跑通后进行公网部署。之后再识别全部 Boss 招式和玩家的应对。知道每个招式实际出现了多少次,才能算出真正的招式成功率,并给出练习建议。
221221
* **V6** 把平台扩展到只狼以外的游戏,第一个是黑神话:悟空。
222222

223223
长期目标是:把实战录像变成可信、可解释的 Boss 练习分析,并尽量减少玩家的手动输入。

‎ROADMAP.md‎

Lines changed: 46 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -739,6 +739,7 @@ Once the ground-truth schema is stable enough:
739739
- expose provenance where useful
740740
- optionally expose verification status internally
741741
- preserve existing attempt references safely
742+
- make `attempts.user_id` NOT NULL through a migration, after confirming no ownerless pre-account attempts remain
742743

743744
Only now should production schema changes for engine-action mappings be considered.
744745

@@ -755,37 +756,7 @@ Do not introduce them until actual research demonstrates the required cardinalit
755756

756757
---
757758

758-
# V4 Milestone 7 — Public Deployment
759-
760-
Public deployment moves here from V3.
761-
762-
Deployment should happen only after:
763-
764-
- authentication is stable
765-
- personal data isolation is tested
766-
- bilingual UI works
767-
- the application clearly distinguishes verified vs. uncertain combat content
768-
- at least one complete ground-truth vertical slice is integrated
769-
- database migration strategy is stable
770-
- `attempts.user_id` is made NOT NULL, after confirming no ownerless pre-account attempts remain
771-
772-
Production concerns include:
773-
774-
- HTTPS
775-
- production PostgreSQL
776-
- environment secrets
777-
- database backups
778-
- migration execution
779-
- secure cookies
780-
- deployment from `main`
781-
- recovery procedures
782-
- observability appropriate to the actual hosting environment
783-
784-
Do not introduce infrastructure that is not required by the selected deployment platform.
785-
786-
---
787-
788-
# V4 Milestone 8 — Expand Boss-by-Boss
759+
# V4 Milestone 7 — Expand Boss-by-Boss
789760

790761
Starts after `v4.0.0` (see the release strategy below).
791762

@@ -862,13 +833,13 @@ v4.0.0
862833
=
863834
ground-truth pipeline proven
864835
+
865-
Genichiro complete vertical slice
836+
castle Genichiro move catalog confirmed by the project owner
866837
+
867838
production integration
868-
+
869-
public deployment
870839
```
871840

841+
Public deployment is not part of V4. It waits for the V5 end-to-end flow, where a user uploads a recording and sees which moves caused their failures (V5 Milestone 4).
842+
872843
Then expand verified coverage incrementally:
873844

874845
```text
@@ -978,7 +949,42 @@ PostgreSQL should store metadata and references.
978949

979950
---
980951

981-
## V5 Milestone 4 — Automatic Move Detection
952+
## V5 Milestone 4 — Public Deployment
953+
954+
Public deployment moves here from V4. The public product starts with the end-to-end flow: a user uploads a recording and sees their failures and the moves that caused them.
955+
956+
Deploy only after:
957+
958+
- the upload → failure report flow works and has passed reliability validation (Milestones 1–3)
959+
- authentication is stable
960+
- personal data isolation is tested, uploaded recordings included
961+
- bilingual UI works
962+
- the application clearly distinguishes verified vs. uncertain combat content
963+
- database migration strategy is stable
964+
965+
Rehearse first: once Milestone 3 work begins, deploy privately so hosting problems surface early. A small invite-only deployment is fine if outside feedback is needed sooner.
966+
967+
Production concerns include:
968+
969+
- HTTPS
970+
- production PostgreSQL
971+
- environment secrets
972+
- database backups
973+
- migration execution
974+
- secure cookies
975+
- deployment from `main`
976+
- recovery procedures
977+
- observability appropriate to the actual hosting environment
978+
- object storage for uploaded recordings
979+
- background processing for video analysis, and its cost
980+
- upload size limits
981+
- retention and privacy rules for users' recordings
982+
983+
Choose hosting from these actual requirements. Do not introduce infrastructure that is not required by the selected deployment platform.
984+
985+
---
986+
987+
## V5 Milestone 5 — Automatic Move Detection
982988

983989
Detect every boss move in a fight, not only the ones before a failure. Move occurrences are the denominator that true per-move rates need.
984990

@@ -1001,7 +1007,7 @@ Expand coverage from what the system could not attribute in users' recordings: a
10011007

10021008
---
10031009

1004-
## V5 Milestone 5 — Player Response Detection
1010+
## V5 Milestone 6 — Player Response Detection
10051011

10061012
Detect or infer responses such as:
10071013

@@ -1018,7 +1024,7 @@ Only calculate metrics supported by observed events.
10181024

10191025
---
10201026

1021-
## V5 Milestone 6 — True Per-Move Analytics
1027+
## V5 Milestone 7 — True Per-Move Analytics
10221028

10231029
Once move occurrences and outcomes are observable:
10241030

@@ -1036,7 +1042,7 @@ This is fundamentally different from V1–V3 failure-count analytics.
10361042

10371043
---
10381044

1039-
## V5 Milestone 7 — Practice Recommendations
1045+
## V5 Milestone 8 — Practice Recommendations
10401046

10411047
Practice recommendations move here from the old V3 roadmap.
10421048

@@ -1126,11 +1132,11 @@ Can different players reliably use it?
11261132
11271133
V4
11281134
What moves actually exist?
1129-
→ Combat ground truth + public product
1135+
→ Combat ground truth
11301136
11311137
V5
11321138
What happened in the fight automatically?
1133-
→ Video / CV gameplay analysis
1139+
→ Video / CV gameplay analysis + public product
11341140
11351141
V6
11361142
Can this work across games?

0 commit comments

Comments
 (0)