Phase D: Move the Cortex store, pricing, session API and attribution into the binary

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

Maintainer thường phản hồi trong vòng 1 ngày

@huang195 đang làm issue này rồi.

Từ ngày 7/11/2026.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

laptop

Part of #1714 · phase D · Section 8 · design in #1717 (docs/superpowers/specs/2026-11-07-praxis-mode-design.md)

Goal

Make Cortex one Rust binary on the Praxis crates, in the shape of praxis-ai today. agentop does not change.

Scope

  • Port about 13.7k lines of Go into the binary:

    • the session store, archive and timeline, as a Cortex store crate on SQLite in the pattern of praxis-ai's store crates.
    • pricing and the ledger, as a Rust pricing filter, then Tokenomics when it is on par.
    • the session API, as filters on :47601 (/v1/events through StreamingTerminalResponse).
    • attribution.
  • Attribution moves together with the store, because the store's events feed its state. The Go front door passes the client's socket address in X-Cortex-Client, and the binary does the process lookup itself.

  • cortex_record writes the same record type to the store in process. /v1/ingest and the emitter's HTTP stream go away.

  • Decide: an importer for existing archives, or only the retention window. Decide each remaining plugin: port or retire. Split this issue into sub-issues before work starts.

  • Decide the path for the rows that the Go front door still writes (refusals, gateway_unavailable, tunnels, WebSockets) into the binary's store. Proposal: the front door posts them to the ingestion endpoint, now in the binary. Test it before phase C.

  • Decide how a ported filter that reads parsed facts in both directions (opa, session budget) fits the chain.

Done when

  • The same agentop session gives the same /v1/sessions, /v1/events, /v1/usage and timeline answers against the Go and the Rust store.
  • The Go tests of the ported packages pass as parity cases.

Depends on

Trigger: none. Start when praxis mode is the default and stable (#1725). Comes before phase C.

Assisted-By: Claude (Anthropic AI) [email protected]

Ngôn ngữ chính
Go
Star
26
Fork
46
Merge trung bình
13 giờ 49 phút
Pull request đã merge (30 ngày)
244

Chuẩn bị môi trường

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.

Issue khác của rossoctl/cortex

Tất cả issue của rossoctl/cortex

Issue tương tự

Thêm issue về Go

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.