CommandCodeAI / CommandCodeAI/command-code
/learn-taste learns nothing from Codex sessions: extractor only reads legacy event_msg/user_message format
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Không có dữ liệu ngôn ngữ
- Star
- 4k
- Fork
- 350
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
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.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu tại extractCodexPrompts và lần theo cách xử lý phiên được /learn-taste và cmd learn-taste sử dụng. Xử lý các tin nhắn của người dùng trong các mục response_item, sau đó kiểm tra bộ lọc dự án session_meta.payload.cwd để tìm sự khác biệt về chữ hoa, chữ thường và dấu phân cách trên Windows. Được xem là hoàn tất khi các phiên gần đây chỉ dùng Codex tạo ra dữ liệu đầu vào taste và các đường dẫn dự án khớp không bị bỏ qua một cách âm thầm trên Windows.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- node.js
- Lĩnh vực
- cli
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 72/100