.mini FORMAT — family 'a' v1 (Assessment items (multiple choice, Bloom + IRT 3PL + CAT metadata))
One multiple-choice assessment item per line, as generated by SIMA from a lecture transcript. The selected option is the correct answer; IRT parameters feed a computerized adaptive test.
Rules:
- Plain UTF-8 text. The FIRST line is the header: 'a|n=<int>, m=<str>?, d=<str>?, l=<str>?, t=<str>?, bd=<list>?, cat=<tuple>?, k=<int>?'. n is mandatory and must equal the exact number of record lines.
- After the header, ONE line per record and nothing else (no comments, no code fences, no blank lines in between).
- Each record has these fields in THIS order, separated by '|' (position is the semantics; field names are never written):
  1. id: str — item identifier
  2. bloom: one of {L1|L2|L3|L4|L5|L6}
  3. topic: str
  4. statement: str — question stem
  5. options: ','-separated list of str, 2 to 6 elements; exactly one element carries the suffix * (selected)
  6. irt: fixed tuple 'a:float,b:float,c:float' separated by ','
  7. difficulty: int [1..5]
  8. cat: fixed tuple 'area:str,exposure_cap:float,demand:enum' separated by ','
- If a list element contains the separator ',', enclose the element in double quotes CSV-style ("impact, justice and evidence"; the * marker goes after the closing quote) or escape the separator as '\,'. A literal trailing asterisk is written '\*'.
- Escapes valid in any value: '\|' for a literal vertical bar, '\\' for a backslash, '\n' for a line break.
- Numbers unquoted; booleans true/false. Scalar fields are never quoted.
- An empty field means null (allowed only for optional fields).
- Record: 8 core fields.
Valid example:
a|n=1|m=IRT3PL|d=20260603|l=es|t=evaluación transversal|bd=1,1,1,1,1,1|cat=0,-3,3,0.3,1,SH|k=4
i1|L1|Biología|¿Dónde ocurre principalmente la fotosíntesis?|cloroplastos*,núcleo,mitocondria,ribosoma|0.9,-1,0.25|1|biología,0.2,low
