Skip to content

feat(settings): owner AI suggester for intimacy topics (08 §16.5a)#88

Merged
bmarshall511 merged 5 commits into
mainfrom
feat/ai-intimacy-topics
Jun 26, 2026
Merged

feat(settings): owner AI suggester for intimacy topics (08 §16.5a)#88
bmarshall511 merged 5 commits into
mainfrom
feat/ai-intimacy-topics

Conversation

@bmarshall511

Copy link
Copy Markdown
Contributor

Adds a "Suggest with AI" affordance to the owner-only Intimacy Topics settings control — the last item of the 2026-06-26 batch.

Decisions (asked first)

  • Placement — in the existing owner control (not a separate panel).
  • Input — a subject box that falls back to a varied batch when blank.
  • Add flow — a pick-and-edit checklist ("tick + edit, then Add selected").

What it does

The owner optionally types a subject; one metered intimacy.suggestTopics pass proposes consensual-adult activity + fantasy topics, deduped against the existing inventory. It persists nothing — the owner reviews them in a checklist (each ticked + editable), and the existing add path commits the chosen ones.

Safety / trust

  • Owner-only (people.manage); a member never sees it.
  • The consensual-adult boundary is in the prompt + the model (never a keyword filter).
  • AI-off is a calm state (no dead button); budget-gated; meter-before-parse; tolerant JSON + honest failures.

Verification

  • typecheck (all) + lint clean; 938 core + 854 desktop unit (4 core suggester · 6 control RTL incl. the EMPTY surface + non-owner-hidden · a coreBridge test: owner deduped / member denied / AI-off calm).
  • E2E: Settings → Suggest with AI → the checklist (a built-in deduped out) → uncheck one → Add selected → persisted across both kinds.
  • Visual QA (real Electron screenshot): the subject box + pick-and-edit checklist + "Add selected (3)" read clean and cohesive with Settings.

🤖 Generated with Claude Code

bmarshall511 and others added 5 commits June 26, 2026 14:59
An owner-only suggester: optionally type a subject (blank → a varied spread) and the
model proposes consensual-adult activity + fantasy topics, deduped case-insensitively
against the existing inventory. Persists nothing — the owner reviews + adds the chosen
ones via the existing add path. One metered intimacy.suggestTopics pass (meter before
parse, tolerant parse, honest failures); the consensual-adult boundary is in the prompt
+ the model. 4 core tests (dedup/meter/ground, no-subject, NO_KEY, EMPTY).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…list UI (08 §16.5a)

Wires the suggester end-to-end and adds it to the existing owner-only Intimacy Topics
control: a subject box (blank -> a varied mix) + "Suggest with AI" -> a pick-and-edit
checklist (every suggestion ticked + editable) -> "Add selected" commits the chosen ones
via the existing add path. Owner-only (people.manage), AI-off is calm, deduped against
the inventory. IPC questionnaires:suggestIntimacyTopics + the offline fake-Claude branch.

6 IntimacyTopicsControl RTL (suggest/pick/edit/add + the no-leak EMPTY + non-owner hidden)
+ a coreBridge test (owner deduped suggestions, member denied, AI-off calm).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
….5a)

Extends the Settings intimacy-topics E2E: Suggest with AI -> the checklist shows fresh
suggestions (a built-in 'Sensual massage' is deduped out) -> uncheck one -> Add selected
-> the picked topics persist across both kinds, the unchecked one does not.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@bmarshall511 bmarshall511 merged commit 2f7896f into main Jun 26, 2026
1 check passed
@bmarshall511 bmarshall511 deleted the feat/ai-intimacy-topics branch June 26, 2026 20:16
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