Skip to content

feat(analytics): define social strategy ingestion - #294

Merged
egdev6 merged 1 commit into
developfrom
feat/social-strategy-ingestion
Jul 23, 2026
Merged

egdev6 merged 1 commit into
developfrom
feat/social-strategy-ingestion

Conversation

@egdev6

@egdev6 egdev6 commented Jul 23, 2026

Copy link
Copy Markdown
Owner

Closes #204

Summary

  • Defines a fake-first social strategy analytics/trends ingestion contract.
  • Adds sanitized LinkedIn/X normalized snapshots and trend signal fixtures.
  • Hardens validation around source approval, fake/live safety, timestamps, metric ranges, provenance, and planner skill consumption.

Changes

File Change
docs/operations/social-strategy-analytics-trends-ingestion.md Documents source classifications, normalized snapshot/trend schema, safety flags, enum values, metric rules, and non-goals.
examples/social-strategy-analytics-trends-ingestion.fake.yaml Adds safe fake LinkedIn/X analytics snapshots and trend signals.
scripts/validate-social-strategy-analytics-trends-ingestion.sh Adds fail-closed structural validator with duplicate-key, unsafe-pattern, strict timestamp, source approval, metric, provenance, and skill contract checks.
skills/strategy-planner/SKILL.md Adds sanitized normalized_snapshots and trend_signals consumption rules.
skills/linkedin-weekly-planner/SKILL.md Adds LinkedIn-scoped sanitized analytics/trend planning inputs.
skills/x-queue-planner/SKILL.md Adds X-scoped sanitized analytics/trend planning inputs.

Test Plan

  • bash -n scripts/validate-social-strategy-analytics-trends-ingestion.sh
  • scripts/validate-social-strategy-analytics-trends-ingestion.sh
  • bash scripts/validate-repo-safe-evidence.sh
  • scripts/validate-linkedin-analytics-snapshot.sh
  • scripts/validate-x-analytics-snapshot.sh
  • scripts/validate-content-ideation-source-ingestion.sh
  • git diff --check
  • Manual semantic smoke test for strategy, LinkedIn weekly, and X queue planner shapes.
  • Negative mutants rejected for raw payload unknown keys, source approval drift, timestamp shape, provider snapshots, and contradictory live-ingestion claims.
  • shellcheck scripts/*.sh — not run; shellcheck is not installed in this environment.

Contributor Checklist

  • Linked an approved issue
  • Added exactly one type:* label
  • Ran shellcheck on modified scripts — unavailable locally
  • Skills tested in at least one agent/manual smoke
  • Docs updated if behavior changed
  • Conventional commit format
  • No Co-Authored-By trailers

@egdev6
egdev6 merged commit 7c8909d into develop Jul 23, 2026
4 checks passed
@egdev6
egdev6 deleted the feat/social-strategy-ingestion branch July 23, 2026 11:37
egdev6 added a commit that referenced this pull request Jul 24, 2026
* ci: harden stable merge checks (#165)

* ci: harden stable merge checks

* ci: format evidence guard script

* docs(repo): align templates for release readiness (#164)

* feat(runtime): package Gentle-AI for OpenClaw (#167)

* feat(runtime): package Gentle-AI for OpenClaw

* ci: satisfy Dockerfile lint for Gentle-AI install

* fix(runtime): package Engram CLI for OpenClaw MCP (#169)

* docs(runtime): document OpenAI OAuth setup (#171)

* docs(discord): add OpenClaw Global channel guides (#172)

* feat(discord): add safe project delete contract (#173)

* docs(ci): align workflow trigger docs (#178)

* test(runtime): document OpenClaw Gentle orchestration validation (#179)

* refactor(runtime): curate OpenClaw skill surface (#180)

* refactor(runtime): curate OpenClaw skill surface

* fix(runtime): satisfy shellcheck for skill sync pruning

* ci(release): automate changesets and tagging (#184)

* ci(release): automate changesets and tagging

* style(release): format release automation scripts

* docs(runtime): define governance foundation (#215)

* docs(runtime): define artifact classification and private data policy

* docs(runtime): clarify artifact classification validation

* test(runtime): cover workflow skill classification

* feat(runtime): classify Discord request artifacts (#216)

* feat(runtime): resolve context and audit durable changes (#217)

* feat(runtime): define private runtime backup restore (#218)

* chore(runtime): pin validated runtime versions (#219)

* test(runtime): add private Discord Engram evidence contract (#220)

* test(runtime): cover approval gate lifecycle (#221)

* test(runtime): add private Discord Engram readiness gate (#222)

* test(runtime): design private Discord Engram no-op observation (#223)

* test(runtime): define approval enforcement repair contract (#224)

* test(runtime): sync private Discord Engram readiness gate (#225)

* test(runtime): record private Discord Engram live preflight (#226)

* test(runtime): record private Discord Engram live preflight

* test(runtime): clarify live preflight approval blocker

* test(runtime): fix live preflight shell lint

* feat(runtime): add Discord approval guard CLI (#229)

* test(runtime): prove synthetic Discord no-op observation (#230)

* test(runtime): prove synthetic Discord no-op observation

* test(runtime): reject token-like no-op inputs

* test(runtime): fix noop shell lint

* test(runtime): format noop validator

* test(runtime): add Discord runtime boundary harness (#232)

* test(runtime): add Discord runtime boundary harness

* test(runtime): harden boundary harness checks

* test(runtime): cover noop memory write boundary

* test(runtime): fix boundary harness shell lint

* test(runtime): prepare private no-op rehearsal evidence (#234)

* test(runtime): prepare private no-op rehearsal evidence

* test(runtime): enforce rehearsal safety gates

* test(runtime): fix rehearsal shell lint

* docs(release): record private noop verification (#236)

* docs(release): record private noop verification

* docs(runtime): clarify noop rehearsal result

* docs(runtime): align noop rehearsal guide

* docs(release): fix issue reference lint

* chore(ci): retrigger release note checks

* docs(release): clarify QA-07 gate status (#237)

* docs(release): finalize v0.2.0 notes (#238)

* docs(skills): add release roadmap hygiene workflow (#243)

* feat(skills): define OpenClaw skill development handoff (#244)

* feat(discord): add general advisor contract (#245)

* feat(discord): define admin UX contract (#247)

* test(discord): add admin UX preview harness (#249)

* test(discord): add admin UX preview harness

* fix(docs): satisfy admin harness markdown lint

* test(runtime): add private write readback preflight gate (#253)

* test(runtime): prove approval enforcement boundary (#255)

* test(runtime): prove noop observation boundary (#257)

* test(runtime): sync write readback readiness proofs (#259)

* test(runtime): prove proposal binding boundary (#261)

* test(runtime): prepare private topology readiness packet (#263)

* test(runtime): prepare private topology readiness packet

* style(scripts): format topology readiness validator

* chore(ci): trigger topology readiness checks

* test(runtime): prepare redacted noop ingestion packet (#265)

* test(runtime): prepare private execution approval packet (#267)

* test(runtime): prepare noop ingestion review packet (#269)

* test(runtime): add noop ingestion review harness (#271)

* test(runtime): sync noop ingestion harness readiness (#273)

* test(runtime): prepare private noop runbook gate (#275)

* test(runtime): sync private noop runbook readiness (#277)

* test(runtime): prepare private no-op execution result packet (#279)

* test(runtime): prepare private noop result packet

* fix(ci): format noop result validator

* chore(runtime): update Gentle-AI baseline to 2.1.11 (#282)

* chore(runtime): update Engram baseline to v1.20.0 (#284)

* chore(release): sync v0.4.0 release state back to develop (#287)

* chore(release): promote v0.2.0 runtime governance baseline (#241)

* chore(release): promote v0.3.0 Discord admin baseline (#251)

* docs(release): prepare v0.4.0 notes (#285)

* ci: harden stable merge checks (#165)

* ci: harden stable merge checks

* ci: format evidence guard script

* docs(repo): align templates for release readiness (#164)

* feat(runtime): package Gentle-AI for OpenClaw (#167)

* feat(runtime): package Gentle-AI for OpenClaw

* ci: satisfy Dockerfile lint for Gentle-AI install

* fix(runtime): package Engram CLI for OpenClaw MCP (#169)

* docs(runtime): document OpenAI OAuth setup (#171)

* docs(discord): add OpenClaw Global channel guides (#172)

* feat(discord): add safe project delete contract (#173)

* docs(ci): align workflow trigger docs (#178)

* test(runtime): document OpenClaw Gentle orchestration validation (#179)

* refactor(runtime): curate OpenClaw skill surface (#180)

* refactor(runtime): curate OpenClaw skill surface

* fix(runtime): satisfy shellcheck for skill sync pruning

* ci(release): automate changesets and tagging (#184)

* ci(release): automate changesets and tagging

* style(release): format release automation scripts

* docs(runtime): define governance foundation (#215)

* docs(runtime): define artifact classification and private data policy

* docs(runtime): clarify artifact classification validation

* test(runtime): cover workflow skill classification

* feat(runtime): classify Discord request artifacts (#216)

* feat(runtime): resolve context and audit durable changes (#217)

* feat(runtime): define private runtime backup restore (#218)

* chore(runtime): pin validated runtime versions (#219)

* test(runtime): add private Discord Engram evidence contract (#220)

* test(runtime): cover approval gate lifecycle (#221)

* test(runtime): add private Discord Engram readiness gate (#222)

* test(runtime): design private Discord Engram no-op observation (#223)

* test(runtime): define approval enforcement repair contract (#224)

* test(runtime): sync private Discord Engram readiness gate (#225)

* test(runtime): record private Discord Engram live preflight (#226)

* test(runtime): record private Discord Engram live preflight

* test(runtime): clarify live preflight approval blocker

* test(runtime): fix live preflight shell lint

* feat(runtime): add Discord approval guard CLI (#229)

* test(runtime): prove synthetic Discord no-op observation (#230)

* test(runtime): prove synthetic Discord no-op observation

* test(runtime): reject token-like no-op inputs

* test(runtime): fix noop shell lint

* test(runtime): format noop validator

* test(runtime): add Discord runtime boundary harness (#232)

* test(runtime): add Discord runtime boundary harness

* test(runtime): harden boundary harness checks

* test(runtime): cover noop memory write boundary

* test(runtime): fix boundary harness shell lint

* test(runtime): prepare private no-op rehearsal evidence (#234)

* test(runtime): prepare private no-op rehearsal evidence

* test(runtime): enforce rehearsal safety gates

* test(runtime): fix rehearsal shell lint

* docs(release): record private noop verification (#236)

* docs(release): record private noop verification

* docs(runtime): clarify noop rehearsal result

* docs(runtime): align noop rehearsal guide

* docs(release): fix issue reference lint

* chore(ci): retrigger release note checks

* docs(release): clarify QA-07 gate status (#237)

* docs(release): finalize v0.2.0 notes (#238)

* docs(skills): add release roadmap hygiene workflow (#243)

* feat(skills): define OpenClaw skill development handoff (#244)

* feat(discord): add general advisor contract (#245)

* feat(discord): define admin UX contract (#247)

* test(discord): add admin UX preview harness (#249)

* test(discord): add admin UX preview harness

* fix(docs): satisfy admin harness markdown lint

* test(runtime): add private write readback preflight gate (#253)

* test(runtime): prove approval enforcement boundary (#255)

* test(runtime): prove noop observation boundary (#257)

* test(runtime): sync write readback readiness proofs (#259)

* test(runtime): prove proposal binding boundary (#261)

* test(runtime): prepare private topology readiness packet (#263)

* test(runtime): prepare private topology readiness packet

* style(scripts): format topology readiness validator

* chore(ci): trigger topology readiness checks

* test(runtime): prepare redacted noop ingestion packet (#265)

* test(runtime): prepare private execution approval packet (#267)

* test(runtime): prepare noop ingestion review packet (#269)

* test(runtime): add noop ingestion review harness (#271)

* test(runtime): sync noop ingestion harness readiness (#273)

* test(runtime): prepare private noop runbook gate (#275)

* test(runtime): sync private noop runbook readiness (#277)

* test(runtime): prepare private no-op execution result packet (#279)

* test(runtime): prepare private noop result packet

* fix(ci): format noop result validator

* chore(runtime): update Gentle-AI baseline to 2.1.11 (#282)

* chore(runtime): update Engram baseline to v1.20.0 (#284)

* docs(release): prepare v0.4.0 notes

* fix(release): avoid shellcheck warning in changeset template

* ci: ignore merge commits in commitlint ranges

* feat(discord): preserve user response language (#290)

* feat(discord): expand general advisor usage coach (#291)

* docs(openclaw): map runtime capability inventory (#292)

* feat(content): add source ingestion contract (#293)

* feat(content): add source ingestion contract

* style(scripts): format content ingestion validator

* style(fixtures): format content ingestion fixture

* feat(analytics): define social strategy ingestion (#294)

* docs(publishing): evaluate social connector options (#295)

* docs(release): prepare v0.5.0 notes

* fix(release): redact documented secret names

* fix(discord): localize approval proposals
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant