Improve onboarding documentation with quickstart guide and test agent credentials#137
Merged
Merged
Conversation
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
bokelley
added a commit
that referenced
this pull request
Mar 23, 2026
Replace the avatar URL text input with a file upload UI on the community profile edit page. Members can now upload JPEG/PNG photos (max 2MB) directly rather than needing to paste an external URL. - New avatar routes: upload, serve, and delete endpoints - Magic byte validation to prevent MIME spoofing - Rate limiting (10 uploads / 15 min) - Security headers (nosniff, Content-Disposition) - DB migration adds avatar_data BYTEA column with CHECK constraint Resolves Escalation #137 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
7 tasks
bokelley
added a commit
that referenced
this pull request
Mar 23, 2026
Connect the existing portrait system to community profiles instead of building a separate photo upload pipeline. When a portrait is approved, it automatically becomes the user's community avatar. When removed, the avatar is cleared (only if it pointed to a portrait). - Auto-sync avatar_url on portrait approve/remove (transactional) - Backfill migration for existing approved portraits - Mount portrait API routes (were defined but never wired up) - Replace avatar URL text input with portrait-aware display - Remove avatar_url from profile form submission Resolves Escalation #137 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
6 tasks
bokelley
added a commit
that referenced
this pull request
Mar 23, 2026
* feat: use member portraits as community profile avatars Connect the existing portrait system to community profiles instead of building a separate photo upload pipeline. When a portrait is approved, it automatically becomes the user's community avatar. When removed, the avatar is cleared (only if it pointed to a portrait). - Auto-sync avatar_url on portrait approve/remove (transactional) - Backfill migration for existing approved portraits - Mount portrait API routes (were defined but never wired up) - Replace avatar URL text input with portrait-aware display - Remove avatar_url from profile form submission Resolves Escalation #137 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: repair broken vitest tests and wire them into CI The server/tests/unit/ vitest suite was never included in `npm test` or the pre-commit hook — only Jest tests in tests/ ran. This let 8 test files drift out of sync with their source code across multiple PRs. Fixes: - training-agent: error shape changed to adcpError(), creative_id now required - dynamic-prompts: function became async, prompt titles changed - formats: mock constructor incompatible with Vitest 4.x - brandfetch-cache: industry→industries (singular to array) - email-notification: subject line and greeting format changed - member-context: section headings changed, removed Addie history section - thread-service: skip when no DATABASE_URL (integration test) - adagents-manager: replace vi.doMock with axios mock Adds `test:server-unit` script and includes it in the `test` pipeline so these tests run on every commit going forward. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: address code review and security review findings - Remove avatar_url from community profile API allowedFields (was still writable via direct API calls even though the form no longer sends it) - Add status='approved' filter to getPortraitData (rejected portraits were publicly accessible) - Check rowCount in approvePortrait before proceeding (mismatched portraitId/profileId silently set avatar_url) - Guard approve path against overwriting external avatars (only set avatar_url if null, empty, or already a portrait URL) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <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.
Summary
Significantly improves AdCP onboarding documentation based on user feedback from Slack. Addresses common confusion around authentication, testing, and getting started.
Changes
New Documentation
docs/quickstart.md: Comprehensive 5-minute quickstart guide with:Enhanced Documentation
docs/reference/authentication.md:docs/media-buy/advanced-topics/testing.md:docs/intro.md:docs/protocols/getting-started.md:docs/media-buy/task-reference/get_products.md:Test Agent Credentials
Agent URL:
https://test-agent.adcontextprotocol.orgMCP Token:
1v8tAhASaUYYp4odoQ1PnMpdqNaMiTrCRqYo9OJp6IQA2A Token:
L4UCklW_V_40eTdWuQYF6HD5GWeKkgV8U6xxK-jwNO8Problems Solved
✅ Users asking "how do we get a token?" → Test agent tokens provided in multiple locations
✅ Users confused about auth requirements → Clear lists of public vs auth-required operations
✅ Users getting "Invalid request parameters" → Troubleshooting section added
✅ Users not finding test resources → Testing platform linked prominently everywhere
✅ Credential acquisition unclear → Step-by-step process documented
Testing
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com