The setting group and its explanation — write the copy, in en and zh
A fourth group on the AI-planning settings surface, matching the three already there (aiPlanning.autoPlan, .sprint, .planner) — a title, a subtitle, and one toggle with an explanation under it.
The copy is the deliverable and the control is the easy part. Every other setting on this page describes something a reader already understands. This one describes a background process that watches their planning, draws conclusions, stores them, and applies them to later plans — none of which is guessable from a label. Cover five things, and the fourth is the one that gets dropped for being unflattering:
- What is captured — when the planner gets something wrong and corrects itself, it writes down the takeaway. Not work items, not code: the lesson.
- Where it goes — this project's own store. Not shared with other projects.
- What it does — later plans for this project are given the relevant ones, so the same mistake is less likely twice.
- What turning it off costs — no new lessons are recorded; the ones already there keep applying until retired.
- Where to look — the lessons list, so the setting and the thing it produces are one step apart.
Write it as sentences a person would say. No "leverages", no "AI-powered", no reassurance that replaces information. notes.html-style jargon — lesson, capture, corpus — is our vocabulary, not the reader's: say what happens.
Both catalogs. A setting whose whole value is its explanation, shipped with the explanation in one language, hands a Chinese-reading admin an unexplained switch over their own project's data.
Compose from the existing group's primitives; the toggle has precedent in the planner group's boolean.
Acceptance criteria
- A fourth group on the surface, following the existing groups' structure and primitives.
- The explanation covers all five points, in plain language, reviewed as copy rather than as a label.
- The copy agrees with the lessons surface's own wording where they touch — the two describe one mechanism.
- Keys under the existing
aiPlanning.*namespace, inenandzh; the catalog-parity gate passes. - The toggle reflects the stored value and writes through the existing sparse PATCH.
- A user without the permission cannot change it; the surface follows the server rather than re-deriving the rule.
- A "How to test" in the PR body — route, role precondition, and what to read and click.
Context refs
motir-coreapp/(authed)/settings/project/ai-planning/_components/AiPlanningSettingsEditor.tsx— the three groups,t('aiPlanning.…'), andexplanationsLabelas the boolean precedent.motir-coredesign/ai-settings/— the asset the group is drawn into.- MOTIR-3349 — the field it reads and writes.
- MOTIR-3329 — the list point 5 points at.