forked from Mike/freno-dev
v0.15.1 (2026-11-04) is the first release tag containing FRE-355's merge 6e74b261, and the live appcast serves v0.15.2. The page's own Contingency made the always-on (b) conditional on no release shipping FRE-355; that condition no longer holds, so the always-on text would be false on the build the page deploys with. Swap applied with two corrections against the pre-written contingency text, both measured in the shipped starter (Sources/NookApp/main.swift, CrashReporting.onTracesSampleRate): - session pings and performance traces (0.1) still flow while enabled, so they are named — the contingency's own completeness warning; - sendDefaultPii = false means no IP is attached, so the swap text's 'Sentry also receives your IP address' is dropped, not kept. iPhone paragraph corrected the same way (iOS gates identically: ios/AgentNookMobile/App.swift startIfEnabled, SettingsView default off). Last Updated -> November 6, 2026. privacy-page.patch regenerated (c1c498e..branch); draft sequencing/evidence rows updated.
Marketing tree
One voice, one place. Every later artifact draws on positioning.md — do not
invent framing per-asset.
positioning.md # source of truth: wedge, voice, banned phrasings, approved claims
calendar.json # scheduled pushes: date, channel, status
briefs/<channel>.md # per-channel rules, format, limits, what "good" looks like
drafts/<id>/ # agent output: copy.md, assets/, rationale.md
pending/ approved/ posted/ # human gate by directory move
metrics/weekly.md # funnel snapshot, generated
listening.md # buying-intent threads + drafted replies
Hard rule
approved/ is the only thing a human ever publishes from. Nothing posts itself.
Workflow: agent drafts into drafts/<id>/ → moves to pending/ when complete →
a human reviews and moves it to approved/ → the human publishes from approved/
under their own account → the artifact (or a pointer) lands in posted/.
Nothing in drafts/ or pending/ is ever publishable, by anyone, by any means.