The spec and plan say what shipped and what is still open. TODO.md gains the next two sub-projects with the facts already gathered, the design questions to settle and the sources to check, and a default check-in goal for To Temper Thyself and Journey Far. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
11 KiB
11 KiB
TODO
- Sub-project 2 of the "usual repeatable events" request: N-week cycles. Built-ins today
repeat weekly or monthly; many endgame modes run on longer fixed cycles. Add a period unit anchored
to a known start (every N weeks or days from a dated reset). It is a stored-shape change, so it
gets its own brainstorm → spec → plan (owner's process: once a design is approved, carry it
through with no extra review stops, and report decisions at the end), and a schema-guardian
review. Entries are verified by the owner in game, game by game, before anything is committed —
the same hold sub-project 1 used.
- Facts already gathered are in the sub-project 1 spec § Scope item 2, each with the owner's in-game reading and its UTC instant: Star Rail's Pure Fiction / Forgotten Hall / Apocalyptic Shadow (six-week cycles two weeks apart, ending 19 Oct, 2 Nov, 16 Nov 2026), Divergent Universe + Currency Wars (one 18,000-point cap per two-week period, ending 19 Oct), ZZZ's Shiyu Defense and Deadly Assault (Fridays, a week apart: 16 and 23 Oct), Wuthering Waves' Tower of Adversity (28 days, 9 Nov) and Whimpering Wastes (26 Oct), NTE's Beyond the Rails (14 days, "typically", ending 21 Oct 21:00 UTC — an Asia-server instant, possibly the same for every server) and Tycoon Incentive Fund (14 days, 26 Oct; the cap differs per player through the Puka Membership Program — base 1,000,000).
- Still to source: cycle lengths for ZZZ's two modes and Whimpering Wastes (a timer read just after each reset gives them); Infinity Nikki's Pinnacle Contest (half-month periods) and Merit Arena (from earlier research: a new arena each Monday, six per version — no wiki page, and its weekly caps change per version).
- Design questions to settle: a cycle that ends at one instant for every server (Beyond the Rails) vs one per server reset; a target that differs per player (the Incentive Fund) — the reader sets it, or ship the base with a note; whether "typically every 14 days" is safe to model as fixed.
- Sub-project 3: dated battle pass and shop windows as feed events. Source and parser work
(AGENTS.md § the ingest pipeline; the
adapter-authoragent andadd-game-sourceskill), not built-ins. Check the feed first: Genshin's battle pass is already a feed event (`Battle Pass- Moontrace
, de-duplicated against Fandom'sMoontraceon 2026-10-14), so a new source must not add a third copy. A localbuild:static` on 2026-10-16 still showed both names — probably the locally staged feed predating that fix; confirm against the live feed. - Candidate sources (from research, 2026-10-14): Genshin Fandom lists Battle Pass / Moontrace and the Miliastra Pass; endfield.wiki.gg mentions the Protocol Pass.
- End dates the owner read in game, in the sub-project 1 spec § Scope item 3: Endfield Protocol Pass (~15 Oct 00:00 CEST), Genshin Battle Pass (2 Nov 03:00 UTC), Wuthering Waves' Oscillated Coral shop (resets each version, 11 Nov ~10–11 UTC), ZZZ City Fund season (19 Oct 03:00 UTC), Infinity Nikki Mira Journey (29 Oct ~20:00 UTC). Never invent a date: an event is built only from a source that states it; these readings are for checking a parser.
- Moontrace
- 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
says five of seven — confirm the count with the owner before building. Today the goal is
the reader's own (
progress[id].goal), set from the event's checklist; with it set, a met week stays done in the strip for the rest of the week (checked in a browser on 2026-10-16). A default must not overwrite a goal the reader already set, and the event's id changes each cycle (…:2026-08-10), so it should match by title or source, not id. - Move NTE's Europe server to UTC+2.
games.tsrolls it at 05:00 UTC+1 (04:00 UTC), per Game-Time-Master and GameWith, but the game disagrees. On 2026-10-16 the owner read: a weekly timer of 3d 2h at 00:40 UTC (→ Monday 2026-10-19 03:00 UTC); Realm of Greed's own text, "Gold Heist resets every Monday at 5:00"; and the Tycoon Incentive Fund at 10d 2h at 00:43 UTC (→ Monday 2026-10-26 03:00 UTC, the day after the clocks change). Only 05:00 on a fixed UTC+2 fits all three — 03:00 UTC all year, not a server that follows daylight saving. Fix: setresetOffsets.europe: 2forntewith a test, as a day-key change under AGENTS.md § Event IDs, and updatedocs/DATA-MODEL.md's reset table and Game-Time-Master's place as the source. One NTE timer read after 2026-10-25 would confirm it (it should still land on 03:00 UTC). See the built-in routines spec. Done 2026-10-16 (resetOffsets.europe: 2); a timer read after 2026-10-25 would still confirm it. - Confirm Infinity Nikki's Realm of Breakthrough in game: still two Phantom Trials (Wish
Master Chigda, Guardian Beast Whirls), once a week each, renewed at the Monday reset? The owner
could not check on 2026-10-16 ("insufficient story progress" — it unlocks after Showdown with
Chigda!). Until then the entry stands on infinity-nikki.fandom.com/wiki/Realm_of_Breakthrough
(as of 2026-01-01), whose "currently there are two Trials" is the oldest claim in the Nikki
list. If it differs, correct
routine:nikki:realm-of-breakthroughinsrc/shared/routines.tsand its row in the spec § Entries together, with the noteConfirmed in game, YYYY-MM-DD. - Confirm Endfield's Etchspace Salvage: Focus Commissions in game: still 3 commissions a
week, and does it reset on Monday with the Weekly Routine (EU: Monday 11:00 CEST, confirmed
2026-10-14)? The owner could not check on 2026-10-14 ("due to mission progress"). Until then the entry stands on endfield.wiki.gg/wiki/Etchspace_Salvage (as of
2026-09-01), whose "weekly" is read as Monday from the wiki's own weekly-reset box. If either
is wrong, correct
routine:endfield:focus-commissionsinsrc/shared/routines.tsand its row in the spec § Entries together, with the noteConfirmed in game, YYYY-MM-DD. - Support check-in goals for events that require only some of the available days (for example, five check-ins per week). Keep unfinished events in Dailies, show progress against the required count, and distinguish finishing a week from finishing the event. Shipped 2026-10-13 — see the spec.
- Rework how the What you see settings group handles its toggles, so that the daily chores
and the built-in weekly tasks can each be switched globally and per game, without adding a
new checkbox for every game.
Shipped 2026-10-14 — see the spec.
- Today the two are inconsistent: the daily chores have one global switch
(
prefs.showChores) and no per-game control, while the built-in weekly tasks have only per-game switches (prefs.routineGames), one checkbox per game that has any. With more games and more built-ins, that list of checkboxes grows without bound. - Wanted: one pattern for both — a global switch, with per-game exceptions reachable without a checkbox per game in the group (for example, from each game's row in the games list, or a compact per-game control that only appears when asked for).
- Keep the existing data meaning: a reader's current answers must carry over, and an absent
pref still means "never answered" (AGENTS.md § Conventions on
knownGames, anddocs/DATA-MODEL.md§ Client-side storage). The strip's one-time question about a game's built-ins should keep answering the same setting. - Code:
src/client/components/Controls.tsx(What you see),src/client/state/usePrefs.ts,src/shared/routines.ts(activeRoutines,routineToAsk),src/client/components/Dailies.tsx.
- Today the two are inconsistent: the daily chores have one global switch
(
- hololive Dreams has not refreshed in three weeks — find out why, or find it a new source.
Resolved 2026-10-14: the wiki lapsed after 19 Sep (still answering, still parsing, nothing
current), and no replacement can be fetched. The source is recorded as
lapsed— seedocs/SOURCES.md§ 16.- Still open: run 317 reported
last confirmed neverfor it, while the committed meta says 2026-09-22. The CI state in the Actions cache appears to have lost that date, perhaps by restoring from a chain that never held it. It is cosmetic (the message only), but worth a look if another source shows it. The footer says (2026-10-13): "Of the games you have switched on, this one has not refreshed in over two days, so some end dates may have moved: hololive Dreams (21d 7h ago)." - What the repo shows:
snapshots/holodori-holodoriwiki-events.meta.jsonwas last confirmed 2026-09-22T17:28Z (content last changed 2026-09-22T05:28Z, one event parsed), and no snapshot commit has touched it since. A304would still have stamped a confirmation, so every cycle since then has either failed or skipped this host. The committed.state.jsonis older (2026-09-12) because CI keeps live state in the Actions cache, not the repo. - First: read the step summary and annotations of a recent
refresh.ymlrun on Gitea forholodori-holodoriwiki-events— itslastStatusand whether it wasskipped_robots, failing (andbrokenafter three cycles), or parsing to zero. If needed, one manual dispatch withonly: holodori-holodoriwiki-eventsand dry-run off answers it (--dry-runmakes no requests). - Then, by cause: robots or an access block from the runner → AGENTS.md § Scraping conduct (no
workarounds; a manual refresh or another source). The wiki changed shape → repair
src/ingest/parsers/holodori.tsagainst a new fixture, keeping the old one. The wiki stopped being maintained (holodori.wikiis a Miraheze wiki) → find another source; assess it indocs/SOURCES.mdas the others are.
- Still open: run 317 reported
- Give Add an event and Add a task easy-to-use templates, and give both forms a UI/UX pass.
Done 2026-10-14 as examples to start from — see PRD F13 and
docs/superpowers/specs/2026-10-14-form-examples-design.md.- Templates: one tap fills the common shapes so the reader only adjusts the details — for
example a weekly points task, a monthly shop reset, a login event, a banner with a known end.
A template only pre-fills fields; nothing is saved until the reader saves, and no figure is
presented as sourced unless it is (the bar
src/shared/routines.tsholds built-ins to). - UI/UX pass: both forms grew field by field (
src/client/components/CustomForms.tsxEventForm,src/client/components/TaskForm.tsx). Review them as a reader would — field order, defaults, copy, validation messages, how a cadence and a measure are chosen, phone width — againstdocs/DESIGN.mdanddocs/PRODUCT.md.
- Templates: one tap fills the common shapes so the reader only adjusts the details — for
example a weekly points task, a monthly shop reset, a login event, a banner with a known end.
A template only pre-fills fields; nothing is saved until the reader saves, and no figure is
presented as sourced unless it is (the bar