Skill: TESSERA | Type: design Summary: EPISODIO 1 — MNEMO_PRE_DIGEST: [R7.seccion1.I1] Qué quedó hecho
3.1 KiB
| episode_id | puente_flat | session_code | acto_dialogico | actor_flujo | criticidad_aegis | skill_dominante | fase_proyecto | tipo_semantico | summary_one_line | source_type | trust_boundary | created_at | relectura_tagged | forgejo_commit_sha |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 36da2277-3042-4940-9212-364f6efb79e7 | EXPLORA_r7seccion1i1-qu-qued-hecho_S20260808.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD | S20260808.MEMORIA_SOTA_BRECHA | informar | multi_actor | low | TESSERA | operations | design | EPISODIO 1 — MNEMO_PRE_DIGEST: [R7.seccion1.I1] Qué quedó hecho | claude_code | internal | 2026-08-09T19:22:38.485027+00:00 | false | pending |
FASE 1 cerrada y respaldada en los tres remotos. 322ce0c6.
[R7.seccion1.I1] Qué quedó hecho
El objeto de memoria de EMBER ya dice de qué clase es lo que recuerda y desde cuándo es verdad. Antes no podía. Eso era la brecha estructural que midió el análisis contra el estado del arte, y está cerrada:
| Tarea | Entregable | Verificación |
|---|---|---|
| T-02 | docs/SPEC_MEMORIA_CONTRATO_V2_S20260808.md |
contrato I/O declarado antes del código |
| T-03/04 | 7 claves nuevas en tessera_pipeline.py vía derive_contract_v2() |
5/5 casos de derivación · 55 passed sin regresión |
| T-05 | rules/memoria-contrato-v2.md + su digest |
MC-1..MC-8 + 4 anti-patrones |
| T-06 | memory_contract_validator.py + test |
72 passed · mordida verificada |
Los siete campos: epistemic_status (9 valores) · epistemic_confidence · temporal{valid_from, superseded_at} · lifecycle_state (6) · cognitive_type (7, el segundo eje) · derived_from · y el sello contract_schema_version.
[R7.seccion2.I2] Lo que este tramo enseña sobre verificar
Tres cosas se rompieron por el camino, y ninguna se tapó:
El agente afirmó que su control positivo mordía. No lo di por bueno. Neutralicé el validador y la suite pasó a 44 failed / 28 passed — muerde de verdad. Luego lo restauré con sha256 verificado. Un claim de un agente sin evidencia propia vale lo mismo que un claim mío sin evidencia: nada.
Había un index.lock de 36 horas — residuo de mi propio commit cortado ayer. Con cinco git.exe vivos, borrarlo a ciegas podía corromper el índice. Lo probé renombrándolo, que es reversible y demuestra propiedad sin destruir: si se deja renombrar, nadie lo tiene abierto.
El pre-commit bloqueó por un secret en skills/llm-memory-research-auditor/tests/, archivo de otra instancia que ya estaba en el índice. No usé --no-verify. Acoté el commit por pathspec a mis seis archivos: lo mío entra, el hallazgo de seguridad sigue vivo para su dueño.
Y una decisión de diseño que vale más que el código: el default de epistemic_status es inferred, no observed. Un episodio sin declaración no es una observación verificada — lo contrario sería exactamente la promoción silenciosa de inferencia a hecho que el estado del arte lista como fallo grave. Lo mismo con calibrated: false siempre: calibrar exige una serie de resultados que no existirá hasta T-18.