docs: version routines

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Lucas Winther
2026-10-22 17:43:40 +02:00
co-authored by Claude Opus 5.5
parent 88041d19e1
commit 25a36cf62a
4 changed files with 33 additions and 4 deletions
+7
View File
@@ -1257,6 +1257,13 @@ to an open page). Four things hold it up:
are CSS/layout choices over one feature tree. Theme, palette and row density are independent.
Do not mount the old v1 persistence hooks alongside ReaderApp's v2 store. See DATA-MODEL for
account IDs, clock revisions, migration recovery, backups and export validation.
- **Version timers are hand-kept, cited, and only their recorded ends act.** `VERSIONS`
(`src/shared/versions.ts`) is held to the `ROUTINES` bar: an https page, the day it was read, and
`Confirmed in game, YYYY-MM-DD.` for a figure the owner read in game. A version ends at an instant
(the restock), not a daily reset, which on Asia would roll a shop hours early. A routine on
`{ unit: "version" }` resets only at a recorded `end`; the `VERSION_DAYS` estimate is printed and
never acted on — the *never invent a date* rule. So **add each version's end when it is announced
or read in game**, with the next version's number; until then the shop routines hold their count.
- **A game's routines stay together.** The separate daily panel keeps direct ticks; grouped
routines use per-game/server summaries. Collapse policy is configurable and focus can expand a
group without changing that saved policy. Timeline reset strips sit next to their game's events.
+11 -3
View File
@@ -156,9 +156,17 @@ note only says where to start.
(`Sanctuary_of_Ink`) changes URL every patch. endfield.wiki.gg's robots disallow `/api.php` for
`*`, so only `/wiki/` pages are open. Re-check `/wiki/Version`; once it dates the current version,
build `endfield-wikigg-protocol-pass` as the spec describes.
- [ ] Wuthering Waves' Pioneer Podcast and Oscillated Coral, and NTE's Circle Bounty, as pass/shop
windows: no page dated them on 2026-10-16 (the [pass windows spec](docs/superpowers/specs/2026-10-16-pass-windows-design.md)
§ Not shipped has what was found).
- [ ] Wuthering Waves' Pioneer Podcast and NTE's Circle Bounty, as pass windows: no page dated them
on 2026-10-16 (the [pass windows spec](docs/superpowers/specs/2026-10-16-pass-windows-design.md)
§ Not shipped has what was found). The Oscillated Coral shop shipped 2026-10-22 as three routines
that reset with the version ([version routines spec](docs/superpowers/specs/2026-10-22-version-routines-design.md)).
- [ ] **Record Wuthering Waves 3.8's end** in `VERSIONS` (`src/shared/versions.ts`) once it is
announced or the shop timer shows it, with the version after it. Until then the shop routines hold
their count from 11 Nov 2026 and print an estimate (~23 Dec).
- [ ] Version routine follow-ups (spec 2026-10-22 § Not in this change): a scraped version source
(Nikki's `Version` table already parses), version periods on a reader's own tasks and *Make it
mine* for them, and moving Pioneer Podcast onto the version period once the owner confirms it
follows the version.
- [ ] Give Genshin's *To Temper Thyself and Journey Far* a check-in goal by default, so a reader
need not set it by hand. The owner asked on 2026-10-16 to "mark it as a 4/5 wk event"; earlier
the same day they described it as five days out of seven, and the [check-in goals spec](docs/superpowers/specs/2026-10-03-check-in-goals-design.md)
+10
View File
@@ -415,6 +415,16 @@ so `from` may be any day a cycle began. A built-in may name a server `clock` (co
stored): its day keys are then cut on that server's reset for every reader, for a cycle that ends at
one instant everywhere (NTE's Beyond the Rails, on Asia's).
A built-in may also **reset with its game's version** (`{ unit: "version" }`, 2026-10-22). That
period is code only — it is in `RoutinePeriodSchema`, never `PeriodSchema`, so no stored task, export
or older bundle holds one — and it is cut on instants, not day keys: `versionWindow`
(`src/shared/versions.ts`) finds the version holding `now` in the hand-kept `VERSIONS` table, whose
`end` is the moment the next version's stock appears on every server. Only a recorded `end` rolls the
period; past the newest one the window is the version that began there, open until its end is
recorded, and `VERSION_DAYS` gives an estimate that is printed and never acted on. Its numbers sit in
`amounts` under the version's start date in UTC (`2026-09-30` for WuWa 3.7), a key that adding the
next entry never moves. It groups, tallies and switches with the cycles (`cadenceOf`).
**Not every game has a server per region.** `GameMeta.resetOffsets` records the regions where a
game's server clock differs from `REGION_RESET_UTC_OFFSET`. Endfield is the case this exists for: it
has two server groups rather than three, and Europe is served off the Americas machine on a fixed
+5 -1
View File
@@ -551,7 +551,11 @@ with the standing chore of the game it came from, because the reader thinks in g
Routines is the library and management page for daily, weekly, monthly and cycle tasks. Follow each
per server; pin independently to Checklist and Timeline. Built-ins offer Make it mine, copying only
that account's logs; custom routines remain editable. Catch up & recorded history exposes logs on
their original reset revisions. A separate Timeline reset strip sits directly after its game's events;
their original reset revisions. A built-in can also **reset with its game's version** (WuWa's
Oscillated Coral pulls, seven of each per version): it counts down to the end the version table
records, or says *resets with next version (3.8) · expected ~23 Dec* when no end is recorded yet,
and never resets on that estimate. It sits with the cycles and is not offered as Make it mine. The
game's About tab in *Your games* shows the version and when it ends. A separate Timeline reset strip sits directly after its game's events;
with strips off, Ending soonest remains a single cross-game deadline queue.
The cadence and goal semantics below remain the domain contract; the redesign moves their controls