Skip to content

Fix docs that still describe membership as edition-scoped - #333

Merged
aamoghS merged 1 commit into
mainfrom
docs/membership-no-longer-edition-scoped
Aug 9, 2026
Merged

Fix docs that still describe membership as edition-scoped#333
aamoghS merged 1 commit into
mainfrom
docs/membership-no-longer-edition-scoped

Conversation

@aamoghS

@aamoghS aamoghS commented Aug 9, 2026

Copy link
Copy Markdown
Member

Found while auditing the product against MVP.

W1 (#316) changed member from unique(user_id, hackathon_id) to unique(user_id). Two pieces of documentation still describe the old shape, and one contradicts the code directly beneath it:

  • README stated member is scoped to a hackathon, and that "a paid year still hangs off an edition, so membership resolves the current hackathon". That is precisely the bug W1 fixed — the day the next edition opened, every paying member read as a non-member. This is the repo's front page, so it is the first thing a new contributor would believe.
  • requireActiveMember carried a docblock saying it resolves the current edition. The body does not, and an inner comment said the opposite, leaving a reader to guess which half was current.

Documentation only, no behaviour change. typecheck · 426 tests · lint clean.


Note

Low Risk
Documentation and comment-only changes; no runtime or API behavior changes.

Overview
Updates documentation so it matches W1’s model: member is unique(user_id), not edition-scoped.

The README no longer lists member under hackathon cascades or says a paid year “hangs off an edition.” The club half now explicitly includes member, membership_history, event, and event_check_in, and explains that memberships are defined by their own dates and the club side can work with no hackathon row.

In initiative.ts, the requireActiveMember docblock no longer claims it resolves a “current edition”; it states membership is keyed on the person alone and notes the old between-hackathons refusal behavior. A redundant inner comment was removed so the comment matches the existing eq(members.userId, userId) lookup.

Reviewed by Cursor Bugbot for commit 2db25c9. Bugbot is set up for automated code reviews on this repo. Configure here.

W1 changed `member` from unique(user_id, hackathon_id) to unique(user_id), but
two pieces of documentation still described the old shape — and one of them
contradicted the code directly beneath it.

- README said `member` is scoped to a hackathon and that "a paid year still
  hangs off an edition, so membership resolves the current hackathon". That is
  the bug W1 fixed: the day the next edition opened, every paying member read
  as a non-member. It now says what is true, including that the club half works
  with no hackathon in the database at all.
- `requireActiveMember`'s docblock claimed it resolves the current edition. The
  function body does not, and an inner comment said the opposite — a reader
  had to work out which half to believe.

Documentation only; no behaviour change.
@cursor

cursor Bot commented Aug 9, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_3df403e3-777a-4663-8d75-634a04565ff5)

@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Aug 9, 2026
@github-actions

github-actions Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@github-actions

github-actions Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Visit the preview URL for this PR (updated for commit 2db25c9):

https://hacklytics2027--pr-333-urq7fm2q.web.app

(expires Sun, 16 Aug 2026 05:07:57 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: c48ba34db61581e25fe2978355160b5eefe0e83f

@greptile-apps

greptile-apps Bot commented Aug 9, 2026

Copy link
Copy Markdown

Greptile Summary

Corrects documentation to reflect that club membership is user-scoped rather than tied to a hackathon edition.

  • Removes the README’s outdated claim that member is hackathon-scoped.
  • Documents membership history and date-based membership semantics.
  • Aligns the requireActiveMember docblock with its existing user-based lookup.

Confidence Score: 5/5

The documentation-only changes appear safe to merge.

The updated README and function documentation remove stale edition-scoped membership descriptions without modifying executable behavior, and no actionable defect remains.

Important Files Changed

Filename Overview
README.md Updates the data-model overview to describe membership and other club entities as independent of hackathon editions; no actionable issue found.
packages/api/src/routers/initiative.ts Replaces a contradictory membership docblock with wording consistent with the unchanged user-scoped query; no actionable issue found.

Reviews (1): Last reviewed commit: "docs: membership is no longer scoped to ..." | Re-trigger Greptile

@aamoghS
aamoghS merged commit d3313a7 into main Aug 9, 2026
14 checks passed
@aamoghS
aamoghS deleted the docs/membership-no-longer-edition-scoped branch August 9, 2026 05:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant