Files
ruoyi-vue-pro/yudao-module-education/CONTEXT.md

62 lines
4.0 KiB
Markdown

# Education
The Education context owns the language for educational content, practice, assessment, and student learning state.
## Language
**Question Content**:
The complete versioned educational prompt presented for answering, including its stem and any answer choices required by its question type.
_Avoid_: Payload, raw question
**Option-backed Question**:
A question whose answer must be selected from a finite, student-visible set of labeled options. The supported family is `choice`, `multi`, `multi_choice`, `judge`, and `image`.
_Avoid_: Objective question when referring only to storage shape
**Optionless Question**:
A question answered without selecting from a finite option list. The recognized family includes `fill`, `text`, `terms`, `short_answer`, `composition`, `discuss`, `translation`, `case_analysis`, `brief_analysis`, `calculation`, `analysis_design`, `combination`, and `solution`.
_Avoid_: Subjective question when the distinction being made is only whether options are present
**Composite Question**:
A container question, such as `reading`, whose answerable units are sub-questions rather than top-level options. It is not a valid standalone practice question until the sub-question model is supported by the target contract.
_Avoid_: Reading question when other composite forms may use the same model
**Safe Question**:
A student-visible projection of Question Content that contains only display fields and never contains an answer, explanation, analysis, scoring rule, correctness flag, or administrative metadata.
_Avoid_: Sanitized DO, frontend question
**Question Option**:
One distinct choice in an Option-backed Question, identified by a non-blank label and containing non-blank display content. Labels are unique within the question.
_Avoid_: Answer, choice answer
**Question Snapshot**:
The immutable, student-visible Question Content captured when a practice session is created so that later content edits do not change that session. It excludes answers and explanations; protected scoring data is not part of this projection even when stored beside it.
_Avoid_: Question cache
**Protected Answer Key**:
Server-only correctness and explanation data captured for stable scoring of a practice session. It is never included in a Safe Question, Question Snapshot JSON, or pre-submit response.
_Avoid_: Question Snapshot, frontend answer
**Unavailable Question Content**:
Question Content that cannot safely be displayed or restored because its type, required options, option structure, publication state, or snapshot encoding is invalid or unsupported.
_Avoid_: Empty question, best-effort question
**Tenant Locator Claim**:
An unauthenticated pre-login value used to request tenant selection: either a browser-context hostname claim or an explicit Public Tenant Handle. It is not proof of caller identity or tenant authorization.
_Avoid_: Trusted identity, authenticated hostname, tenant ID
**Browser-context Evidence**:
A hostname claim derived from `Origin`, falling back to `Referer`, and used to keep browser login-routing inputs consistent. Any HTTP client can forge it, so it is not an authentication boundary.
_Avoid_: Trusted browser identity, verified origin
**Public Tenant Handle**:
The exact, published pre-login handle used by a headless client to request one tenant. In the current target it is the System tenant's unique name under a constrained, case-sensitive, operationally immutable contract; it is not the source system's distinct Tenant Code.
_Avoid_: Tenant Code, display-name search, tenantName query
**Student Principal**:
An authenticated Member identity acting as a student. An administrator or generic authenticated account is not a Student Principal.
_Avoid_: User, account, logged-in principal
**Public Tenant Resolution**:
The unauthenticated pre-login mapping of a Tenant Locator Claim to minimal login-routing fields. A successful result discloses that an available tenant exists; failed unknown, disabled, and expired tenants remain indistinguishable.
_Avoid_: Tenant authentication, tenant administration lookup, non-enumerating discovery