Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

7.40.4: FailureCapture quotes another session under What Happened: SatisfactionCapture reads one global MEMORY/STATE/last-response.txt (SatisfactionCapture.hook.ts:83)

Abierto Apto para principiantes
#2,289 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 7 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
85/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
typescript
Área
tooling

Línea de trabajo

Empieza en hooks/SatisfactionCapture.hook.ts:83 (la ruta global de LAST_RESPONSE_CACHE), lee en :116 y el paso como detailedContext en :442 y :511; ten en cuenta que data.transcript_path ya está disponible en :439. Compara con la forma en que LIFEOS/TOOLS/FailureCapture.ts:156-163 analiza el transcript.jsonl de la propia sesión y renderiza detailed_context en :355/:390, además del escritor de caché en hooks/LastResponseCache.hook.ts:48. El resultado es el siguiente: con dos sesiones abiertas, ## What Happened en un nuevo CONTEXT.md FAILURES cita el último turno del asistente de la sesión de captura, confirmado por la comprobación grep de la reproducción.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Version

LifeOS 7.40.4 (hooks/SatisfactionCapture.hook.ts and LIFEOS/TOOLS/FailureCapture.ts as shipped, unmodified).

What is broken

A FAILURES capture's sentiment.json.detailed_context, rendered as ## What Happened in CONTEXT.md, is taken from MEMORY/STATE/last-response.txt, one file for the whole install. With two or more sessions open, that file holds whichever session's assistant response landed last, so the capture quotes a turn from a different session. Observed 2026-10-05: a capture triggered by "stop doing anything right now." quoted an assistant message about deleting scratch copies of a notification database; that phrase occurs zero times in the captured session's own transcript.jsonl (1,406 lines). The transcript and tool-calls in the same folder belong to the right session; only the quoted turn is foreign, and everything that mines captures (Cortex, Upgrade, LearningPatternSynthesis) reads the wrong "what happened".

Where (file:line)

Writer of the quote: hooks/SatisfactionCapture.hook.ts:83 (LAST_RESPONSE_CACHE = join(BASE_DIR, 'MEMORY', 'STATE', 'last-response.txt')), read at :116, passed as detailedContext at :442 and :511. Reader: LIFEOS/TOOLS/FailureCapture.ts:355 (detailed_context) and :390 (## What Happened). Cache writer: hooks/LastResponseCache.hook.ts:48 (the same single path, no session key; hooks/DriftReminder.hook.ts:74 reads it too). The hook already holds the right source: data.transcript_path (:439).

Repro on a clean tree
  1. Fresh 7.40.4 install. Open two Claude Code sessions, A and B.
  2. In A, have the assistant answer with a distinctive sentence. In B, immediately send a low rating ("2") about B's own work.
  3. Open the new MEMORY/LEARNING/FAILURES/<month>/<capture>/CONTEXT.md: ## What Happened shows A's sentence, and grep -c "<A's sentence>" transcript.jsonl in the same folder returns 0.
Negative control

With a single session open, the quoted turn matches the last assistant entry in the capture's own transcript.jsonl.

Suggested fix

Derive detailedContext from the last assistant entry of data.transcript_path (FailureCapture already parses that file, :156-163), or key the cache file by session id wherever it is written. Untested.

Before submitting
  • I searched open and closed issues for this defect.
  • The repro runs against a clean tree of the version above, not against my modified install.
  • I removed personal data from the pasted output — real names, absolute home paths, tokens, my own content.
Lenguaje dominante
TypeScript
Estrellas
19.4k
Forks
2.5k
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de danielmiessler/LifeOS

Todos los issues de danielmiessler/LifeOS

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.