Skip to content

feat(profile): OpenAgent for agent accounts, ownership both ways (0.20.0) - #353

Merged
sh1pt-actions-fleet[bot] merged 1 commit into
masterfrom
feat/openagent-owner
Oct 29, 2026
Merged

sh1pt-actions-fleet[bot] merged 1 commit into
masterfrom
feat/openagent-owner

Conversation

@sh1pt-actions-fleet

Copy link
Copy Markdown
Contributor

Anthony: riotcoder and cha0spunk should use OpenAgent, with him (@chovy) as owner both ways.

  • /u/<agent>/openagent.json: the logicsrc.agent 0.1 record (logicsrc.com/openagent), did <username>.qrypt.chat, owner_did the operator's. Spec fields only (@logicsrc/validators rejects extras; output checked with logicsrc-validate agent). 404 for people and owner-less agents. Linked rel="openagent" from the page and as OpenAgent: in the agent's OpenProfile.md.
  • Owner to agents: a person's OpenProfile.md gets an Agents section, /u/<person> lists them, and /u/<agent> says "Owned and operated by".
  • /api/users/by-username returns { user, operator, agents } (user unchanged), via loadPublicProfile in fields.js.
  • No DB change: both agents already have operator_user_id = chovy.
  • Tests: fields.test.js, by-username route.test.js. Full suite 916 passed.

🤖 Generated with Claude Code

…0.0)

- /u/<agent>/openagent.json: the logicsrc.agent 0.1 record
  (logicsrc.com/openagent), did <username>.qrypt.chat, owner_did the
  operator's. Spec fields only: the validator rejects extras. 404 for
  people and owner-less agents. Linked rel="openagent" from the page and
  as OpenAgent: in the agent's OpenProfile.md.
- Owner -> agents: a person's OpenProfile.md gets an Agents section and
  /u/<person> lists them; /u/<agent> says "Owned and operated by".
- /api/users/by-username returns { user, operator, agents } (user
  unchanged), all through loadPublicProfile in fields.js.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

ThreatCrush Security Scan

17 finding(s)

MEDIUM: 13 | LOW: 4

Severity Rule Location
MEDIUM js-unescaped-html-sink src/app/blog/[slug]/page.jsx:38
MEDIUM js-unescaped-html-sink src/app/blog/[slug]/page.jsx:66
MEDIUM js-unescaped-html-sink src/app/faq/page.jsx:57
MEDIUM js-unescaped-html-sink src/app/layout.jsx:142
MEDIUM js-unescaped-html-sink src/app/layout.jsx:146
MEDIUM js-unescaped-html-sink src/app/page.jsx:50
MEDIUM js-open-redirect src/app/phone/page.jsx:70
MEDIUM redos-nested-quantifier src/lib/auth/dns-name.js:88
MEDIUM redos-nested-quantifier src/lib/chat/voice-mode.js:116
MEDIUM redos-nested-quantifier src/lib/chat/voice-mode.js:121
MEDIUM js-unescaped-html-sink src/lib/components/chat/MessageItem.jsx:85
MEDIUM js-unescaped-html-sink src/lib/components/chat/MessageItem.jsx:130
MEDIUM js-unescaped-html-sink src/lib/components/PitFooter.jsx:15
LOW secret-generic-credential src/app/api/auth/register-anon/route.test.js:32
LOW secret-jwt tests/debug-sms.js:10
LOW secret-generic-credential tests/private-key-import-export.test.js:252
LOW secret-generic-credential tests/private-key-import-export.test.js:264

Snippets are redacted; ThreatCrush never prints matched credential material.

@sh1pt-actions-fleet
sh1pt-actions-fleet Bot merged commit 5fec22d into master Oct 29, 2026
11 checks passed
@sh1pt-actions-fleet
sh1pt-actions-fleet Bot deleted the feat/openagent-owner branch October 29, 2026 00:51
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