Skip to content

Sense: ship Bluesky and Mastodon connectors#326

Merged
oratis merged 1 commit into
mainfrom
codex/sense-social-open-connectors
Jul 27, 2026
Merged

Sense: ship Bluesky and Mastodon connectors#326
oratis merged 1 commit into
mainfrom
codex/sense-social-open-connectors

Conversation

@oratis

@oratis oratis commented Jul 26, 2026

Copy link
Copy Markdown
Owner

What

  • add installable first-party LISA connector plugins and procedural Skills for Bluesky and Mastodon
  • link Bluesky through app-password session exchange and Mastodon through a verified user token
  • publish text, links, images, and video through official APIs with runtime validation and idempotency
  • add a private host media store with MIME sniffing, integrity hashes, and image metadata stripping
  • add the deterministic approved-draft runner, per-target receipts, structural audit, and pause switch
  • remove manifest-bound publish/disconnect tools from every model-visible toolset
  • add CLI install/connect/media commands and MCP stdio handshake coverage

Why

This is the first live connector slice after the host safety layer. It proves the Connector + Skill contract on an open network and a federated platform without letting the model acquire publish authority.

Impact

Users can install both connectors with lisa sense social install, link accounts in a secret-safe TTY, prepare posts in chat, approve the exact Sense snapshot, and publish through the hidden host runner. The connector account/token store and audit files are private (0600). This PR is stacked on #325.

Checks

  • npm run typecheck
  • npm test (1466 passed, 1 skipped)
  • real MCP stdio initialization/list-tools/close test
  • git diff --check

@oratis
oratis force-pushed the codex/sense-social-open-connectors branch from b251ca2 to 6fa45a0 Compare July 27, 2026 05:41
@oratis
oratis force-pushed the codex/sense-social-host branch from b9a2e10 to 8896bd3 Compare July 27, 2026 05:41
@oratis
oratis changed the base branch from codex/sense-social-host to main July 27, 2026 05:44
@oratis
oratis marked this pull request as ready for review July 27, 2026 05:44
@oratis
oratis merged commit 97ccf53 into main Jul 27, 2026
2 checks passed
@oratis

oratis commented Jul 27, 2026

Copy link
Copy Markdown
Owner Author

Post-merge review finding:

The Mastodon path forwards the host idempotency key, but publishBluesky() ignores it: it calls com.atproto.repo.createRecord without an rkey and generates a fresh createdAt on every attempt. A retry after an unknown outcome can therefore create a duplicate public post even though the MCP tool advertises idempotentHint: true.

I am addressing this in a dedicated follow-up by deriving a deterministic AT Protocol record key from the host idempotency key, using a stable approval timestamp, publishing through putRecord, and testing that repeated identical inputs target the same record with the same body.

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