Followers lists, an afterFollow hook, and handing every follow to OutreachGraph - #67
Merged
Merged
Conversation
…raph Network adapters gain `followers` (Bluesky getFollowers, Mastodon and its relatives /accounts/:id/followers, Misskey users/followers). The graph can read either list: `graph.expand` is following (default), followers or both, `myna graph expand --followers` for one read, and a pasted `/followers` page or `--followers` on `myna follow` copies that list at the graph's pace. A follower of a seed scores `graph.followerWeight` (0.5) of a follow, so who seeds follow still outranks who follows seeds. `myna followers <account> [handle]` lists the other direction. Plugins gain `afterFollow(event, ctx)`, fired from `myna follow`, a pasted list, `myna graph follow` and the daemon alike, with what the adapter knew about the person, a source (manual, list, graph), the seed they came through, and the command's flags. The bundled OutreachGraph plugin uses it: with `--outreachgraph` on the command, or `graph.outreachgraph` on, each person followed goes to OutreachGraph's /people/from-social for assessment and an OpenProfile.md. `myna outreachgraph push <account> [--followers]` hands over who an account already follows, in pages of 100. The plugin context gains `graph.following` and `graph.followers` so a plugin can read a list itself. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S7yeJUHGxA4P5N74xnsRPQ
ralyodio
marked this pull request as ready for review
September 13, 2026 01:09
ralyodio
added a commit
that referenced
this pull request
Sep 13, 2026
Followers lists, the afterFollow hook and the OutreachGraph hand-over (#67); hand-off cards here and at mynaposter.com/handoff/<id> (#68). Claude-Session: https://claude.ai/code/session_01S7yeJUHGxA4P5N74xnsRPQ Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Network.followerson Bluesky, Mastodon (+ relatives) and Misskey.graph.expand=following|followers|both;myna graph expand --followers; a pasted/followerspage or--followersonmyna follow;myna followers <account> [handle]. A follower of a seed scoresgraph.followerWeight(0.5) of a follow.afterFollowplugin hook, fired from every follow path with the person's profile,source(manual/list/graph),via(seed or list) and the command's flags.ctx.graph.following/ctx.graph.followerslet a plugin read a list. Follows are never undone by a hook.myna follow ... --outreachgraph,myna graph follow --outreachgraph, ormyna config graph.outreachgraph true(daemon included) posts each person followed to OutreachGraph'sPOST /api/v1/people/from-social(Social intake and OpenProfile.md per person outreachgraph#72) for assessment and an OpenProfile.md.myna outreachgraph push <account> [handle] [--followers] [--limit N]hands over who an account already follows, paged by 100,--dry-runsupported.Why
Anthony, 2026-09-13: "can myna integrate with outreach cli ... and populate people we follow, follow their followers and scrape with opengraph and generate an openprofile on outreachgraph.com" and "add an --outreachgraph flag or something to queue for assessment by outreachgraph.com where it finds the proper offer to outreach him once we have his contact info."
The graph's default stays following, per the 2026-09-05 rule that followers are the noisier list; followers are opt-in and weighted down.
Tests
bun run test: 495 pass across 65 files (new:packages/core/test/followers.test.ts,packages/plugin-outreachgraph/test/push.test.ts);tsc --noEmitclean.Not verified live: a real
followersread on Bluesky/Mastodon/Misskey, and a real push against outreachgraph.com (the route ships in the OutreachGraph PR above and is not deployed yet). Both use the same public endpoints and session path as the existingfollowingread and plugin login.🤖 Generated with Claude Code
https://claude.ai/code/session_01S7yeJUHGxA4P5N74xnsRPQ