CommandCodeAI / CommandCodeAI/command-code

/learn-taste learns nothing from Codex sessions: extractor only reads legacy event_msg/user_message format

Đang mở
#847 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

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-code npm 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 with payload.type: "user_message". event_msg payloads are only item_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_item entries:
{ "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

  1. Have Codex-only history in a project (any recent Codex CLI).
  2. Run cmdc, then /learn-taste (or cmdc learn-taste) from that project dir.
  3. 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

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.