Commit Graph

5 Commits

Author SHA1 Message Date
9976f38a0b docs(CLAUDE.md): paging appends — exclude before ranking, never re-look-up
Records the v0.6.0 invariants as a house rule: 36/page, exclude already-shown
names before ranking (a new seed alone reshuffles the same pool), appends reuse
the current runId and look up only new domains.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XStQKxPfEjrTvWo83KFCxG
2026-08-17 00:15:52 -05:00
575feb7bdd refactor: split Finder into NameCard/Wishlist/AiControls + useOtmSession/useWishlist hooks + availability-client (v0.4.1)
Pure code motion; Finder.tsx 754 → 347 lines. No behavior change.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XStQKxPfEjrTvWo83KFCxG
2026-08-16 22:28:46 -05:00
c307a75880 feat: platform AI names behind Sign in with OTM (v0.3.0)
- OTM SSO: /api/auth/otm-sso verifies the control-plane ticket (vendored
  verifier), in-memory jti claim, mints an HMAC cookie (src/lib/session.ts);
  /api/auth/session + /api/auth/signout. No accounts, no DB.
- /api/ai-names: server-side call to the platform's metered gateway
  (ANTHROPIC_BASE_URL + per-app gateway token), 401 without a session,
  ~20 req/h per OTM account. Prompt/parser shared with the BYO-key path
  via src/lib/ai-prompt.ts.
- Finder: 'Sign in with OTM for AI names' link → 'AI names' toggle when
  signed in; own key still overrides.

Pairs with platform 0.116.0 (needsAnthropic + needsAuthSecret on names).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XStQKxPfEjrTvWo83KFCxG
2026-08-16 18:27:38 -05:00
c7d6812466 feat: saved-names wishlist (#1); style the shared feedback chat-pop with Tailwind (#2)
- ☆ on every card saves it to a browser-only shortlist (localStorage
  names.wishlist, cap 60) shown as a Saved panel with snapshotted
  statuses, Re-check and Copy list.
- SuggestionLightbulb from @otm/account-panel is Tailwind-styled and
  names had no Tailwind, so it rendered as a bare button. Added Tailwind
  (preflight off, dark class pinned), scoped element CSS to .wrap and
  mounted the widget outside it.
- v0.2.0

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XStQKxPfEjrTvWo83KFCxG
2026-08-16 18:14:40 -05:00
9489ce5708 docs: add CLAUDE.md — deploy procedure and the guards that must not be relaxed
Captures what isn't derivable from the code: build_app times out at the MCP
layer while continuing to build (poll for the image, don't retry), the app
doesn't exist to build_app until platform CI goes green, and the three
generator guards (prefix-only hint matching, -er-only syncopation, truncation
rejection) each exist because of specific bad output.

Also records why lookups must not route through rdap.org: its redirector
returns a bare 404 both for "unregistered" and "I don't serve this TLD", which
would report every .io as available.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JChWdFJPCRxMBxErb8kUVK
2026-08-10 22:58:54 -05:00