S4 (a1): the media engine — VOICE templates, /desk, Ghost drafts
4a VOICE v1.1 committed (board start); lint is EXECUTABLE — banned list + no-exclamation law enforced in the engine (throws in test, drops in prod) and locked by tests. Curly-apostrophe variants covered. 4b mediaEngine: deterministic templates (MORNING WIRE, SIGNAL, STREAK WATCH, THE SETTLE, RECEIPTS, ARCHETYPE WATCH, LINE DISPATCH) filled ONLY from snapshot/ledger/streaks JSON. Record percentages never render under n>=20 (counts + 'Record building' below). Stark layer = curated committed library (content/stark-lines.json), day-rotated selection — selected, never generated. 4c /desk (founder-only: requireAuth + DESK_OWNERS email allowlist, deny-by-default): all formats as text + <=280-char pre-segmented tweets with per-tweet copy buttons + char counts, wire/numbers-only variants, DATA BRIEF block (structured day numbers) with copy-for-claude.ai. ntfy ping after the day's first snapshot: 'Desk pack ready'. 4d ghostPublisher: DRAFTS ONLY (status:'draft' test-locked), env-gated no-op, HS256 JWT via node crypto (zero new deps). POST /api/internal/ghost/drafts saves slate preview + settle drafts. Nothing anywhere auto-posts. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"_comment": "THE STARK LAYER library (VOICE v1.1). Curated by Kev + Claude, committed like code. Templates SELECT from these — they never generate wit. One line per post max, only beside a number. No exclamation points.",
|
||||
"morning": [
|
||||
"The model collects debts.",
|
||||
"The slate doesn't know we're watching. It will.",
|
||||
"Quants get floors. We got a terminal.",
|
||||
"The board posted. So did we."
|
||||
],
|
||||
"settle_winning": [
|
||||
"The Ledger doesn't gloat. It just doesn't delete.",
|
||||
"Same format tomorrow, whatever it says.",
|
||||
"The record talks. We just post it."
|
||||
],
|
||||
"settle_losing": [
|
||||
"It's on the Ledger like everything else.",
|
||||
"Same format as the wins. That's the point.",
|
||||
"The model logs its misses. The industry deletes theirs."
|
||||
],
|
||||
"steam": [
|
||||
"Someone's watching. Good.",
|
||||
"The market chased the read.",
|
||||
"Three minutes after the wire posted. Noted."
|
||||
],
|
||||
"streak": [
|
||||
"Most hot streaks are soft schedules wearing a costume.",
|
||||
"The lens checks what the streak was built on. Calendars lie.",
|
||||
"A streak is a claim. The matchup is the cross-examination."
|
||||
],
|
||||
"identity": [
|
||||
"One terminal, built in Detroit.",
|
||||
"Garage-built. Out-reading the tower.",
|
||||
"The books employ floors full of quants. Seems fair."
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user