feat(linkedin-studio): S16 — optional manual saves in analytics + close deferred onboarding Write MAJOR
Lifts the original v4.0.0 Non-Goal: an optional, manually-entered `saves`
metric through the analytics layer, built location-agnostic (option c) so
UI-brief §9b/M0 relocates the data dir in one place later.
- types: PostMetrics.saves? + Weekly/Monthly summary.totalSaves? (optional);
new RankableMetric type for the always-numeric index-access whitelist
- parser: dedicated parseOptionalCount() — blank/non-numeric/negative -> undefined
("unknown != 0"), genuine 0 kept; saves NOT folded into engagementRate
- reports: totalSaves set only when >=1 post carries saves (backward-compat)
- cli: saves surfaced in import summary + weekly/monthly totals + per-post
- S16-pre: onboarding.md allowed-tools gains Write (closes S15-deferred MAJOR)
- docs (three-doc rule): plugin README boundary + analytics README + root README
+ plugin CLAUDE.md + CHANGELOG; dwell stays explicitly unmeasurable
Independent /trekreview: brief-conformance 0 findings; code-correctness 2 MAJOR
(own lockstep misses) FIXED in-session (parseOptionalCount + edge tests). Gate:
tsc clean, analytics 116/116, lint 74/0/0, hooks 98/98. Within-v4.1.0 refinement
(no surface/count/version change).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
8c52bdb2e4
commit
55c94ee964
18 changed files with 417 additions and 118 deletions
3
plugins/linkedin-studio/scripts/analytics/tests/fixtures/saves-edge-export.csv
vendored
Normal file
3
plugins/linkedin-studio/scripts/analytics/tests/fixtures/saves-edge-export.csv
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
"Content","Date","Impressions","Reactions","Comments","Shares","Clicks","Saves"
|
||||
"Explicit zero saves — a real reading of zero, must stay 0 not undefined...",2026-02-12,4000,80,25,10,150,0
|
||||
"Non-numeric saves cell — the user jotted a note, not a count; stays unknown...",2026-02-11,3500,70,22,9,130,n/a
|
||||
|
3
plugins/linkedin-studio/scripts/analytics/tests/fixtures/saves-export.csv
vendored
Normal file
3
plugins/linkedin-studio/scripts/analytics/tests/fixtures/saves-export.csv
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
"Content","Date","Impressions","Reactions","Comments","Shares","Clicks","Saves"
|
||||
"A save-worthy framework post the user augmented with the native saves count...",2026-02-10,5000,100,30,15,200,42
|
||||
"A post where the user left the Saves cell blank — unknown, not zero...",2026-02-09,3000,60,20,8,120,
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue