156 commits to Rocheport Times from Mon 13 Jul to Sun 19 Jul 2026. Two things landed. The private community opened to invited members: a ‘Neighbor’ role with its own permission vocabulary, invites, onboarding and a moderation switch that holds posts for review by default. And the newsroom’s AI drafting routines were moved off SSH onto an MCP server (a standard interface that lets an AI assistant call named tools), where the only writing tool creates drafts and nothing can publish.
- Built the member layer: a Neighbor role gated on bespoke capabilities instead of generic WordPress ones, editor-issued and member-sent invites with a per-member cap, an onboarding tour, and a Community admin menu (Neighbors, Approvals, Invites, Activity, Alerts).
- Shipped the newsroom MCP server: public read tools, an editorial tier behind OAuth or an application password, a draft-only create_draft tool, and lead tools with a code-enforced trust floor. The daily drafting, rundown and lead routines now go through it; SSH access was retired.
- Turned on post-moderation by default: wall posts, listings and suggestions hold for review, with a stop-word filter and an optional tone check.
- Fixed a magic-link sign-in that expired instantly because a corporate mail scanner prefetched the link before the reader clicked it.
- Made the production deploy code-and-uploads only and permanently removed its ability to push a database.
- Added a WP-CLI test harness covering the trust floor, deduplication, timezone handling, magic links and the no-publish rule, and a ‘view as Neighbor’ mode so I can check the member experience without a second account.