linkedin-studio/config/state-file.template.md
Kjell Tore Guttormsen b45fdad911 feat(linkedin-studio): N15 — do-next-kontrakt (recordDoNext + skrivere/lesere + forrige-utgave-kalibrering) [skip-docs]
Måling som ikke endrer neste utgave er teater: report/analyze/ab-test/48h-monitor
endte alle i chat (grep do.next = 0 i hele repoet). N15 gjør kanalen til en kontrakt.

- recordDoNext i hooks/scripts/state-updater.mjs (TDD, 17 nye tester): seksjonen
  Do-Next Directives, rader "[dato] (kilde) direktiv — evidence: peker".
  Levetid = erstatt-per-kilde + 60-dagers aldersgulv, maks 3 per skriv, additiv
  scalar last_donext_date, $-sikre replacement-funksjoner. CLI: --record-do-next.
- Skrivere: report Step 7b, analyze Step 6b, ab-test 2c.6 (kun Adopt),
  post-feedback-monitor (kun 48h-sjekken); analytics-interpreter emitterer nå
  anbefalinger på do-next-form (imperativ + evidens).
- Lesere: post/quick/batch/create Step 0 + newsletter Step 1, som i tillegg
  kalibrerer på forrige utgaves MÅLTE tall via queue-id-match (queue.json →
  analytics/posts) med eksplisitt honest-miss — aldri estimert.
- Guards: test-runner Section 16v (15 ubetingede sjekker, floor 198 → 213),
  $-safety-batteriet dekker recordDoNext (coverage-gate fanget den nye eksporten).

Suiter: test-runner 232/0, hooks 191/0, trends 300/0, brain 134/0, editions 72/0,
specifics-bank 45/0, contract-gate 33/0, tests 35/0, render 60/0.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QxvWAjte7vPcF79QeSRvRJ
2026-07-25 15:23:35 +02:00

88 lines
2.4 KiB
Markdown

---
# LinkedIn Studio State
# Auto-managed by the linkedin-studio plugin
# Copy to ~/.claude/linkedin-studio.local.md
# Posting metrics
last_post_date: null
first_post_date: null # YYYY-MM-DD, set once on first post, never changed
last_post_topic: "" # Should match an expertise_areas value for pillar tracking
posts_this_week: 0
weekly_goal: 3
current_streak: 0
longest_streak: 0
# Week tracking (ISO week)
current_week: ""
# Analytics tracking
last_import_date: null
last_import_week: ""
# Milestone tracking
follower_count: 0
follower_target: 10000
target_date: "2026-12-31"
monthly_growth: []
projected_10k_date: ""
growth_rate_needed: 0
# Planning
next_planned_topic: ""
pending_5x5x5: false
content_series_active: ""
# First-hour / reply-loop engagement
last_firsthour_date: null # "YYYY-MM-DD HH:MM" of the most recent first-hour plan
firsthour_active: false # true while a first-hour loop is in progress
# Outreach (collab + speaking pipeline)
last_outreach_date: null # "YYYY-MM-DD HH:MM" of the most recent outreach contact
outreach_active: false # true while an outreach pipeline is being worked
# Measurement -> creation (do-next contract)
last_donext_date: null # YYYY-MM-DD of the most recent do-next directive write
# Profile
expertise_areas:
- "general"
- ""
- ""
- ""
- ""
---
# LinkedIn Session State
## Recent Posts
<!-- Updated automatically by Stop hook -->
<!-- Format: [YYYY-MM-DD] "Hook text..." (chars) - topic_area -->
## Session Notes
<!-- Free-form notes from sessions -->
## Planned Content
<!-- Upcoming posts and topics -->
## Milestone Log
<!-- Updated when follower_count changes. Format: [YYYY-MM] count (+delta) -->
## First-Hour Plans
<!-- First-hour / reply-loop plans, newest first. Written by /linkedin:firsthour. -->
<!-- Format: ### [YYYY-MM-DD HH:MM] topic -->
## Outreach Pipeline
<!-- Outreach contacts / pipeline rows, newest first. Written by /linkedin:outreach. -->
<!-- Format: ### [YYYY-MM-DD HH:MM] partner — track -->
## Do-Next Directives
<!-- Measurement -> next action. Written by /linkedin:report, /linkedin:analyze, /linkedin:ab-test (Adopt) and the 48h post-feedback-monitor; read by the create surfaces at Step 0. -->
<!-- Format: - [YYYY-MM-DD] (source) directive - evidence: pointer -->
<!-- Lifetime: each source replaces its OWN rows on its next write; rows older than 60 days drop. Max 3 per write. -->