Skip to content

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

Merged
egdev6 merged 1 commit into
developfrom
research/social-publishing-connectors
Jul 23, 2026
Merged

egdev6 merged 1 commit into
developfrom
research/social-publishing-connectors

Conversation

@egdev6

@egdev6 egdev6 commented Jul 23, 2026

Copy link
Copy Markdown
Owner

Closes #203

Summary

  • Evaluates social publishing connector options for Buffer, direct LinkedIn/X APIs, browser-assisted/manual publishing, community plugin, and custom OpenClaw plugin paths.
  • Defines fake-first approval separation for draft, schedule, and publish actions.
  • Adds validation for credential handling, blocked publish-before-approval behavior, and content-ledger updates after fake provider success only.

Changes

File Change
docs/research/social-publishing-connectors.md Adds connector options matrix, approval model, credential rotation, ledger update semantics, and non-goals.
examples/social-publishing-connectors.fake.yaml Adds fake connector options and approval/ledger scenarios.
scripts/validate-social-publishing-connectors.sh Adds fail-closed validation for fixture shape, safety flags, connector ratings, approval separation, fake receipts, and ledger transitions.
docs/security/data-handling.md Adds social publishing credential/session handling guidance.

Test Plan

  • bash -n scripts/validate-social-publishing-connectors.sh
  • bash scripts/validate-social-publishing-connectors.sh
  • bash scripts/validate-discord-approval-gate.sh
  • bash scripts/validate-content-ledger-utility-flow.sh
  • bash scripts/validate-repo-safe-evidence.sh
  • npx --yes yaml-lint examples/social-publishing-connectors.fake.yaml
  • git diff --check
  • Negative mutant rejected for unsafe ledger provider receipt refs.
  • 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
  • Docs updated if behavior changed
  • Conventional commit format
  • No Co-Authored-By trailers

@egdev6 egdev6 added the type:research Research or validation work label Jul 23, 2026
@egdev6
egdev6 merged commit 417f4b5 into develop Jul 23, 2026
4 checks passed
@egdev6
egdev6 deleted the research/social-publishing-connectors branch July 23, 2026 13:27
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

type:research Research or validation work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant