feat(linkedin-studio): research-engine config layer — sources + scoring modes + MCP profile (§5 slice 2a) [skip-docs]
Declaration/config groundwork that slice 2b's trend-spotter upgrade reads.
Standalone (no agent wiring yet — that's 2b), mirroring slice 1's pattern;
[skip-docs] for the same reason slice 1 was — user-facing docs land when 2b
wires the engine live.
- references/trend-scoring-modes.md: methodology SSOT for two rubrics —
kortform (feed post, timing 20%) + long-form (chronicle, depth 25% / timing 10%,
per tema-research-motor-spec §4.2). Both sum to 100%. trend-spotter renders from
this in 2b instead of inlining a matrix (S12-consistent).
- config/trends-sources.template.md: shipped generic source-list defaults →
user override at ${LINKEDIN_STUDIO_DATA}/trends/sources.md (data-dir, survives
reinstall; same template->data-dir pattern as user-profile).
- user-profile.template.md: new "Research Tooling" section — declared research MCPs
(Tavily/Gemini/Perplexity/Other) + WebSearch/WebFetch floor. 2b routes MCP-first.
- setup.md Step 3f + onboarding.md Phase 2: ask "which research MCPs?" -> profile.
Store only what the user declares; no hard-coded MCP names.
- test-runner.sh: EXPECT_REFS 26->27; generalized the M0 +1 delta-guard into a
named-post-M0-additions guard (POSTM0_REFS) so a legit later ref doc passes while
the anti-masking intent holds. Gate green 84/0/0.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RBMKqPSVbvSZHtQ4heM1UY
This commit is contained in:
parent
be21788321
commit
b89868e3b1
6 changed files with 225 additions and 11 deletions
|
|
@ -116,6 +116,27 @@ cp config/user-profile.template.md config/user-profile.local.md
|
|||
|
||||
---
|
||||
|
||||
### Research Tooling
|
||||
|
||||
**Which research MCPs do you have available?** The trend / research engine routes to a
|
||||
declared MCP **first** and falls back to the always-available floor when none is declared.
|
||||
Check what you actually have connected — leave the rest unchecked. (Names are examples;
|
||||
add whatever you have under "Other" — nothing here is hard-coded downstream.)
|
||||
|
||||
- [ ] Tavily (`tavily_search` / `tavily_research`)
|
||||
- [ ] Gemini deep research (`gemini_deep_research`)
|
||||
- [ ] Perplexity
|
||||
- [ ] Other: [name the MCP + what it's good for]
|
||||
|
||||
**Always-available floor (no MCP needed):** WebSearch + WebFetch. These are used when no
|
||||
research MCP is declared above. (Note: WebSearch is US-biased — a research MCP gives
|
||||
better coverage for non-US / regional sources.)
|
||||
|
||||
**Preferred order (optional):** [e.g. "Tavily for niche/regional, Gemini for deep dives,
|
||||
WebSearch as fallback" — or leave blank to let the engine pick]
|
||||
|
||||
---
|
||||
|
||||
### Asset Utilization Preferences
|
||||
|
||||
**When creating content, Claude should:**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue