docs: capitalize Persona/Personas for the product feature in review docs

Feature-word 'persona'/'personas' now reads 'Persona'/'Personas' (capital P)
across the current review checkpoint docs, matching the UI terminology. Code
identifiers, API paths, and schema fields stay lowercase.
This commit is contained in:
Macky
2026-08-25 20:37:54 +07:00
parent 6a2e6a326f
commit fde094e233
3 changed files with 11 additions and 11 deletions

View File

@@ -12,16 +12,16 @@
EasyPanel env. EasyPanel env.
## What this is ## What this is
Corporate multi-user **sales-training simulator**: admins create persona groups from a Corporate multi-user **sales-training simulator**: admins create Persona groups from a
product/service/idea (โฟกัส "สินค้า/บริการ/ไอเดีย"), app auto-generates **15 customer personas** product/service/idea (โฟกัส "สินค้า/บริการ/ไอเดีย"), app auto-generates **15 customer Personas**
(5/tier A/B/C) via LLM; trainees pick a **scenario (social / พบหน้า)**, chat 1:1 one-shot to close a (5/tier A/B/C) via LLM; trainees pick a **scenario (social / พบหน้า)**, chat 1:1 one-shot to close a
sale; a **per-turn + final judge LLM** evaluates feelings and scores/coaches. Vue SPA + Flask API + sale; a **per-turn + final judge LLM** evaluates feelings and scores/coaches. Vue SPA + Flask API +
filesystem JSON storage (no SQL). i18n TH/EN. No self-registration (admin provisions). filesystem JSON storage (no SQL). i18n TH/EN. No self-registration (admin provisions).
## Roles ## Roles
- **super_admin** (bootstrap `admin`) — full recipe (secret persona fields) + tenant admin. - **super_admin** (bootstrap `admin`) — full recipe (secret Persona fields) + tenant admin.
- **admin** — manages groups/users, sees personas with **secret fields stripped** (IP protection). - **admin** — manages groups/users, sees Personas with **secret fields stripped** (IP protection).
- **user** (trainee) — trains against personas, own board. - **user** (trainee) — trains against Personas, own board.
## 2026-08-25 review checkpoint — exact-current local code gate passed 8/8 ## 2026-08-25 review checkpoint — exact-current local code gate passed 8/8
> All eight independent review scopes now have complete five-key passes with > All eight independent review scopes now have complete five-key passes with

View File

@@ -8,7 +8,7 @@ Move the regular-user journey to:
while preserving the admin flow, restricting demo users, enforcing tenant/owner while preserving the admin flow, restricting demo users, enforcing tenant/owner
boundaries, allowing safe retry of `draft`/`failed` products, and preventing boundaries, allowing safe retry of `draft`/`failed` products, and preventing
persona/credential leakage. Persona/credential leakage.
## Remediation recorded ## Remediation recorded
@@ -21,18 +21,18 @@ persona/credential leakage.
API responses use `is_owned` rather than exposing `owner_user_id`/`creator_id`. API responses use `is_owned` rather than exposing `owner_user_id`/`creator_id`.
- Protected routes require both completed setup (`must_setup is False`) and - Protected routes require both completed setup (`must_setup is False`) and
explicit Terms consent (`accepted_terms is True`); missing markers fail closed. explicit Terms consent (`accepted_terms is True`); missing markers fail closed.
- Session/debrief/persona responses use closed allowlists; provider/storage - Session/debrief/Persona responses use closed allowlists; provider/storage
errors are mapped to stable client-safe messages. errors are mapped to stable client-safe messages.
- Owner markers and private visibility now form one fail-closed invariant; - Owner markers and private visibility now form one fail-closed invariant;
normal create/update paths reject unowned-private and malformed-owner records, normal create/update paths reject unowned-private and malformed-owner records,
while legacy malformed records are excluded from access and indexes. while legacy malformed records are excluded from access and indexes.
- Non-ready groups remain visible to their owner/admin for recovery, but their - Non-ready groups remain visible to their owner/admin for recovery, but their
persona payloads/counts and direct persona access are empty/blocked until Persona payloads/counts and direct Persona access are empty/blocked until
`ready`, including admin responses. `ready`, including admin responses.
- Owner products stuck in `analyzing` remain reopenable and the Training and - Owner products stuck in `analyzing` remain reopenable and the Training and
admin edit UIs expose the recovery action instead of dead-ending. admin edit UIs expose the recovery action instead of dead-ending.
- Judge-only evaluator reasoning and provider paths are excluded from the - Judge-only evaluator reasoning and provider paths are excluded from the
persona role-play prompt; only bounded role-play state is retained. Persona role-play prompt; only bounded role-play state is retained.
- Transcript serialization keeps seller/customer messages plus an exact - Transcript serialization keeps seller/customer messages plus an exact
allowlist of server-generated `⏳` scene notes, redacts legacy initial openers, allowlist of server-generated `⏳` scene notes, redacts legacy initial openers,
and transcript-only debriefing receives seller messages only. and transcript-only debriefing receives seller messages only.
@@ -206,7 +206,7 @@ The fixes were test-driven:
- Added `GROUP_STATUSES` and explicit transition validation to `GroupStore`. - Added `GROUP_STATUSES` and explicit transition validation to `GroupStore`.
- Validated structurally ready artifacts before any role receives a persisted - Validated structurally ready artifacts before any role receives a persisted
ready group. ready group.
- Revalidated the source persona identity under the record lock before appending - Revalidated the source Persona identity under the record lock before appending
an admin variant. an admin variant.
- Updated stale compatibility tests that previously treated malformed-ready - Updated stale compatibility tests that previously treated malformed-ready
records as readable. records as readable.

View File

@@ -52,7 +52,7 @@ Current-tree remediation:
canonical Personas are structurally valid. canonical Personas are structurally valid.
- `GroupStore` now allowlists lifecycle states and explicit permitted transitions, - `GroupStore` now allowlists lifecycle states and explicit permitted transitions,
including `failed → analyzing` retry and `ready → analyzing` reanalysis. including `failed → analyzing` retry and `ready → analyzing` reanalysis.
- Variant publication revalidates both source status and the exact source persona - Variant publication revalidates both source status and the exact source Persona
under the group record lock after LLM generation. under the group record lock after LLM generation.
- Privileged indexes exclude malformed `ready` and invalid-status records; - Privileged indexes exclude malformed `ready` and invalid-status records;
`publish_analysis()` accepts only persisted `analyzing` groups. `publish_analysis()` accepts only persisted `analyzing` groups.