Catalog
Status: ✅ Built (2026-07-02) — E1–E5 complete, see notes below.
Scope
The Catalog is the "browse" IA quadrant (act / glance / browse / people). It shows everything available: assigned chores, unassigned bounties, unlockable activities, and redeemable rewards. Read-only for members; Admin CRUD lives in the Admin area. Bounties are one-off chores with elevated rewards that any eligible member can claim.
Built (2026-07-02)
E1–E5 shipped across the token-economy UI phase:
- E1 — parent reward CRUD (create / edit / archive / delete) in Admin.
- E2 — parent activity CRUD + activity-gate editor (requiredChoreId + minTokenBalance) in Admin.
- E3a — child-facing 4-tab Catalog browse (Chores / Bounties / Activities / Rewards) with member-selector ("who's acting?"), eligibility + lock visibility (grayed/locked-reason per CB-09), affordability gate.
- E3b — bounty claim (FCFS per D-2 decision).
- E3-redeem — Option A: adult immediate debit; child request → parental approve; hard-disabled when unaffordable (FR-CATALOG-4).
- E4 — redemption history + pending spend-requests with cancel-and-rollback on member profile; Today approval rows show resolved item names.
- E5 — chore auto-approve toggle (ApprovalPolicy) in chore editor; activity affordability gate in catalog (
_activityEligibilitymirrors_rewardEligibility); HomeBlocListenererror snackbar for approval failures;Activity.autoApproveRedemptionflag (per-activity parent opt-in → immediate debit for ANY member incl. child; rewards unchanged).
Decisions settled during build
- Ineligible items — shown grayed (not hidden), per D-1; locked reason visible to both child and parent (CB-09).
- Search / filter — flat scrollable list for MVP-1; search deferred.
- Template library — deferred.
- Bounty claim — first-come-first-served (D-2); no undo on claim.
Relationship
Activity gating — gated activities surface in the Catalog with their unlock condition.