CommandCodeAI / CommandCodeAI/command-code
/learn-taste learns nothing from Codex sessions: extractor only reads legacy event_msg/user_message format
Nessuno ha ancora preso questa issue.
- Lingua principale
- Nessun dato sulla lingua
- Stelle
- 4k
- Fork
- 350
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
What happens
/learn-taste (and cmd learn-taste) finds my Codex sessions but learns nothing from them. Taste onboarding ends with "TASTE Skipped", and ~/.commandcode/taste/ stays empty. Projects whose history is Codex-only get zero taste signal.
Environment
- Command Code v1.53.1 (
command-codenpm global,cmdc), Windows 11, PowerShell - Codex CLI 0.154.0, sessions at
~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl
Root cause: stale Codex prompt extractor
The session finder works (3-level YYYY/MM/DD walk + rollout-*.jsonl + session_meta.payload.cwd project match). But extractCodexPrompts only accepts lines shaped as:
{ "type": "event_msg", "payload": { "type": "user_message", "message": "..." } }
That shape no longer exists in Codex rollouts. Verified on this machine:
- Newest rollout (Sept 2026): 165 lines, 62
event_msg, 0 withpayload.type: "user_message".event_msgpayloads are onlyitem_completed,token_count,task_started,task_complete. - Search for
"user_message"across all September rollouts: 0 hits. A May 2026 archived rollout: also 0. - Conversation turns now live in
response_itementries:
{ "type": "response_item", "payload": { "type": "message", "role": "user", "content": [{ "type": "input_text", "text": "..." }] } }
(role is user / assistant / developer; user text parts use type: "input_text", assistant uses output_text.)
So extraction always yields [] → nothing to learn.
Suggested fix
In extractCodexPrompts, also handle type: "response_item" with payload.type: "message" and payload.role: "user", joining payload.content[].text for input_text parts. (Note: some role: "user" items are injected context like <environment_context> / skills text — you may want to skip those or let the taste model filter them.)
Secondary issue: case-sensitive cwd match on Windows
The project filter compares session_meta.payload.cwd === projectPath exactly. On Windows, recorded cwd case varies between sessions (e:\development\... vs E:\development\...), so matches are silently missed. Suggest case-insensitive comparison + separator normalization on win32.
Repro
- Have Codex-only history in a project (any recent Codex CLI).
- Run
cmdc, then/learn-taste(orcmdc learn-taste) from that project dir. - Observe: sessions are scanned, but no taste is learned.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia da extractCodexPrompts e segui la gestione delle sessioni utilizzata da /learn-taste e cmd learn-taste. Gestisci i messaggi degli utenti nelle voci response_item, quindi esamina il filtro del progetto session_meta.payload.cwd per individuare le differenze tra maiuscole e minuscole e tra separatori in Windows. Il lavoro è completato quando le sessioni recenti solo Codex producono un input taste e i percorsi di progetto corrispondenti non vengono ignorati silenziosamente su Windows.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- node.js
- Ambito
- cli
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Attiva
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 72/100