@piagent/platform 1.7.1 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. package/AGENTS.md +7 -0
  2. package/CHANGELOG.md +113 -1
  3. package/README.md +45 -70
  4. package/README.vi.md +34 -61
  5. package/architecture/layers.json +16 -3
  6. package/catalog/capabilities.json +14 -7
  7. package/catalog/claude-model-additions.json +42 -0
  8. package/docs/auto-delegation-policy.md +2 -0
  9. package/docs/command-reference-vietnamese.md +69 -91
  10. package/docs/context-window-policy.md +5 -5
  11. package/docs/distribution-standard.md +16 -19
  12. package/docs/en/architecture.md +9 -1
  13. package/docs/herdr-workflow.md +2 -3
  14. package/docs/languages.json +4 -4
  15. package/docs/managed-local-acceptance.md +403 -0
  16. package/docs/mcp-and-tools.md +5 -7
  17. package/docs/memory-policy.md +3 -3
  18. package/docs/model-options.md +22 -17
  19. package/docs/oauth-providers.md +1 -1
  20. package/docs/operator-manual-vietnamese.md +85 -130
  21. package/docs/package-architecture-notes.md +4 -4
  22. package/docs/piagent-core-improvement-plan.md +3 -5
  23. package/docs/piagent-core-plan-checkpoint-2026-09-06.json +2 -13
  24. package/docs/piagent-runtime-benchmark-execution-plan.md +10 -8
  25. package/docs/project-adapters.md +3 -3
  26. package/docs/project-onboarding.md +15 -16
  27. package/docs/publishing-for-teams.md +3 -1
  28. package/docs/quality-benchmark.md +2 -0
  29. package/docs/quickstart-vietnamese.md +24 -25
  30. package/docs/release-install-policy.md +16 -11
  31. package/docs/research/harness-next-evidence-review.md +7 -7
  32. package/docs/runtime-harness-standard.md +2 -0
  33. package/docs/runtime-policy-design.md +2 -0
  34. package/docs/runtime-quality-baseline.md +2 -0
  35. package/docs/subagent-orchestration-capabilities.md +1 -1
  36. package/docs/subagents-and-multiagent.md +10 -8
  37. package/docs/task-implementation-contract.md +2 -0
  38. package/docs/task-lifecycle-vietnamese.md +2 -0
  39. package/docs/team-onboarding.md +33 -64
  40. package/docs/usage-observability.md +2 -2
  41. package/docs/vi/architecture.md +9 -1
  42. package/docs/workflow-recipes.md +6 -10
  43. package/docs-site/architecture.html +4 -3
  44. package/docs-site/assets/docs.css +80 -0
  45. package/docs-site/benchmark.html +7 -1
  46. package/docs-site/commands.html +37 -23
  47. package/docs-site/content/architecture.html +2 -2
  48. package/docs-site/content/benchmark.html +5 -0
  49. package/docs-site/content/commands.html +35 -22
  50. package/docs-site/content/ecosystem.html +144 -0
  51. package/docs-site/content/en/architecture.html +1 -1
  52. package/docs-site/content/en/benchmark.html +5 -0
  53. package/docs-site/content/en/commands.html +30 -13
  54. package/docs-site/content/en/ecosystem.html +144 -0
  55. package/docs-site/content/en/index.html +24 -9
  56. package/docs-site/content/en/quickstart.html +10 -12
  57. package/docs-site/content/en/runtime.html +1 -1
  58. package/docs-site/content/en/security.html +1 -1
  59. package/docs-site/content/en/team.html +2 -2
  60. package/docs-site/content/en/whats-new.html +89 -1
  61. package/docs-site/content/en/workflows.html +29 -31
  62. package/docs-site/content/index.html +24 -9
  63. package/docs-site/content/quickstart.html +10 -12
  64. package/docs-site/content/runtime.html +2 -2
  65. package/docs-site/content/security.html +2 -2
  66. package/docs-site/content/team.html +2 -2
  67. package/docs-site/content/whats-new.html +89 -1
  68. package/docs-site/content/workflows.html +36 -38
  69. package/docs-site/context-engine.html +2 -1
  70. package/docs-site/ecosystem.html +283 -0
  71. package/docs-site/en/architecture.html +3 -2
  72. package/docs-site/en/benchmark.html +7 -1
  73. package/docs-site/en/commands.html +32 -14
  74. package/docs-site/en/context-engine.html +2 -1
  75. package/docs-site/en/ecosystem.html +283 -0
  76. package/docs-site/en/index.html +30 -14
  77. package/docs-site/en/mcp-approval.html +2 -1
  78. package/docs-site/en/mcp-auth.html +2 -1
  79. package/docs-site/en/mcp-servers.html +2 -1
  80. package/docs-site/en/mcp.html +2 -1
  81. package/docs-site/en/permissions.html +2 -1
  82. package/docs-site/en/profiles.html +2 -1
  83. package/docs-site/en/quickstart.html +17 -18
  84. package/docs-site/en/runtime.html +3 -2
  85. package/docs-site/en/scope.html +2 -1
  86. package/docs-site/en/security.html +6 -5
  87. package/docs-site/en/team.html +4 -3
  88. package/docs-site/en/whats-new.html +97 -8
  89. package/docs-site/en/workflows.html +34 -35
  90. package/docs-site/index.html +30 -14
  91. package/docs-site/mcp-approval.html +2 -1
  92. package/docs-site/mcp-auth.html +2 -1
  93. package/docs-site/mcp-servers.html +2 -1
  94. package/docs-site/mcp.html +2 -1
  95. package/docs-site/permissions.html +2 -1
  96. package/docs-site/profiles.html +2 -1
  97. package/docs-site/quickstart.html +17 -18
  98. package/docs-site/runtime.html +4 -3
  99. package/docs-site/scope.html +2 -1
  100. package/docs-site/security.html +7 -6
  101. package/docs-site/team.html +4 -3
  102. package/docs-site/whats-new.html +97 -8
  103. package/docs-site/workflows.html +41 -42
  104. package/evals/fs5-causal-arm.v1.json +2 -2
  105. package/evals/private-holdout-v1/CURRENT_BOUNDARY.md +17 -0
  106. package/evals/private-holdout-v1/public-exposure.v2.json +2 -2
  107. package/package.json +10 -9
  108. package/packages/piagent-core/README.md +15 -23
  109. package/packages/piagent-core/docs/context-efficiency-improvement-plan.md +2 -0
  110. package/packages/piagent-core/extensions/experiment-loop-policy.ts +75 -0
  111. package/packages/piagent-core/extensions/local-state-path.js +15 -0
  112. package/packages/piagent-core/extensions/piagent-guard.ts +108 -960
  113. package/packages/piagent-core/extensions/policy-core.js +2 -2
  114. package/packages/piagent-core/extensions/source-checkout-paths.ts +54 -0
  115. package/packages/piagent-core/managed/broker-client.mjs +49 -0
  116. package/packages/piagent-core/managed/capabilities.mjs +28 -0
  117. package/packages/piagent-core/managed/compaction.mjs +63 -0
  118. package/packages/piagent-core/managed/doctor.mjs +107 -0
  119. package/packages/piagent-core/managed/native-catalog.mjs +42 -0
  120. package/packages/piagent-core/managed/patch-snapshot.mjs +48 -0
  121. package/packages/piagent-core/managed/repository-operation.mjs +84 -0
  122. package/packages/piagent-core/managed/request-stream.mjs +129 -0
  123. package/packages/piagent-core/managed/resource-loader.mjs +42 -0
  124. package/packages/piagent-core/managed/review-snapshot-worker.mjs +27 -0
  125. package/packages/piagent-core/managed/sandbox-diagnostic.mjs +12 -0
  126. package/packages/piagent-core/managed/search-fallback.mjs +93 -0
  127. package/packages/piagent-core/managed/session.mjs +472 -0
  128. package/packages/piagent-core/managed/store.d.mts +3 -0
  129. package/packages/piagent-core/managed/store.mjs +64 -0
  130. package/packages/piagent-core/managed/tool-boundary.mjs +243 -0
  131. package/packages/piagent-core/managed/tool-worker.mjs +36 -0
  132. package/packages/piagent-core/managed/toolchain.mjs +120 -0
  133. package/packages/piagent-core/managed/web-fetch.mjs +105 -0
  134. package/packages/piagent-core/managed/web-search.mjs +96 -0
  135. package/packages/piagent-core/managed/workflow.mjs +299 -0
  136. package/packages/piagent-core/package.json +3 -6
  137. package/packages/piagent-core/policies/base-policy.json +80 -26
  138. package/packages/piagent-core/runtime/hooks/agent-start-hook.ts +3 -3
  139. package/packages/piagent-core/runtime/hooks/input-hook.ts +35 -196
  140. package/packages/piagent-core/runtime/hooks/session-start-hook.ts +2 -0
  141. package/packages/piagent-core/runtime/inspection/approval-broker.ts +9 -1
  142. package/packages/piagent-core/runtime/inspection/same-process-bridge-proof.ts +1 -1
  143. package/packages/piagent-core/runtime/inspection/webui-snapshot.ts +1 -1
  144. package/packages/piagent-core/runtime/managed-failure.d.mts +10 -0
  145. package/packages/piagent-core/runtime/managed-failure.mjs +164 -0
  146. package/packages/piagent-core/runtime/model/model-route-policy.ts +33 -13
  147. package/packages/piagent-core/runtime/model/model-route-types.ts +10 -6
  148. package/packages/piagent-core/runtime/orchestration/minimal-delegation-policy.ts +8 -29
  149. package/packages/piagent-core/runtime/orchestration/owned-work-budget.ts +1 -1
  150. package/packages/piagent-core/runtime/policy/block-remedy.ts +5 -3
  151. package/packages/piagent-core/runtime/registration/context-commands.ts +1 -1
  152. package/packages/piagent-core/runtime/registration/knowledge-tools.ts +7 -7
  153. package/packages/piagent-core/runtime/registration/policy-tools.ts +2 -2
  154. package/packages/piagent-core/runtime/registration/session-commands.ts +11 -26
  155. package/packages/piagent-core/runtime/registration/task-evidence-tools.ts +1 -1
  156. package/packages/piagent-core/runtime/session/system-prompt.ts +6 -7
  157. package/packages/piagent-core/runtime/workflows/webui-runtime-command.ts +6 -6
  158. package/packages/piagent-core/runtime/workflows/webui-workflow.ts +6 -11
  159. package/packages/piagent-core/security/sensitive-text.js +9 -0
  160. package/packages/piagent-core/skills/piagent-ops/SKILL.md +8 -10
  161. package/packages/piagent-core/skills/test-audit/SKILL.md +101 -0
  162. package/packages/piagent-core/subagents/piagent-planner.md +1 -1
  163. package/packages/piagent-webui/dist/client/assets/{MarkdownMessage-DGk34zJT.js → MarkdownMessage-Dd9wPk-v.js} +1 -1
  164. package/packages/piagent-webui/dist/client/assets/index-7I-50Q2U.js +228 -0
  165. package/packages/piagent-webui/dist/client/assets/{index-DVahUVWy.css → index-DgSmcnP8.css} +1 -1
  166. package/packages/piagent-webui/dist/client/index.html +2 -2
  167. package/packages/piagent-webui/extension/piagent-webui.ts +11 -11
  168. package/packages/piagent-webui/extension/session-stream-adapter.ts +3 -1
  169. package/packages/piagent-webui/extension/terminal-session-adapter.ts +6 -1
  170. package/packages/piagent-webui/gateway/company-relay.ts +308 -0
  171. package/packages/piagent-webui/gateway/control-socket.ts +39 -12
  172. package/packages/piagent-webui/gateway/gateway-service.ts +109 -28
  173. package/packages/piagent-webui/gateway/gateway-session-stream.ts +58 -2
  174. package/packages/piagent-webui/gateway/managed-gateway.mjs +41 -0
  175. package/packages/piagent-webui/gateway/managed-launch.ts +145 -0
  176. package/packages/piagent-webui/gateway/managed-projection.ts +20 -0
  177. package/packages/piagent-webui/gateway/pi-host.ts +22 -4
  178. package/packages/piagent-webui/gateway/runtime-session-controls.ts +5 -2
  179. package/packages/piagent-webui/gateway/session-approval-authority.ts +28 -0
  180. package/packages/piagent-webui/gateway/session-catalog.ts +11 -3
  181. package/packages/piagent-webui/gateway/session-command-controller.ts +8 -2
  182. package/packages/piagent-webui/gateway/session-file-facts.ts +25 -0
  183. package/packages/piagent-webui/gateway/session-inspection-registry.ts +42 -12
  184. package/packages/piagent-webui/gateway/session-list-cache.ts +68 -0
  185. package/packages/piagent-webui/gateway/session-runtime-ownership.ts +8 -1
  186. package/packages/piagent-webui/gateway/session-runtime-supervisor.ts +20 -27
  187. package/packages/piagent-webui/ownership/managed-terminal-lease.ts +27 -0
  188. package/packages/piagent-webui/ownership/profile-state.ts +2 -0
  189. package/packages/piagent-webui/ownership/session-lease-store.ts +22 -1
  190. package/packages/piagent-webui/server/approval-projection.ts +9 -0
  191. package/packages/piagent-webui/server/core-inspection-provider.ts +4 -9
  192. package/packages/piagent-webui/server/loopback-server.ts +37 -1
  193. package/packages/piagent-webui/server/message-stop-reason.ts +11 -0
  194. package/packages/piagent-webui/server/tool-call-summary.ts +185 -0
  195. package/packages/piagent-webui/server/transcript-projection.ts +86 -3
  196. package/packs/engineering-base/pack.json +4 -0
  197. package/schemas/piagent-webui/runtime-command-v1.schema.json +1 -2
  198. package/schemas/piagent-webui/session-catalog-v1.schema.json +8 -0
  199. package/schemas/piagent-webui/transcript-v1.schema.json +94 -1
  200. package/scripts/build-docs-site.mjs +23 -12
  201. package/scripts/check-public-wording.mjs +5 -6
  202. package/scripts/check-runtime-advisories.mjs +23 -6
  203. package/scripts/claude-model-additions.mjs +33 -0
  204. package/scripts/configure-model-scope.sh +36 -8
  205. package/scripts/configure-subagents.sh +1 -1
  206. package/scripts/explain-command.mjs +5 -6
  207. package/scripts/install-global.sh +2 -2
  208. package/scripts/model-route-evaluation-core.ts +1 -0
  209. package/scripts/model-scope-prune.mjs +75 -0
  210. package/scripts/phase-tools-evaluation.mjs +9 -4
  211. package/scripts/pi-model-route.mjs +1 -1
  212. package/scripts/piagent-cli.mjs +51 -2
  213. package/scripts/piagent-dashboard.mjs +27 -4
  214. package/scripts/piagent-installations.mjs +26 -0
  215. package/scripts/piagent-studio.mjs +155 -0
  216. package/scripts/runtime-advisory-exceptions.json +29 -0
  217. package/scripts/setup.sh +2 -2
  218. package/scripts/team-doctor.sh +20 -1
  219. package/scripts/typescript-loader.mjs +6 -0
  220. package/scripts/verify-local.sh +5 -5
  221. package/scripts/verify-release-identity.mjs +1 -1
  222. package/templates/global/settings.json +8 -2
  223. package/templates/project/.pi/project-context.md +3 -3
  224. package/templates/project/AGENTS.md +4 -5
  225. package/docs/piagent-core-reasoning-research-2026-09-06.md +0 -225
  226. package/docs/piagent-core-research-sources-2026-09-06.json +0 -416
  227. package/packages/piagent-webui/dist/client/assets/index-DiKRmCEP.js +0 -176
@@ -1,225 +0,0 @@
1
- <!-- language: vi; english-index: docs/en/README.md -->
2
-
3
- # Nghiên cứu lõi coding agent và đối chiếu Piagent
4
-
5
- **Ngày:** 2026-09-06 · **Thuộc plan:** PCL-2026-09-06 · **Trạng thái:** nghiên cứu hoàn tất, triển khai pause.
6
-
7
- Tài liệu phục vụ [kế hoạch cải thiện lõi Piagent](piagent-core-improvement-plan.md). Kết luận ưu tiên là **nối đúng những cơ chế đã có, giữ đủ thông tin cho model và giảm thao tác vô ích**, sau đó đo lợi ích trên công việc thực tế. Chưa có bằng chứng candidate Piagent mới làm tăng chất lượng hay giảm token của model thật.
8
-
9
- ## 1. Phạm vi và cách đọc nguồn
10
-
11
- - 34 nguồn chính trong ledger dưới đây: bài kỹ thuật/docs của tác giả, file nguồn/changelog và bốn abstract nghiên cứu.
12
- - 10 hệ agent: Pi, Codex, Claude Code, Cursor, Aider, mini-SWE-agent, OpenHands SDK, Gemini CLI, OpenCode, Cline. SWE-agent được bổ sung qua paper về giao diện agent–máy tính.
13
- - Tám repo công khai ghim commit; tải **13 file source và một changelog** vào vùng tạm để đọc tĩnh các đoạn liên quan. Không clone, cài package, chạy agent hay thực thi code bên ngoài.
14
- - Đọc có mục tiêu vòng xử lý, context, công cụ, event/state và failure behavior. Không tuyên bố audit toàn repo, tái lập leaderboard hay đọc toàn văn bốn paper.
15
- - Claude Code/Cursor: nguồn là bài kỹ thuật do đội sản phẩm công bố. Không coi repo CLI/public docs là mã nguồn mở đầy đủ của lõi hai sản phẩm này.
16
- - Các trang docs và blog có thể thay đổi; mốc truy cập 2026-09-06. Code links ghim commit, không dùng `main` làm identity tái lập. Metadata và SHA-256 từng file nằm trong [source manifest](piagent-core-research-sources-2026-09-06.json).
17
- - Chỉ dùng nguồn sơ cấp để rút khuyến nghị. Search snippets, Reddit, trang tổng hợp và tài liệu do AI dựng không được dùng làm bằng chứng thiết kế.
18
-
19
- ## 2. Những kết luận có tác động tới plan
20
-
21
- ### 2.1 Năng lực hiệu dụng phụ thuộc đường chạy
22
-
23
- Model tốt vẫn có thể làm việc kém khi thiếu source đúng, công cụ báo lỗi mơ hồ, trạng thái bị mất hoặc bị ép theo một chuỗi pha không phù hợp. SWE-agent nghiên cứu tác động của giao diện hành động; mini-SWE-agent hiện lại cung cấp một lõi rất gọn. Hai nguồn này cho lý do **thử đúng interface theo model/task**, không cho công thức “càng nhiều tool càng tốt” hay “bash-only luôn tốt nhất”. [S31][S31], [S22][S22]
24
-
25
- Áp dụng cho Piagent: giữ control plane đang có, nhưng kiểm xem mỗi instruction, context pack, tool group và pha có giúp hoàn tất việc hay chỉ tăng chi phí. Không thay Pi bằng một framework khác để theo xu hướng.
26
-
27
- ### 2.2 Cắt token có thể làm tốn token hơn
28
-
29
- Postmortem Claude Code ghi nhận việc xóa reasoning lặp sau idle làm mất tính liên tục và gây cache misses; một thay đổi giảm verbosity cũng làm chất lượng coding giảm. Đây là evidence của hệ đó tại thời điểm đó, không phải bug đã chứng minh trong Piagent. [S11][S11]
30
-
31
- Áp dụng: đo usage, cache, đọc lại, effort và chất lượng cùng nhau. Không đặt giảm reasoning hay giảm độ dài output thành mục tiêu độc lập. Context ngắn hơn chỉ đáng giữ nếu tổng chi phí để làm đúng giảm.
32
-
33
- ### 2.3 Retrieval nên đưa đúng phần cần thiết và cho phép quay lại nguồn
34
-
35
- Aider dùng graph/symbol ranking; Cursor đưa các output dài ra tài nguyên có thể đọc theo nhu cầu. Anthropic mô tả cách kết hợp dữ kiện ban đầu với truy xuất đúng lúc. [S16][S16], [S14][S14], [S08][S08]
36
-
37
- Piagent đã có lexical/symbol/RRF retrieval và delivery confirmation. Bước kế tiếp là kiểm freshness, dependency coverage, lặp context và giá trị thật của pack. Không cần mở dự án embedding service trước khi chứng minh retrieval hiện tại không đủ.
38
-
39
- ### 2.4 Phải tách lịch sử nguồn khỏi bản context chiếu cho model
40
-
41
- OpenHands có event history và view; condenser không được sửa trực tiếp cached view. OpenCode chỉ prune tool results theo điều kiện và vùng được giữ. [S24][S24], [S25][S25], [S28][S28]
42
-
43
- Piagent đã có governor/ledger và task truth. Nên kiểm sự nhất quán của projection/resume thay vì thêm store trạng thái thứ hai. Một bản tóm tắt không được thay thế authority, exact verifier hoặc source identity.
44
-
45
- ### 2.5 Kiểm chứng cần giúp chọn bước sửa, không sinh vòng chứng minh vô hạn
46
-
47
- Nghiên cứu intrinsic self-correction có kết quả và điều kiện khác nhau; abstract của một công trình cho kết quả tiêu cực khi thiếu external feedback, công trình khác nhấn mạnh điều kiện prompt/temperature. Không thể suy thành định luật cho mọi model hiện nay. [S33][S33], [S34][S34]
48
-
49
- Lựa chọn thực dụng cho Piagent: dùng lỗi quan sát được, source hiện tại và kiểm tra có thể bác bỏ giả thuyết; không thêm reviewer model hoặc lời nhắc “nghĩ lại” sau mọi lượt. Tái sử dụng continuation maximum 1/progress signature; không sao chép loop detector có thêm model calls của Gemini. [S27][S27]
50
-
51
- ### 2.6 Chất lượng sản phẩm cần một nguồn phản hồi ngoài điểm test
52
-
53
- Cursor mô tả kết hợp eval với dữ liệu sử dụng như code bị sửa lại và phản hồi người dùng. Anthropic phân biệt outcome thực tế với lời agent tự báo và nhấn mạnh độ tin cậy của phép chấm. [S15][S15], [S12][S12]
54
-
55
- Áp dụng: theo dõi first-handoff correctness, việc mở lại, công sửa tay và cost của cả những attempt thất bại. Không dùng “code còn được giữ” hay một câu hài lòng thay cho kiểm chứng correctness; chúng là tín hiệu bổ sung.
56
-
57
- ## 3. Ma trận tiếp nhận theo từng hệ
58
-
59
- | Hệ / mức đọc | Cơ chế đáng học | Áp dụng ở Piagent | Điều không sao chép mặc định |
60
- |---|---|---|---|
61
- | Pi — release + 2 source slices | Agent loop, steering, compaction, protocol failure | Giữ SDK làm nền; kiểm adapter/hook compatibility | Theo `main` hoặc nâng SDK ngay vì có version mới |
62
- | Codex — blog + 2 source slices + model docs | Prefix/cache, context metadata, compaction boundary | Dùng wire telemetry đã có, kiểm replay/phase/opaque state | Biến cơ chế riêng Responses thành giả định cho mọi provider |
63
- | Claude Code — engineering articles | Context rõ, long-task artifacts, postmortem chất lượng | Giữ task truth, hành trình đúng, feedback cụ thể | Hạ effort/cắt reasoning hoặc thêm initializer/subagent trái phạm vi |
64
- | Cursor — 2 blog kỹ thuật | Dynamic context, theo dõi rework thực tế | Output references và real-work follow-up có quyền | Chép tỷ lệ tiết kiệm của Cursor thành cam kết Piagent |
65
- | Aider — 3 docs/blog + 2 source slices | Repo map, edit format, failed-hunk feedback | Dùng index/edit freshness hiện tại, báo lỗi sửa được | Fallback tự chuyển patch sang file khác; hai model cho mọi edit |
66
- | mini-SWE-agent — docs + default agent | Lõi nhỏ, tách model/environment, tính cả lỗi đã billed | Đối chứng đơn giản và accounting thất bại | Mang cost/step defaults hay quyền bash không giới hạn vào Piagent |
67
- | OpenHands SDK — docs + 2 source slices | Event history và context projection tách biệt | Giữ ledger/view không làm biến dạng source evidence | Framework mới, remote server hoặc nhiều condenser chồng nhau |
68
- | Gemini CLI — 2 source slices | Giữ recent outputs, phát hiện summary rỗng/phình, failure taxonomy | Controls cho compaction/progress hiện có | Hai lượt model để summary+probe; LLM loop-check thêm phí |
69
- | OpenCode — 2 source slices | Prune có vùng bảo vệ, rõ loại stop/continue/compact | Kiểm hiệu quả và tính đầy đủ của governor | Copy doom-loop threshold/retry policy thành counter thứ hai |
70
- | Cline — changelog ở commit ghim | Ca lỗi compaction quá mạnh, edit retries và model compatibility | Thêm đúng controls thiếu nếu Piagent có đường tương tự | Coi changelog là chứng minh code Cline hay Piagent đã an toàn |
71
-
72
- ## 4. Đối chiếu cụ thể với code Piagent
73
-
74
- Đường dẫn dưới đây thuộc repo implementation đã chỉ định. Đây là đọc tĩnh có phạm vi; “cần kiểm” không có nghĩa “đã xác nhận bug”.
75
-
76
- | ID local | Bằng chứng | Kết luận được phép | Gói plan |
77
- |---|---|---|---|
78
- | P01 | `runtime/product/efficiency-metrics.ts`: exactUsage default unavailable; invocation count/first-correct-edit còn null | Báo cáo task có wiring gap đã xác nhận | C1 |
79
- | P02 | `runtime/registration/context-commands.ts:221`, `runtime/product/operator-projections.ts:82` | Call sites đã đọc không truyền exactUsage; cần nối nguồn usage phù hợp | C1 |
80
- | P03 | `extensions/context-engine.js`: index v2, lexical/symbol/RRF, budgets, dedup, protected excludes | Retrieval tồn tại; token estimate không phải token billed | C2 |
81
- | P04 | `runtime/context/context-delivery.ts` | Đã phân biệt offered/staged với delivered/confirmed theo task identity | C2 |
82
- | P05 | `runtime/session/adaptive-context-governor.ts`, `adaptive-context-ledger.ts` | Có governor, bảo toàn task truth/protocol và passthrough; không thêm engine trùng | C2/C5 |
83
- | P06 | `runtime/context/prefix-telemetry.ts`, `runtime/model/provider-wire-fingerprint.ts`, `extensions/piagent-guard.ts:3858` | Có cả canonical và ordered wire fingerprints. Chưa đủ để suy cache hit nếu không nối provider usage | C1/C2 |
84
- | P07 | `runtime/solver/solver-shadow.ts`, `solver-policy.ts` | Solver mặc định shadow; suggestion không đồng nghĩa thực thi | C4 |
85
- | P08 | `runtime/model/model-route-policy.ts`, `extensions/piagent-guard.ts:3900` | Có bảng model cụ thể, explicit pin preservation, mặc định off; host đã đọc báo boundary unavailable | C6 |
86
- | P09 | `runtime/recovery/continuation-budget.ts` | Global continuation/progress signature đã có; giữ maximum 1 | C4 |
87
- | P10 | `runtime/quality/edit-freshness-guard.ts`, `runtime/tools/phase-tool-runtime.ts` được đăng ký trong guard | Đã có cơ chế; cần đọc đúng consumer/tests trước thay đổi | C3 |
88
- | P11 | `extensions/repository-memory.js`, `runtime/context/repository-memory-hints.ts` | Có citations/expiry/protected filtering/advisory; chưa chứng minh freshness và lợi ích trên mọi hành trình | C5 |
89
-
90
- Các đường dẫn bắt đầu bằng `runtime/` hoặc `extensions/` trong bảng nằm dưới `packages/piagent-core/`.
91
-
92
- Một phát hiện tránh được việc xây thừa: chỉ nhìn `prefix-telemetry.ts` sẽ thấy tool list được sort, nhưng code khác đã có `orderedToolSurfaceHash` và `provider_request_wire_surface`. Vì vậy plan không ghi “thiếu wire fingerprint”; gap là **đối soát wire/context với usage và outcome của task**.
93
-
94
- ## 5. Ledger 34 nguồn chính
95
-
96
- ### Pi và Codex
97
-
98
- | ID / nguồn | Phần đã đọc và bằng chứng | Giới hạn / quyết định |
99
- |---|---|---|
100
- | S01 — [Pi releases][S01] | Release notes 0.85.0/0.85.1; 0.85.1 sửa lỗi import SDK và một số tương thích provider | Chọn ứng viên nâng cấp có qualification, không khẳng định SDK cũ gây mọi failure |
101
- | S02 — [Pi agent-loop.ts][S02] | `runLoop`, steering/prepareNextTurn, error/abort và tool call khi output bị cắt | Code upstream snapshot, không tự coi đã có trong SDK 0.84.1 cài local |
102
- | S03 — [Pi compaction.ts][S03] | `calculateContextTokens`, usage selection và estimate trailing messages | Context estimate phục vụ quản lý cửa sổ; không thay cost accounting |
103
- | S04 — [Unrolling the Codex agent loop][S04] | Performance/cache prefix, tool order, config changes và compaction | Bài 23/01/2026; một số hiện thực có thể tiến hóa, không đồng nhất snapshot tháng 9 |
104
- | S05 — [Codex compact_remote.rs][S05] | Request/step boundary, metadata trigger/reason/phase và hook khi compaction | Học cách quan sát lifecycle; không copy remote endpoint vào mọi provider |
105
- | S06 — [Codex history.rs][S06] | History envelopes, normalized prompt views và metadata preservation | Đọc phần liên quan, không audit toàn bộ bộ quản lý history |
106
- | S07 — [OpenAI model guidance, GPT-5.5][S07] | Outcome/success/stopping rules; giữ phase khi replay assistant items | Guidance theo model, không phải lệnh đổi model hoặc bỏ invariant Piagent |
107
-
108
- ### Claude Code / Anthropic và Cursor
109
-
110
- | ID / nguồn | Phần đã đọc và bằng chứng | Giới hạn / quyết định |
111
- |---|---|---|
112
- | S08 — [Effective context engineering][S08] | Context nhỏ nhưng đủ tín hiệu, retrieval đúng lúc, compaction/note-taking | Không gán mọi hiện tượng long context của model cũ cho mọi model mới |
113
- | S09 — [Writing effective tools][S09] | Tool purpose rõ, giảm overlap, output hữu ích với chế độ concise/detailed | Không loại ID/field cần cho hành động sau chỉ vì muốn ít token |
114
- | S10 — [Effective harnesses for long-running agents][S10] | Tiến độ tăng dần, feature state, artifact tiếp nối và premature completion | Dùng task state có sẵn; không thêm initializer/subagent hay auto commit |
115
- | S11 — [Claude Code quality postmortem][S11] | Ba thay đổi effort/context/verbosity và cách chúng gây giảm chất lượng | Case study, không kết luận model weights kém hoặc Piagent có cùng bug |
116
- | S12 — [Demystifying evals for AI agents][S12] | Outcome vs transcript, model+harness, capability/regression eval và grader reliability | Giữ eval như phép đo; không thêm cả chương trình benchmark mới vào core |
117
- | S13 — [Infrastructure noise][S13] | Resource enforcement và timeout làm thay đổi ý nghĩa kết quả | Khóa tài nguyên; không sao chép mức headroom hay tăng cap hiện tại |
118
- | S14 — [Cursor dynamic context discovery][S14] | Output file references, history retrieval, skills/tool discovery | Số tiết kiệm tác giả báo là riêng cohort của Cursor, không đưa vào target Piagent |
119
- | S15 — [Cursor harness improvement][S15] | Context thay đổi theo model; online/offline signals, keep rate/rework và error taxonomy | Keep rate chỉ là proxy; không dùng model đọc phản hồi user nếu chưa có quyền |
120
-
121
- ### Aider và mini-SWE-agent
122
-
123
- | ID / nguồn | Phần đã đọc và bằng chứng | Giới hạn / quyết định |
124
- |---|---|---|
125
- | S16 — [Aider repository map][S16] | Symbol/signature map, dependency graph ranking và budget | Không copy token default; Piagent đã có index/ranking |
126
- | S17 — [Aider repomap.py][S17] | `get_repo_map`, ranked tags/cache và PageRank implementation slices | Có implementation support cho docs; chưa kiểm định ranking trên repo Piagent |
127
- | S18 — [Aider edit formats][S18] | Whole vs diff/search-replace; khả năng theo format khác nhau giữa model | Chọn theo evidence; không bắt whole-file cho mọi thay đổi |
128
- | S19 — [Aider editblock_coder.py][S19] | Dry-run/apply, feedback failed hunk, partial success và fallback sang file khác | Chỉ học feedback; không chấp nhận chuyển target file tự động vào Piagent |
129
- | S20 — [Separating code reasoning and editing][S20] | Hai bước architect/editor, có thể cùng hoặc khác model; tradeoff latency | Thí nghiệm 2024, không áp mặc định hai calls hoặc hai agents hiện nay |
130
- | S21 — [mini-SWE-agent overview][S21] | Thiết kế tối giản, tách agent/environment/model | Documentation/claims của tác giả; không nhập điểm benchmark vào báo cáo Piagent |
131
- | S22 — [mini-SWE-agent default.py][S22] | Đọc default agent: step/query/execute, limits, format-error billed cost, save state | Học phân loại failure/accounting; không copy default limits hoặc raw trajectory logging |
132
-
133
- ### OpenHands, Gemini CLI, OpenCode, Cline
134
-
135
- | ID / nguồn | Phần đã đọc và bằng chứng | Giới hạn / quyết định |
136
- |---|---|---|
137
- | S23 — [OpenHands condenser architecture][S23] | Condenser/View/Condensation và no-op/LLM/pipeline distinction | Context management có giá; không mặc định thêm summarizer model |
138
- | S24 — [OpenHands condenser/base.py][S24] | Read-only cached views, soft/hard condensation và fallback | Giữ lịch sử nguồn và projection riêng; không sửa cached state tại chỗ |
139
- | S25 — [OpenHands conversation/state.py][S25] | Event log, active-branch derived view/cache và incremental tail | Bài học state ownership; không thêm branching/worktree vào phạm vi single-agent |
140
- | S26 — [Gemini chatCompressionService.ts][S26] | Recent-output budget, summary+probe và reject summary rỗng/phình | Học negative controls; hai model turns cho compression không phải tối ưu miễn phí |
141
- | S27 — [Gemini loopDetectionService.ts][S27] | Lặp phải không có tiến bộ; có model-based check với lịch riêng | Giữ progress guard sẵn có; không thêm model-loop reviewer/counter |
142
- | S28 — [OpenCode compaction.ts][S28] | Prune completed tool outputs, recent/protected vùng và minimum saving | Không bỏ tool state đang pending hoặc evidence còn cần |
143
- | S29 — [OpenCode processor.ts][S29] | So recent tool name+arguments, loại lỗi, stop/continue/compact và retry policy | Không copy doom-loop threshold hay tăng retry quyền Piagent |
144
- | S30 — [Cline CHANGELOG][S30] | Lỗi compaction quá mạnh, retry edit lặp, native tool/model compatibility | Chỉ là changelog: dùng chọn failure scenarios, không coi là source-level proof |
145
-
146
- ### Nghiên cứu để kiểm tra giả định
147
-
148
- | ID / nguồn | Phần đã đọc và bằng chứng | Giới hạn / quyết định |
149
- |---|---|---|
150
- | S31 — [SWE-agent ACI paper][S31] | Abstract: giao diện hành động ảnh hưởng khả năng tìm/sửa/test code | Không tái lập paper; model/task 2024 khác hệ hiện tại |
151
- | S32 — [Lost in the Middle][S32] | Abstract: vị trí thông tin ảnh hưởng QA/key-value retrieval ở model nghiên cứu | Không chứng minh mọi model 2026 cùng mức suy giảm, cần controls của Piagent |
152
- | S33 — [Cannot Self-Correct Reasoning Yet][S33] | Abstract: intrinsic self-correction thiếu external feedback có thể không giúp | Không suy thành “model không thể tự sửa” vô điều kiện |
153
- | S34 — [Intrinsic Self-Correction Ability][S34] | Abstract: kết quả khác dưới điều kiện prompt/temperature được nghiên cứu | Không tự đổi temperature trên provider/model không hỗ trợ; kiểm chứng khách quan vẫn cần |
154
-
155
- ## 6. Quyết định ưu tiên / thử có điều kiện / hoãn
156
-
157
- | Hướng | Quyết định | Lý do và ranh giới |
158
- |---|---|---|
159
- | Usage → task/outcome; tính cả thất bại | Ưu tiên đầu | Gap code xác nhận, cần cho mọi quyết định tiết kiệm |
160
- | Context đúng nguồn, output có thể đọc lại, cache-aware | Ưu tiên sau instrumentation | Tận dụng retrieval/governor/wire có sẵn, giữ correctness |
161
- | Feedback sửa lỗi rõ và edit freshness | Ưu tiên khi có đường lỗi cụ thể | Tránh token lãng phí ở thao tác, không nới guard |
162
- | Task state ngắn, bước tiếp theo theo evidence | Ưu tiên | Giúp model giải quyết thay vì lặp diễn giải plan |
163
- | SDK 0.85.1 | Thử tương thích riêng | Phiên bản mới có ích tiềm năng nhưng ảnh hưởng identity/protocol |
164
- | Repo map / tool grouping / edit format | Thử theo task/model | Không có một cấu hình tốt nhất cho mọi model |
165
- | Cross-task memory | Cải thiện phần hiện có có điều kiện | Phải advisory, có nguồn, đúng quyền và có lợi ích |
166
- | Model routing tự động / giảm effort | Hoãn | Chưa có causal evidence; giữ pin và quality floor |
167
- | Hai model architect/editor, critic sau mỗi bước | Hoãn | Thêm phí/latency, chưa chứng minh thắng single-agent |
168
- | LLM verifier cho mọi summary/loop | Không đưa vào đợt đầu | Tăng vòng gọi; đã có deterministic safeguards |
169
- | Vector DB, framework rewrite, swarm | Không đưa vào đợt này | Chưa có gap chứng minh cần; trái phạm vi single-agent nếu swarm |
170
- | Universal semantic prover / benchmark-specific branches | Không theo đuổi | Quay lại vòng nghiên cứu khó kết thúc và nguy cơ overfit |
171
- | Bỏ guard để “model thông minh hơn” | Không chấp nhận | Autonomy phải ở trong quyền và contract đã cấp |
172
-
173
- ## 7. Những gì chưa biết và cách giải hữu hạn
174
-
175
- 1. **Piagent đang lãng phí ở đâu nhiều nhất?** C1 trả lời theo chi phí task; không đoán bằng số dòng source hay số tests.
176
- 2. **Governor và SDK compaction có tương tác làm mất nghĩa?** C2/C6 kiểm đúng transitions, không blanket audit mọi provider.
177
- 3. **Context pack/routing hiện tại giúp hay làm model phân tâm?** Chọn tối đa hai giả thuyết sau telemetry; đối chứng cùng model/SDK ở C7 khi được phép.
178
- 4. **Task thật của người dùng phân bố thế nào?** Lập corpus từ backlog được quyền sử dụng; chưa có thì ghi thiếu dữ liệu, không gọi fixture là real use.
179
- 5. **SDK mới có đáng nâng?** Dùng contract matrix; nếu không có lợi hoặc không tương thích thì giữ version cũ với giới hạn rõ.
180
-
181
- Mỗi unknown có owner là người triển khai single-agent, evidence cần lấy và giới hạn nghiên cứu trong C0. Không mở thêm lượt đọc blog chỉ để tăng số nguồn sau khi câu hỏi thiết kế đã được trả lời.
182
-
183
- ## 8. Checkpoint và bảo toàn
184
-
185
- Nghiên cứu được thực hiện trên HEAD `c3a4427396984554eb1571e687caba0f831176ae`, branch `codex/piagent-35-recovery-20260831`, với 153 đường dẫn recovery thay đổi trước tài liệu mới. Không có source edits, tests, SDK upgrade, provider/model calls, campaign reservation, paid authority, worktree, subagent, push hay publish trong đợt nghiên cứu này. Các yêu cầu HTTP đọc tài liệu/repo công khai là hoạt động nghiên cứu, không phải phiên model benchmark.
186
-
187
- Không khẳng định E14 full qualification đã xanh. Kết quả full lịch sử và 18 default correct-completion đỏ được giữ nguyên. Run-6 tiếp tục `INVALID_MEASUREMENT`. Mọi thay đổi source/treatment đề xuất trong PCL cần thuộc đúng phạm vi resume/identity; D-026 không tự áp cho chúng.
188
-
189
- Chi tiết hash tài liệu và kiểm tra bảo toàn xem [checkpoint PCL](piagent-core-plan-checkpoint-2026-09-06.json). Nội dung này là nghiên cứu và kế hoạch, không phải evidence cải thiện model đã đạt.
190
-
191
-
192
- [S01]: https://github.com/earendil-works/pi/releases
193
- [S02]: https://github.com/earendil-works/pi/blob/9767ba275f3e9a5ee0f5c5342249b629ab1b2282/packages/agent/src/agent-loop.ts
194
- [S03]: https://github.com/earendil-works/pi/blob/9767ba275f3e9a5ee0f5c5342249b629ab1b2282/packages/coding-agent/src/core/compaction/compaction.ts
195
- [S04]: https://openai.com/index/unrolling-the-codex-agent-loop/
196
- [S05]: https://github.com/openai/codex/blob/ac192cd7937b0d73edc6dffe009940ae53782dd4/codex-rs/core/src/compact_remote.rs
197
- [S06]: https://github.com/openai/codex/blob/ac192cd7937b0d73edc6dffe009940ae53782dd4/codex-rs/core/src/context_manager/history.rs
198
- [S07]: https://developers.openai.com/api/docs/guides/latest-model?model=gpt-5.5
199
- [S08]: https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents
200
- [S09]: https://www.anthropic.com/engineering/writing-tools-for-agents
201
- [S10]: https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents
202
- [S11]: https://www.anthropic.com/engineering/april-23-postmortem
203
- [S12]: https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents
204
- [S13]: https://www.anthropic.com/engineering/infrastructure-noise
205
- [S14]: https://cursor.com/blog/dynamic-context-discovery
206
- [S15]: https://cursor.com/blog/continually-improving-agent-harness
207
- [S16]: https://aider.chat/docs/repomap.html
208
- [S17]: https://github.com/Aider-AI/aider/blob/5dc9490bb35f9729ef2c95d00a19ccd30c26339c/aider/repomap.py
209
- [S18]: https://aider.chat/docs/more/edit-formats.html
210
- [S19]: https://github.com/Aider-AI/aider/blob/5dc9490bb35f9729ef2c95d00a19ccd30c26339c/aider/coders/editblock_coder.py
211
- [S20]: https://aider.chat/2024/09/26/architect.html
212
- [S21]: https://mini-swe-agent.com/latest/
213
- [S22]: https://github.com/SWE-agent/mini-swe-agent/blob/04d809ceab9df28f9adaed044884180159172930/src/minisweagent/agents/default.py
214
- [S23]: https://docs.openhands.dev/sdk/arch/condenser
215
- [S24]: https://github.com/OpenHands/software-agent-sdk/blob/8ea8e3bc1d5e84542f7702b8813734ef600c9fce/openhands-sdk/openhands/sdk/context/condenser/base.py
216
- [S25]: https://github.com/OpenHands/software-agent-sdk/blob/8ea8e3bc1d5e84542f7702b8813734ef600c9fce/openhands-sdk/openhands/sdk/conversation/state.py
217
- [S26]: https://github.com/google-gemini/gemini-cli/blob/85aca163f6c73ac6ce380b5447359146b8adcae4/packages/core/src/context/chatCompressionService.ts
218
- [S27]: https://github.com/google-gemini/gemini-cli/blob/85aca163f6c73ac6ce380b5447359146b8adcae4/packages/core/src/services/loopDetectionService.ts
219
- [S28]: https://github.com/anomalyco/opencode/blob/337fd144d2ba144743368f78d9579a99cce175bd/packages/opencode/src/session/compaction.ts
220
- [S29]: https://github.com/anomalyco/opencode/blob/337fd144d2ba144743368f78d9579a99cce175bd/packages/opencode/src/session/processor.ts
221
- [S30]: https://github.com/cline/cline/blob/dac3b35ba485dbab3b5a73aca239b0d07ce071cf/CHANGELOG.md
222
- [S31]: https://arxiv.org/abs/2405.15793
223
- [S32]: https://arxiv.org/abs/2307.03172
224
- [S33]: https://arxiv.org/abs/2310.01798
225
- [S34]: https://arxiv.org/abs/2406.15673