Skip to content

Capture the post-v1.9 idea backlog - #15

Merged
NeverEndingCode merged 1 commit into
mainfrom
v2-idea-backlog
Aug 8, 2026
Merged

Capture the post-v1.9 idea backlog#15
NeverEndingCode merged 1 commit into
mainfrom
v2-idea-backlog

Conversation

@NeverEndingCode

Copy link
Copy Markdown
Owner

Fifteen ideas from 2026-08-08, captured so they are not lost. Docs only — no code changes.

Deliberately a backlog rather than a plan: the process that works here is brainstorming → spec → plan → implementation → whole-branch review, and jumping to a plan is how ideas acquire accidental requirements.

Three things came out of checking rather than assuming:

  • The leaderboard item is a bug, and I found the line. server/leaderboardService.js filters every board with .filter((r) => r.value > 0), so a player whose legacyCores reset to 0 in a Singularity vanishes from the board instead of showing 0. The filter isn't gratuitous — it keeps never-played accounts off every board — so the fix has to distinguish "reset" from "never started". lifetimeFlopsAllTime survives every prestige and can do that.
  • Multi-provider linking needs no migration. identities is keyed on (provider, provider_id) with a user_id FK and an index on it — two rows pointing at one users.id is already the intended shape, which is why v1.7 split identities out of users. It's a flow problem, not a schema one.
  • Timed hazards already have a precedent. scheduleAnomaly picks the moment ahead and stores it, letting lazy evaluation notice it passed. Anything rolled live can't reconcile against offline progress — and offline progress is a headline feature.

Two ideas are flagged as needing a different shape, both for safety rather than taste:

  • Event custom CSS would hand event_coordinator — deliberately the lowest role — a data-exfiltration primitive (attribute selectors + url()) against every player including the owner. A named effect registry gives the same snow and falling money without shipping a stylesheet.
  • Joining accounts on matching email is the account-takeover vector already documented in docs/authentication-methods.md. Linking should be an authenticated act proven by a live session, never a string match.

Nothing here is approved or scheduled. Edit freely — it's a capture doc.

🤖 Generated with Claude Code

Fifteen ideas from the owner, written down before they evaporate. Captured, not
designed - deliberately a backlog rather than a plan, because on this project
jumping straight to a plan is how ideas pick up accidental requirements.

Each entry records the idea, what it touches, and anything already known that
constrains it. Three findings came out of checking rather than assuming:

- "The leaderboard should show 0s after a singularity" is a BUG with a located
  cause: leaderboardService.js filters every board with `.value > 0`, so a
  player reset to 0 legacyCores vanishes instead of showing 0. The filter is
  not gratuitous (it keeps never-played accounts off every board), so the fix
  has to tell "reset" apart from "never started" - lifetimeFlopsAllTime
  survives prestige and can do exactly that.

- Multi-provider account linking needs no migration. `identities` is keyed on
  (provider, provider_id) with a user_id FK and an index on it; two rows
  pointing at one users.id is already the intended shape, which is why v1.7
  split identities out of users. It is a flow problem, not a schema one.

- Timed hazards and Grid downtime already have a precedent in scheduleAnomaly:
  choose the moment ahead, store it, let lazy evaluation notice it passed.
  Rolling an event when a request happens to arrive cannot reconcile against
  offline progress, and offline progress is a headline feature.

Two ideas are flagged as needing a different shape than proposed, both for
safety rather than taste: event-authored custom CSS would hand
event_coordinator - deliberately the lowest role - a data-exfiltration
primitive via attribute selectors and url(), so a named effect registry gets
the same snow and falling money without shipping a stylesheet; and joining
accounts on matching email is the account-takeover vector already documented in
authentication-methods.md, so linking should be an authenticated act proven by
a live session, never by a string match.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@NeverEndingCode
NeverEndingCode merged commit ac0869d into main Aug 8, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant