feat(episode): NARRA_minimal-metadata-f1-parser-test_S20260413.R9_XX.tst.1.hot_inf.pu.cc.en.00C.LGQ_J.AFCFK_E.SGNFD
Skill: NONE | Type: troubleshooting Summary: EPISODIO S09 — CRISOL: minimal fields only to test parser default handling
This commit is contained in:
parent
0748df5a71
commit
f3d1eb6de3
1 changed files with 25 additions and 0 deletions
|
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
episode_id: "72583a21-401d-4674-96da-1d5c53987889"
|
||||
puente_flat: "NARRA_minimal-metadata-f1-parser-test_S20260413.R9_XX.tst.1.hot_inf.pu.cc.en.00C.LGQ_J.AFCFK_E.SGNFD"
|
||||
session_code: "S20260413"
|
||||
acto_dialogico: "informar"
|
||||
actor_flujo: "ember_to_user"
|
||||
criticidad_aegis: "info"
|
||||
skill_dominante: "NONE"
|
||||
fase_proyecto: "testing"
|
||||
tipo_semantico: "troubleshooting"
|
||||
summary_one_line: "EPISODIO S09 — CRISOL: minimal fields only to test parser default handling"
|
||||
source_type: "chat_ember"
|
||||
trust_boundary: "public"
|
||||
created_at: "2026-04-13T12:55:32.430122+00:00"
|
||||
relectura_tagged: false
|
||||
forgejo_commit_sha: "pending"
|
||||
---
|
||||
|
||||
This episode deliberately provides the absolute minimum metadata required by the CRISOL v4.0 pipeline to test the robustness of the F1 parser phase when optional fields are absent. The episode contains no canonical entities, no HOPE hints, no anti-signals, no compass log, and no pipeline scores.
|
||||
|
||||
The F1 parser in crisol_run.py uses Python dict.get() with default values throughout the metadata extraction phase. This episode verifies that every .get() call has a sensible default and does not raise KeyError or TypeError when optional fields are missing from the metadata JSON block.
|
||||
|
||||
Expected behavior in each CRISOL phase: F1 (parse) should extract the minimal fields (tipo_semantico, actor_flujo, title, body) and fill all other fields with defaults. F2 (classify) should run the mode classifier on the body text alone without additional context from entities or skills. F3 (score AROMA) should produce default AROMA strings when the body is semantically neutral. F4 (generate PUENTE) should produce a valid PUENTE with skill code XX (no skills), importance L (low criticality, no entities), and default emotional valence. F5 (store) should INSERT the episode with NULL or empty arrays for optional JSONB fields.
|
||||
|
||||
If any phase raises an unhandled exception due to a missing optional field, the crisol_validator.py should catch the failure and route the episode to the rejected directory with a clear error message identifying which field caused the failure. This is the canary episode: if it passes all phases cleanly, the pipeline handles sparse metadata correctly. If it fails, the failure points to a missing default value in the pipeline code.
|
||||
Loading…
Reference in a new issue