Serve an OpenAccess descriptor - #69
Merged
Merged
Conversation
Lists OutreachGraph on OpenAccess hubs (openaccess.logicsrc.com) so people can link it with OAuth 2.1 + PKCE and it honours the shared profullstack.com/all-access entitlement. The Ed25519 public key here is the app's credential for reporting sales; the private half is in the logicsrc teams vault openaccess-app-keys--prod. Scopes are empty for now: the reserved openid, email and entitlements scopes need no listing. Spec: https://logicsrc.com/openaccess Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SWRffW4ifQPUrGXJtgYWMd
ralyodio
added a commit
that referenced
this pull request
Sep 13, 2026
…71) A crawl of a site that names no person recorded the company and its support@ address and then stopped: a recommendation only ever hangs off a person, so a family-run store with one shared mailbox ended as a company row and an empty queue. Vendor sites forwarded for outreach are usually exactly this shape (instantpeptides.com was the one that surfaced it, issue #70). The crawl now queues the inbox itself as a lead of a new kind, `company_inbox`, when and only when the page named nobody. It walks the same chain as a named person: site identity at 0.9 confidence, a signal that cites the published address and the company's own description, scoring, a `send_email` card, the policy engine and the approval queue. Nothing about the address changes hands: no email identity is written, so `pickEmailRecipient` still resolves the company inbox as shared and every shared-inbox limit applies as before. Where the row being an inbox rather than a person matters, the kind is read: `isLikelyRoleAccount` is bypassed for this one deliberate, typed row (scraped role words are still rejected); the composer writes to "the <company> team" about what the site says instead of greeting a first name and quoting nobody; `proposeAddresses` and the photo sweep leave it alone; the approval card labels it "Company inbox". Migration 0034 adds `people.kind` (default `person`). Also formats the OpenAccess descriptor that has had `main`'s format check red since #69. Claude-Session: https://claude.ai/code/session_01W7ec4VgoKNWeoESuvtKK3i 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.
Adds
apps/web/public/.well-known/openaccess.jsonso outreachgraph.com is listed on openaccess.logicsrc.com, can be linked with OAuth 2.1 + PKCE, and honours the sharedprofullstack.com/all-accessentitlement. Static file only; no runtime change. The private key is vaulted in logicsrc teamsopenaccess-app-keys--prod.Spec: https://logicsrc.com/openaccess
🤖 Generated with Claude Code
https://claude.ai/code/session_01SWRffW4ifQPUrGXJtgYWMd