M21-I15: Thought Police publish #40

Open
opened 2026-05-29 05:15:25 +00:00 by claudian · 0 comments

📰 Thought Police publish

The second predesignated template and the wooden-bridge publish path until the Go monolith lands. Compose a post in a /Thought Police folder; on CMD+s+esc the dispatch publishes to the droplet. Recon (2026-05-29): the live droplet site is the Next.js n8k99-site (/opt/n8k99-site, pm2, fronted by stack-nginx), whose Thought Police posts are rows in Postgres dragonpunk_public.documents keyed by path Areas/Eckenrode Muziekopname/Executive/Thought Police/<slug>.md with status: published frontmatter; pages are ISR (revalidate = 60) so a new row goes live in ~60s with no rebuild. Two viable push mechanisms: POST to the site's /thought-police/api/publish route (currently unauthenticated — must be locked down first), or a direct INSERT into the documents table over SSH. Deeper POSSE syndication and ActivityPub federation are out of scope — they are the Go monolith's job / a later milestone of The Post.

Acceptance Criteria

  • A Thought Police template stamped by n in a /Thought Police folder (post schema: title/slug/status/published/created/author/stream).
  • CMD+s + esc dispatches by publishing the post to the droplet (web): the post lands in the droplet's documents store and renders live (ISR ~60s).
  • Publish target + secrets sourced from M15-Settings-Contract-V2 + .env (droplet host, DB/endpoint creds).
  • If publishing via the /thought-police/api/publish endpoint, the endpoint is authenticated first (it is currently an open POST).
  • Federation / POSSE explicitly out of scope — handled by the Go monolith / a later The Post milestone.

Dependencies

Reference

See M21-Tradecraft for the full design and rationale.


synced from /tmp/m21-sync/Milestones/M21-Tradecraft/Issues/M21-I15-Thought-Police-Publish.md

# 📰 Thought Police publish The **second predesignated template** and the wooden-bridge publish path until the Go monolith lands. Compose a post in a `/Thought Police` folder; on `CMD+s`+`esc` the dispatch **publishes to the droplet**. Recon (2026-05-29): the live droplet site is the Next.js `n8k99-site` (`/opt/n8k99-site`, pm2, fronted by `stack-nginx`), whose Thought Police posts are rows in Postgres `dragonpunk_public.documents` keyed by path `Areas/Eckenrode Muziekopname/Executive/Thought Police/<slug>.md` with `status: published` frontmatter; pages are ISR (`revalidate = 60`) so a new row goes live in ~60s with no rebuild. Two viable push mechanisms: POST to the site's `/thought-police/api/publish` route (currently **unauthenticated — must be locked down first**), or a direct `INSERT` into the `documents` table over SSH. Deeper POSSE syndication and ActivityPub federation are **out of scope** — they are the Go monolith's job / a later milestone of The Post. ## Acceptance Criteria - A **Thought Police** template stamped by `n` in a `/Thought Police` folder (post schema: `title`/`slug`/`status`/`published`/`created`/`author`/`stream`). - `CMD+s` + `esc` dispatches by **publishing the post to the droplet** (web): the post lands in the droplet's `documents` store and renders live (ISR ~60s). - Publish **target + secrets** sourced from [[M15-Settings-Contract-V2]] + `.env` (droplet host, DB/endpoint creds). - If publishing via the `/thought-police/api/publish` endpoint, the endpoint is authenticated first (it is currently an open POST). - **Federation / POSSE explicitly out of scope** — handled by the Go monolith / a later The Post milestone. ## Dependencies - **Milestone gate:** [[M17-The-Spaceship]] (Hero editor + LHSB) must land first. - [[M21-I01-Compose-Popover]] - [[M15-Settings-Contract-V2]] — `.env` secrets + publish target ## Reference See [[M21-Tradecraft]] for the full design and rationale. --- *synced from `/tmp/m21-sync/Milestones/M21-Tradecraft/Issues/M21-I15-Thought-Police-Publish.md`*
claudian added this to the Tradecraft milestone 2026-05-29 05:15:25 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
n8k99/dragonpunkos#40
No description provided.