An off-chain append with no hook in between would shift Pi live positions

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

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

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
25/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
javascript
Lĩnh vực
backend

Hướng nghiên cứu

Read packages/pi-extension/index.js:138-165, especially the parent-chain walk in capture(), and inspect the pi_tui_cli_capture step 5 live-versus-backfill position comparison. First verify on a real Pi client whether an off-chain append can occur without the listed hooks firing; done means the comparison shows matching positions across navigation and compaction, or a real trace demonstrates the uncovered case.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Source: #1874 at 5ab56bcaa3e41a8fcb6a095eb83e9b6d76c3f38e
Location: packages/pi-extension/index.js:138-165
Severity: minor

Evidence

The parent-chain walk in capture() counts only ancestors of the new head, so an entry appended off the current chain is never counted by appended(), shifting later positions by the same mechanism as finding 17. The stronger form of this claim, that ordinary branch navigation breaks, was probed and rejected in round 2: with session_before_tree and session_tree firing, live and recovery agree because checkpoint() resyncs by delivering the appended tail.

Why deferral is safe

The shift requires Pi to append off-chain while firing none of turn_end, agent_end, agent_settled, session_compact, session_before_tree, or session_tree, and there is no evidence it ever does. That is a speculative risk about undocumented client behavior, not an observed defect, and the same acceptance-gate step 5 live-vs-backfill position comparison covers it on a real client. Confirmed the walk is unchanged at head 5ab56bca.

Acceptance condition

The pi_tui_cli_capture step 5 comparison on a real Pi shows live and backfill positions agree across navigation and compaction; if a real client ever demonstrates an uncovered off-chain append, promote this to a defect with that trace.

Review preference; backlog only. A human may explicitly delegate it with neutral:fix.

Ngôn ngữ chính
JavaScript
Star
11
Fork
0
Merge trung bình
2 giờ 25 phút
Pull request đã merge (30 ngày)
311

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

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

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 hyparam/hypaware

Tất cả issue của hyparam/hypaware

Issue tương tự

Thêm issue về JavaScript

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.