Skip to content

[32/33] fix(core): integrate stable namespaces and harden search and ingestion - #226

Draft
mmattbtw wants to merge 23 commits into
feature/obbpr-31-teal-identityfrom
feature/obbpr-32-review-hardening
Draft

mmattbtw wants to merge 23 commits into
feature/obbpr-31-teal-identityfrom
feature/obbpr-32-review-hardening

Conversation

@mmattbtw

@mmattbtw mmattbtw commented Sep 10, 2026

Copy link
Copy Markdown
Member

Integrate stable namespaces and harden search and ingestion. This groups the existing commits by chronology and the area they change.

Part 32 of 33 replacing #113. Review this PR against feature/obbpr-31-teal-identity. Merge the stack from oldest to newest. The original obbpr branch remains unchanged at d3cf209d6ab5ae6d3b2b7ac353b3dbb7d54fe133 for rollback.

Commits in this group:

Validation: checked the branch ancestry and confirmed that the final stack tree exactly matches obbpr. This split preserves existing commits and merge history; no source edits or new build/test runs. Intermediate snapshots have not been independently validated, so these PRs start as drafts. Historical main merges are preserved.

Stack navigation:

mmattbtw and others added 23 commits July 27, 2026 16:23
Move Teal lexicons to the stable fm.teal namespace and update generated type consumers, runtime routes, ingestion filters, examples, and validation paths to match.
URI1 replaces alpha-era URL and bare-domain fields with URI-named, URI-validated fields so generic Atmosphere tooling can recognize their values as links.
DID1 applies the dedicated DID format to profile view identity fields, replacing unconstrained text with the strongest matching Lexicon type.
HANDLE1 applies the dedicated handle format to mini profile views so clients can validate and interpret actor handles instead of receiving opaque text.
DID2 narrows authorDID parameters from DID-or-handle identifiers to DIDs, matching the field names and documented endpoint contracts.
RKEY1 applies the record-key format to getPlay rkeys so invalid AT Protocol record keys are rejected at the XRPC boundary.
CID1 applies the CID format to avatar and banner view fields, matching Cadet storage of their underlying IPLD blob-reference CIDs.
KNOWN1 adds open knownValues for common featured-item types, improving generated guidance without rejecting future MusicBrainz entity categories.
TIME1 describes datetime-formatted fields without naming one standard exclusively. ATProto datetime strings meet the intersecting requirements of RFC 3339, ISO 8601, and WHATWG HTML datetime.
IDENTDOC1 documents that at-identifier parameters accept either DIDs or handles and corrects getProfile copy that described an unrelated play lookup.
Keep legacy onboarding records readable while stable profile records are introduced, retain alpha Jetstream aliases for staggered client upgrades, and route historical alpha CAR records through stable ingestors.
Improve lexicon typing before publish
Preserve legacy onboarding and direct ingestion during the namespace rollout, while restoring stable Aqua endpoints and response fields.
Use the compatible Jacquard generator release and map generated URI fields at Aqua and Cadet boundaries.
refactor(lexicons): remove alpha namespace
# Conflicts:
#	apps/amethyst/app/(tabs)/(stamp)/stamp/submit.tsx
#	apps/amethyst/app/(tabs)/index.tsx
#	apps/amethyst/app/(tabs)/search/index.tsx
#	apps/amethyst/app/onboarding/index.tsx
#	apps/amethyst/components/actor/actorView.tsx
#	apps/amethyst/stores/authenticationSlice.tsx
#	apps/aqua/src/repos/actor_profile.rs
#	apps/aqua/src/repos/feed_play.rs
#	apps/aqua/src/repos/mod.rs
#	apps/aqua/src/repos/stats.rs
#	apps/aqua/src/xrpc/actor.rs
#	apps/aqua/src/xrpc/feed.rs
#	apps/aqua/src/xrpc/stats.rs
#	claude.md
#	claude.md~main
#	lexicons/fm.teal/stats/getUserTopRecordings.json
#	services/cadet/src/ingestors/car/car_import.rs
#	services/cadet/src/ingestors/teal/actor_profile.rs
#	services/cadet/src/ingestors/teal/actor_status.rs
#	services/cadet/src/ingestors/teal/feed_play.rs
#	services/cadet/src/main.rs
fix(core): harden search and ingestion paths
@coderabbitai

coderabbitai Bot commented Sep 10, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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