claude

claude hizo push a master en claude/congress-analyzer

  • 44e3ba0150 docs: sync scope/CLAUDE/DOCUMENTATION + add bulk-update skill PROJECT_SCOPE.md (PM): §4 In-Scope adds Rankings page, structural banners, delegate detection, replacement linking, 8 KPI tiles, chart-growth fix. §5 Feature Flow adds the Rankings flow + banners step. §7 Tech adds the three-pass enrich_roster, new per-member/manifest fields, Methodology.md + CLAUDE.md. §8 adds Phase 8 (tasks 8.1–8.9, all checked) for Rounds A–D. §9 adds 2 success criteria. §10 adds risk 7 (replacement-detection heuristic mis-link risk under rapid seat turnover). CLAUDE.md (104→108 lines): Architecture Decisions gains inline-manifest injection, chart-canvas-wrap pattern, per-Congress term data source, "XX" state override, expanded roster-merge field list. Pipeline lines for parse.py / enrich_roster.py updated to describe directory propagation and three-pass structure. Data Layout lists new manifest fields (k/dl/un/rs/rb/ sy/ey/dy). Frontend Pages updates app.html (8 tiles) and adds banner- priority bullet. Active Tasks now points at PM's open 7.1 + 7.3. DOCUMENTATION.md (657→711): §8 file layout includes CLAUDE.md, Methodology.md, .claude/skills/bulk-update/SKILL.md, ranking.html, ranking.js, and the copied Methodology.md in results/<C>/. §9 clarifies that the second parse.py run merges the now-populated members_directory. §11 v1.1.0 entry covers Rounds A (Rankings + UX), B (delegate banner), C (member-elect/replaced/died banners), D (bulk-update skill). New project-level skill: .claude/skills/bulk-update/SKILL.md orchestrates this very cycle — PM scope update → parallel CLAUDE/DOC sync → git add/commit/push. Designed for end-of-round runs, not per-edit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

hace 1 mes

claude hizo push a master en claude/congress-analyzer

  • 5697d8e9bc Detect member-elect / replaced / died-in-office cases with structural banners Three classes of edge-case members were either silently mislabeled or had no explanatory note, even when the data was clearly anomalous: 1. Member-elect who declined the seat (Matt Gaetz / FL-1): appeared in the 119th roll-call data once on the opening-day quorum call and never again, with no full name, no served dates, and no banner — total=553 denominator made it look like 0.0% participation absenteeism. 2. Members who left mid-term (Waltz, Sherrill, MTG, Green): KPIs reflected only their partial service but the dashboard didn't say so or link to their successor. 3. Members who died in office (Grijalva R., Turner, Connolly): same problem plus no death year shown. Fixes: - enrich_roster.py: rescue pass — for every vote-derived House bioguide missing from the bulk /v3/member/congress/<C> response, fetch the individual /v3/member/<bg> endpoint (carries full name, terms, death year even for never-seated members). - enrich_roster.py: replacement-linking pass — pair predecessor↔successor by (state, district) within the 119th window using each term's per-Congress data; emit replaces/replaced_by bioguide refs. - enrich_roster.py: detail-enrichment pass — for every member on a replacement chain, fetch /v3/member/<bg> for accurate per-Congress startYear/endYear/district/deathYear (the bulk listing only carries chamber + startYear; insufficient for "served 2025–2025" copy). - parse.py: propagate congress_term, death_year, current_member, replaces, replaced_by into the per-chamber roster merge. - build_members.py: emit those fields in per-member JSON; flag voting==0 non-delegate non-deceased members as "unseated" (un=true) in manifest. - template/app.js: branch the banner by status with priority delegate > unseated > died > replaced_by > replaces > partial > noVotes. Predecessor and successor are rendered as in-app links via manifestById lookup. 8 replacement pairs now linked (FL-1 Gaetz→Patronis, FL-6 Waltz→Fine, AZ-7 Grijalva R.→Grijalva A., TX-18 Turner→Menefee, VA Connolly→Walkinshaw, GA Greene→Fuller, TN Green→Van Epps, NJ Sherrill→Mejia) and Gaetz now has his full name + member-elect-declined banner. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

hace 1 mes

claude hizo push a master en claude/congress-analyzer

  • 092ccf7946 Flag non-voting territorial delegates with an explanatory banner Vote XMLs report territorial delegates' state as "XX"; the Congress.gov roster has the real territory code (AS/DC/GU/MP/PR/VI). parse.py now backfills the territory state during the roster merge. build_members.py sets is_delegate=true for any House member from a territory and propagates a `dl: true` flag in the manifest. app.js renders a yellow note on those dashboards explaining that delegates can vote in committee and on Committee-of-the-Whole amendments but not on House-floor final passage — so their structural participation rate is ~2-10%, not absenteeism. Six delegates now correctly flagged: Aumua Amata Coleman Radewagen (AS), Eleanor Holmes Norton (DC), James C. Moylan (GU), Kimberlyn King-Hinds (MP), Pablo José Hernández (PR), Stacey E. Plaskett (VI). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

hace 1 mes

claude hizo push a master en claude/congress-analyzer

  • 37d7ecc39b Initial commit: 119th Congress voting-dashboard pipeline Python-stdlib data pipeline (fetch → parse → enrich_roster → build_members → build_app) + vanilla-JS frontend (member, compare, ranking views) covering all 552 members of the 119th Congress. Framework-free SPA designed for standalone, iframe, or inline embedding into third-party hosts. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

hace 1 mes

claude nueva rama master creada en claude/congress-analyzer

hace 1 mes

claude creó el repositorio claude/congress-analyzer

hace 1 mes

claude hizo push a master en claude/moviedice

  • 7ac26b11c7 [Feat] PG-13 cert filter, home/list UI polish, TMDB + legal footers Major batch covering content policy, home/list polish, and compliance posture. - PG-13 multi-country cert allowlist applied across all TMDB endpoints (discover, popular, search, movie/[id], movie/[id]/videos, reel-posters) with belt-and-suspenders post-filter on search keyword path. Pinned reel poster (tmdb_id 615) is a documented editorial override. - Migration 00007 truncates landing_reel_posters so cron repopulates with cert-filtered titles. Cron mirrors the allowlist + pin set. - Home page: roll teaser fully clickable, RollBar hidden on empty pool, Create/Join row equal-width side-by-side mirroring roll-bar pattern, search bar restyled with centered placeholder + gold pulse-glow, larger invite-code header with "Invite Friends to Add Movies!" eyebrow. - List settings cleanup: 3-col header grid, inline regenerate+copy actions (no separate Invite Code section), "Rename List" copy. - LegalFooter + TMDBFooter composed into all 4 segment layouts (app, auth, admin, public). CCPA + GDPR anchors added to /privacy. - New CI guard: kong-auth-denylist.test.ts enforces non-anonymous GoTrue routes are 404'd at Kong before the catch-all. - ONBOARDING.md added. - CLAUDE.md notes the Create/Join row contract; PROJECT_SCOPE.md changelog rolled to 2026-05-23. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

hace 1 mes

claude hizo push a master en claude/moviedice

  • 93ef0eab6b [Scope] Add 9.21 realtime capacity review task References research/TECHFILE.md "Realtime Scaling Limits" — pre-launch check that projected concurrent users stay below documented capacity triggers (CPU >70%, WAL growth, p95 broadcast latency). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
  • 8444d3d7a9 [Docs] Document Realtime scaling limits Append known capacity limits and failure modes for the single-container Supabase Realtime deployment, with concrete triggers for when to cluster or add pgbouncer. Out of MVP scope — reference for future capacity work. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
  • Ver comparación de estos 2 commits »

hace 1 mes

claude hizo push a master en claude/moviedice

  • 1a57f92f3e [Fix] Realtime tenant seed + _realtime schema bootstrap (cold start) Fix infra cause of cross-browser non-propagation: WS connects to the self-hosted Realtime returned `TenantNotFound: supabase-realtime`. Two gaps on cold start: 1. The `_realtime` schema (where Realtime stores tenant config + Ecto migrations) was missing. Realtime sets `search_path TO _realtime` before any migration runs and crashes with `no schema has been selected to create in`. New `supabase-realtime-schema-init` one-shot creates the schema before realtime starts. 2. `SEED_SELF_HOST=true` seeds external_id=`realtime-dev`, but Kong rewrites the upstream Host to `supabase-realtime:4000` so Realtime resolves the tenant slug as `supabase-realtime` — never matched. New `supabase-realtime-tenant-seed` one-shot POSTs `/api/tenants` after realtime is up, idempotent (GETs first, skips if present). Auths with a short-lived HS256 JWT signed with `JWT_SECRET` (= API_JWT_SECRET), role=`supabase_admin`. Both services are `restart: "no"` and survive `docker compose down/up` because the seeded rows live in the postgres data volume. Verified: realtime logs clean (no TenantNotFound), WS handshake via Kong returns 101 Switching Protocols, replication slot streaming. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

hace 1 mes

claude hizo push a master en claude/moviedice

  • dc2d4ef447 [Scope] Reconcile Phases 1-3 + 5.5 complete; log 3.8/5.6 bugs (now fixed) Walkthrough on 2026-05-07 confirmed Phases 1-3 and 5.5 are built and working. Logged 3.8 watched-state real-time UPDATE bug and 5.6 offline-search false-empty as known issues — both subsequently fixed in 47b4c01. 1.7/5.8 stay open pending production deploy. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
  • 47b4c01b81 [Fix] Real-time UPDATE, offline search error state, pre-push hook Three queued fixes: 1. 3.8 Real-time UPDATE propagation - Added migration 00006_movies_realtime_replica_identity.sql - Sets REPLICA IDENTITY FULL on public.movies and adds it to the supabase_realtime publication. Without REPLICA IDENTITY FULL, UPDATE payloads carry only the primary key, so the TanStack Query cache merge replaced full rows with sparse ones — losing the watched flag on remote clients. INSERT/DELETE worked because they don't depend on the replica identity for payload completeness. - Migration applied to running dev DB (verified relreplident='f' and publication membership). 2. 5.6 Offline search false-empty - search-results.tsx and movie-list-client.tsx already wired the isError + hasData props to distinguish loading / error / empty. This commit captures the working-tree changes. 3. 1.1 Husky pre-push hook - Added .husky/pre-push running lint + typecheck + build. - Unblocked it by: * eslint.config.mjs — ignore .claude/** so worktree .next/build artifacts don't get linted (was producing 5763 spurious errors). * tsconfig.json — add types: ["vitest/globals", "node"] and bump target to ES2018 + add es2018.regexp lib so the regex 's' flag in tests typechecks. * Inline eslint-disable on two intentional set-state-in-effect patterns (RollAnnouncer counter bump, more-info-modal portal mount flag). Verified: npm test (95 passed), npm run build, ./.husky/pre-push all exit 0. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
  • 18ba081a7d [Fix] Align RollAnnouncer timing with carousel settle (3350ms) PM batch of 4 known issues — only #4 still needed code changes; the other three were already addressed in prior commits: 1. U9 carousel modulo-wrap (landing reel) — already fixed in 7382c5e at carousel-animation.tsx:129-131. 2. useAddMovie onError + user-visible error — already present (onError logs; movie-list-client.tsx:133-138 surfaces an inline role="alert" off addMovie.isError). 3. Five dead UI files (expanded-panel, movie-search-panel, home-roll-teaser-card, roll-animation, roll-result-card) — already removed in c7859af; verified no references remain. 4. RollAnnouncer fired its "complete" aria-live message at 2500ms while ListRollCarousel actually settles at 3350ms (ENTRANCE_MS 500 + PRE_SPIN_PAUSE_MS 100 + SPIN_DURATION_MS 2750). Bump useRoll's ANIMATION_DURATION_MS to 3350 so screen-reader users get the result when it's visible. Update use-roll tests to match. Update stale carousel comment that claimed timelines were intentionally divergent. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
  • Ver comparación de estos 3 commits »

hace 1 mes

claude hizo push a master en claude/moviedice

  • 7382c5e411 [Phase 3/5] UI batch + RLS recursion fix Fixes movies UPDATE policy 42P17 recursion (00005), updates create-group and list detail flows, and refreshes scope/CLAUDE notes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
  • 16e4fc0297 [Docs] Phase 3+5 implementation plan Plan for tasks 3.5 (infinite scroll polish), 3.8 (watched-section collapse), 3.9 (realtime subscription completion), 5.5 (empty states), 5.6 (network-error UX). Notes that 3.5 and 3.9 are largely already wired; remaining work is integration polish, reconnect triggers, status surfacing, and harmonized empty-state component usage. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
  • 7d991d4684 [Scope] Close 1.6 (recovery verified), mark 3.7 info-only, unblock 9.4 Task 1.6 browser-verified 2026-05-06 — both GoTrue escalation triggers cleared. Task 3.7 reframed as a deliberate scope reduction: Genre Roll is the sole filter entry point; tags elsewhere are informational only. Task 9.4 unblocked by 1.6 closure. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
  • 0221509ff3 [Test] Exclude .claude/worktrees from vitest Stale agent worktrees under .claude/ contain old code copies that vitest's default exclude doesn't ignore, producing false test failures during the project test run. Adds **/.claude/** to the exclude list while preserving the standard defaults. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
  • b164f471cf [Cron] Bi-weekly reel-posters refresh from TMDB popular Adds cron job (0 3 1,15 * *) that refreshes landing_reel_posters from TMDB /movie/popular: filters adult, dedupes against PINNED_REEL_POSTERS, caps at REEL_POSTER_COUNT, then delete-all + insert via service-role client. Aborts on zero results (TMDB outage guard) so the table can't be wiped. Startup self-heal runs once if the table is empty at boot. /api/tmdb/reel-posters now reads from the table first; live-TMDB fallback preserved when empty. Adds @supabase/supabase-js to cron/package.json. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

hace 1 mes

claude nueva rama master creada en claude/moviedice

hace 1 mes

claude hizo push a master en claude/discordo-plus

  • 6e45ea8f3a feat(ui/chat): add reaction viewer popup (v keybind) Press v on a message to see who reacted with each emoji. Fetches up to 100 users per emoji via the Discord API and displays them in an overlay. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

hace 2 meses

claude creó el repositorio claude/moviedice

hace 2 meses

claude hizo push a master en claude/simplauncher

  • 1f95f4114a docs: rewrite README for Simplauncher Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

hace 2 meses

claude hizo push del tag v1.0.0 a claude/simplauncher

hace 2 meses

claude hizo push a master en claude/simplauncher

  • 52dcb4cf37 chore: set version 1.0.0, update CLAUDE.md, add APKs to gitignore Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

hace 2 meses

claude hizo push a master en claude/simplauncher

  • c6a1da9c58 fix: folder UI polish - consistent alignment, search includes folder apps, collapse on home Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

hace 2 meses

claude borrada rama simplauncher-folders at claude/simplauncher

hace 2 meses

claude hizo push a master en claude/simplauncher

  • 1e69e1d957 Forked from unlauncher, a fork of slim launcher, for feature addition and LTS. added folders Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
  • 86a1d137e1 chore: update version for 2.1.1 patch release
  • f36b31d1c2 chore: update CI to use build-tools 34.0.0 (cherry picked from commit 9a9079f732525df4a79152de156de4b09fabc05b)
  • 3c460832ad chore: update version for 2.1.0 release
  • 8c0c013678 feat(translations): Update french strings (#211) (cherry picked from commit 2e90b2e0e994c7cc23b2de35564aa2769b557d7f)

hace 2 meses