This audit compared the docs with the remote main branch of every current ihnyc* repository on July 26, 2026.
What “verified” means
The audit read code, configuration, migrations, routes, and repository guides from immutable snapshots of remote
main. It did not treat an unmerged agent branch as shipped behavior, and it did not test private dashboards or physical equipment.
The repository landscape
flowchart TB DOCS["Shared docs<br/>ihnyc-rc-docs"] subgraph "Council services" LANDING["Resident Council site<br/>ihnyc-rc-landing"] CAL["Programs calendar<br/>ihnyc-rc-cal-landing"] VOTE["Voting<br/>ihnyc-rc-vote"] GAMES["Games<br/>ihnyc-games"] end subgraph "Separate Pub product" PUB["I-House Pub<br/>ihnyc-avi-pub-landing"] end KIT["Supporting package<br/>admin-kit"] subgraph "Different lifecycle stages" APP["Mobile shell<br/>ihnyc-app · development"] GALLERY["Gallery<br/>ihnyc-rc-gallery · retired"] end DOCS --> LANDING DOCS --> CAL DOCS --> VOTE DOCS --> GAMES DOCS --> PUB DOCS --> APP DOCS --> GALLERY DOCS --> KIT CAL --> KIT
The diagram shows documentation coverage, not runtime dependencies.
Results
| Repository | Audited snapshot | Finding | Result of this audit |
|---|---|---|---|
ihnyc-rc-landing | 1642502 | RC Console is active and D1-authoritative; the docs still called it developing and described Notion or n8n as the council roster path. WhatsApp and email casework had also outgrown their pages. | Rewrote the Console, roster, public-member, casework, WhatsApp, email, security, and recovery material. |
ihnyc-avi-pub-landing | fb13cdf | Pub now has its own scoped operator roles and Access-policy bridge, audio controls, quiet hours, Spotify Jam, stronger TV controls, and scheduler fairness reporting. The latest TV relay also verifies browser launches and uses a REST fallback instead of treating a silent Samsung no-op as success. | Marked the product boundary and updated permissions, admin screens, audio, scheduler, migrations, operations, and TV launch telemetry. |
ihnyc-rc-cal-landing | 284aa70 | The admin now uses Admin Kit and edits the full email with real rendered preview, a shared footer, and history. Docs stopped at migration 0008. | Added the controls, endpoints, data tables, migrations 0009–0010, deployment checks, and failure checks. |
ihnyc-rc-docs | c31ccb7 | Source checks remained strong, but the previous task-oriented framing did not match the site’s role as technical product documentation. | Rebuilt the identity, navigation, content entry points, figures, tables, diagrams, print output, and Obsidian styling as a technical documentation system. |
ihnyc-rc-vote | 2451aa1 | Source review found contract drift in ranked voting, token use, magic links, result email, queued delivery, caching, rate limits, and the test schema. | Rewrote the API, authentication, voting, results, token, invitation, email, audit, rate-limit, migration, Notion, and testing pages; tracked code fixes in vote issues #10 and #11. |
ihnyc-games | a6c0eae | Current code and docs agree on the public UI, Worker API, D1 model, CSV import, results, and standings. | No correctness edit required. |
ihnyc-rc-gallery | 66e90c8 | The repository still contains the retired Worker implementation; the shared docs already label it decommissioned and historical. | No correctness edit required. |
ihnyc-app | d3d5d3f | The iOS shell existed in code but had no shared documentation. Android remains a placeholder. | Added a development-status page that separates implemented behavior from plans. |
admin-kit | 205a6ad | A new public supporting package supplies brand-neutral operator controls. Calendar pins 1.1.0; Pub does not declare the package dependency. | Added a technical reference that states the current consumer boundary. |
Important follow-up
- The public privacy policy needs human review for Pub uploads and the calendar token-storage change. This is tracked in docs issue #50.
- RC Console’s static steward rule and managed roster-group rule were confirmed in production. One fresh current-council-member sign-in remains. It is tracked in docs issue #59.
- The mobile app has an implemented iOS shell but no documented release or store distribution. It remains development, not an advertised resident service.
- Open real-device accessibility checks remain owned by their service issues, including the Calendar VoiceOver pass and Pub kiosk/setlist audits.
How to repeat the audit
- List every non-archived
ihnyc*repository and record remotemain. - Read each repository’s routes, storage bindings, migrations, and current README.
- Compare those facts with its service landing page, operator guide, API reference, and security notes.
- Treat merged code, deployed state, and future plans as three different claims.
- Run
npm testin this docs repository to validate the resulting site, diagrams, and links.
The July 14 pass was tracked in docs issue #49. The July 26 product-documentation work is tracked in docs issue #62, and the follow-up RC Console recovery item remains in docs issue #59.