@piagent/platform 1.8.0 → 1.9.1

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 (221) hide show
  1. package/AGENTS.md +7 -0
  2. package/CHANGELOG.md +132 -2
  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 +68 -90
  10. package/docs/context-window-policy.md +5 -5
  11. package/docs/distribution-standard.md +13 -16
  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 +2 -2
  19. package/docs/oauth-providers.md +1 -1
  20. package/docs/operator-manual-vietnamese.md +82 -127
  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 +23 -24
  30. package/docs/release-install-policy.md +3 -2
  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 +28 -59
  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/security.html +1 -1
  58. package/docs-site/content/en/team.html +2 -2
  59. package/docs-site/content/en/whats-new.html +92 -1
  60. package/docs-site/content/en/workflows.html +29 -31
  61. package/docs-site/content/index.html +24 -9
  62. package/docs-site/content/quickstart.html +10 -12
  63. package/docs-site/content/security.html +2 -2
  64. package/docs-site/content/team.html +2 -2
  65. package/docs-site/content/whats-new.html +92 -1
  66. package/docs-site/content/workflows.html +36 -38
  67. package/docs-site/context-engine.html +2 -1
  68. package/docs-site/ecosystem.html +283 -0
  69. package/docs-site/en/architecture.html +3 -2
  70. package/docs-site/en/benchmark.html +7 -1
  71. package/docs-site/en/commands.html +32 -14
  72. package/docs-site/en/context-engine.html +2 -1
  73. package/docs-site/en/ecosystem.html +283 -0
  74. package/docs-site/en/index.html +30 -14
  75. package/docs-site/en/mcp-approval.html +2 -1
  76. package/docs-site/en/mcp-auth.html +2 -1
  77. package/docs-site/en/mcp-servers.html +2 -1
  78. package/docs-site/en/mcp.html +2 -1
  79. package/docs-site/en/permissions.html +2 -1
  80. package/docs-site/en/profiles.html +2 -1
  81. package/docs-site/en/quickstart.html +17 -18
  82. package/docs-site/en/runtime.html +2 -1
  83. package/docs-site/en/scope.html +2 -1
  84. package/docs-site/en/security.html +6 -5
  85. package/docs-site/en/team.html +4 -3
  86. package/docs-site/en/whats-new.html +100 -8
  87. package/docs-site/en/workflows.html +34 -35
  88. package/docs-site/index.html +30 -14
  89. package/docs-site/mcp-approval.html +2 -1
  90. package/docs-site/mcp-auth.html +2 -1
  91. package/docs-site/mcp-servers.html +2 -1
  92. package/docs-site/mcp.html +2 -1
  93. package/docs-site/permissions.html +2 -1
  94. package/docs-site/profiles.html +2 -1
  95. package/docs-site/quickstart.html +17 -18
  96. package/docs-site/runtime.html +2 -1
  97. package/docs-site/scope.html +2 -1
  98. package/docs-site/security.html +7 -6
  99. package/docs-site/team.html +4 -3
  100. package/docs-site/whats-new.html +100 -8
  101. package/docs-site/workflows.html +41 -42
  102. package/evals/fs5-causal-arm.v1.json +2 -2
  103. package/evals/private-holdout-v1/CURRENT_BOUNDARY.md +17 -0
  104. package/evals/private-holdout-v1/public-exposure.v2.json +2 -2
  105. package/package.json +8 -7
  106. package/packages/piagent-core/README.md +15 -23
  107. package/packages/piagent-core/docs/context-efficiency-improvement-plan.md +2 -0
  108. package/packages/piagent-core/extensions/experiment-loop-policy.ts +75 -0
  109. package/packages/piagent-core/extensions/local-state-path.js +15 -0
  110. package/packages/piagent-core/extensions/piagent-guard.ts +108 -960
  111. package/packages/piagent-core/extensions/policy-core.js +2 -2
  112. package/packages/piagent-core/extensions/source-checkout-paths.ts +54 -0
  113. package/packages/piagent-core/managed/broker-client.mjs +49 -0
  114. package/packages/piagent-core/managed/capabilities.mjs +28 -0
  115. package/packages/piagent-core/managed/client-agent.mjs +6 -0
  116. package/packages/piagent-core/managed/compaction.mjs +63 -0
  117. package/packages/piagent-core/managed/doctor.mjs +107 -0
  118. package/packages/piagent-core/managed/helper-roles.mjs +57 -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 +130 -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 +493 -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 +275 -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 +131 -0
  135. package/packages/piagent-core/managed/workflow.mjs +326 -0
  136. package/packages/piagent-core/package.json +2 -5
  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/managed-failure.d.mts +10 -0
  143. package/packages/piagent-core/runtime/managed-failure.mjs +166 -0
  144. package/packages/piagent-core/runtime/orchestration/minimal-delegation-policy.ts +8 -29
  145. package/packages/piagent-core/runtime/orchestration/owned-work-budget.ts +1 -1
  146. package/packages/piagent-core/runtime/policy/block-remedy.ts +5 -3
  147. package/packages/piagent-core/runtime/registration/context-commands.ts +1 -1
  148. package/packages/piagent-core/runtime/registration/knowledge-tools.ts +7 -7
  149. package/packages/piagent-core/runtime/registration/policy-tools.ts +2 -2
  150. package/packages/piagent-core/runtime/registration/session-commands.ts +11 -26
  151. package/packages/piagent-core/runtime/registration/task-evidence-tools.ts +1 -1
  152. package/packages/piagent-core/runtime/session/system-prompt.ts +6 -7
  153. package/packages/piagent-core/runtime/workflows/webui-runtime-command.ts +6 -6
  154. package/packages/piagent-core/runtime/workflows/webui-workflow.ts +6 -11
  155. package/packages/piagent-core/security/sensitive-text.js +9 -0
  156. package/packages/piagent-core/skills/piagent-ops/SKILL.md +8 -10
  157. package/packages/piagent-core/skills/test-audit/SKILL.md +101 -0
  158. package/packages/piagent-core/subagents/piagent-planner.md +1 -1
  159. package/packages/piagent-webui/dist/client/assets/{MarkdownMessage-DMU7Xe_O.js → MarkdownMessage-BRPIMCRh.js} +1 -1
  160. package/packages/piagent-webui/dist/client/assets/index-DNJ1vH5d.js +228 -0
  161. package/packages/piagent-webui/dist/client/assets/{index-DVahUVWy.css → index-DgSmcnP8.css} +1 -1
  162. package/packages/piagent-webui/dist/client/index.html +2 -2
  163. package/packages/piagent-webui/extension/piagent-webui.ts +11 -11
  164. package/packages/piagent-webui/extension/session-stream-adapter.ts +3 -1
  165. package/packages/piagent-webui/extension/terminal-session-adapter.ts +6 -1
  166. package/packages/piagent-webui/gateway/company-relay.ts +308 -0
  167. package/packages/piagent-webui/gateway/control-socket.ts +39 -12
  168. package/packages/piagent-webui/gateway/gateway-service.ts +109 -28
  169. package/packages/piagent-webui/gateway/gateway-session-stream.ts +58 -2
  170. package/packages/piagent-webui/gateway/managed-gateway.mjs +41 -0
  171. package/packages/piagent-webui/gateway/managed-launch.ts +145 -0
  172. package/packages/piagent-webui/gateway/managed-projection.ts +20 -0
  173. package/packages/piagent-webui/gateway/pi-host.ts +22 -4
  174. package/packages/piagent-webui/gateway/runtime-session-controls.ts +5 -2
  175. package/packages/piagent-webui/gateway/session-approval-authority.ts +28 -0
  176. package/packages/piagent-webui/gateway/session-catalog.ts +11 -3
  177. package/packages/piagent-webui/gateway/session-command-controller.ts +8 -2
  178. package/packages/piagent-webui/gateway/session-file-facts.ts +25 -0
  179. package/packages/piagent-webui/gateway/session-inspection-registry.ts +40 -9
  180. package/packages/piagent-webui/gateway/session-list-cache.ts +68 -0
  181. package/packages/piagent-webui/gateway/session-runtime-ownership.ts +8 -1
  182. package/packages/piagent-webui/gateway/session-runtime-supervisor.ts +20 -27
  183. package/packages/piagent-webui/ownership/managed-terminal-lease.ts +27 -0
  184. package/packages/piagent-webui/ownership/profile-state.ts +2 -0
  185. package/packages/piagent-webui/ownership/session-lease-store.ts +22 -1
  186. package/packages/piagent-webui/server/approval-projection.ts +9 -0
  187. package/packages/piagent-webui/server/core-inspection-provider.ts +4 -9
  188. package/packages/piagent-webui/server/loopback-server.ts +37 -1
  189. package/packages/piagent-webui/server/message-stop-reason.ts +11 -0
  190. package/packages/piagent-webui/server/tool-call-summary.ts +185 -0
  191. package/packages/piagent-webui/server/transcript-projection.ts +86 -3
  192. package/packs/engineering-base/pack.json +4 -0
  193. package/schemas/piagent-webui/runtime-command-v1.schema.json +1 -2
  194. package/schemas/piagent-webui/session-catalog-v1.schema.json +8 -0
  195. package/schemas/piagent-webui/transcript-v1.schema.json +94 -1
  196. package/scripts/build-docs-site.mjs +23 -12
  197. package/scripts/check-public-wording.mjs +5 -6
  198. package/scripts/check-runtime-advisories.mjs +23 -6
  199. package/scripts/claude-model-additions.mjs +33 -0
  200. package/scripts/configure-model-scope.sh +30 -6
  201. package/scripts/configure-subagents.sh +1 -1
  202. package/scripts/explain-command.mjs +5 -6
  203. package/scripts/init-project.sh +0 -2
  204. package/scripts/install-global.sh +3 -2
  205. package/scripts/model-scope-prune.mjs +75 -0
  206. package/scripts/phase-tools-evaluation.mjs +9 -4
  207. package/scripts/piagent-cli.mjs +51 -2
  208. package/scripts/piagent-dashboard.mjs +27 -4
  209. package/scripts/piagent-installations.mjs +26 -0
  210. package/scripts/piagent-studio.mjs +155 -0
  211. package/scripts/runtime-advisory-exceptions.json +29 -0
  212. package/scripts/setup.sh +10 -6
  213. package/scripts/team-doctor.sh +20 -1
  214. package/scripts/typescript-loader.mjs +6 -0
  215. package/scripts/verify-local.sh +2 -2
  216. package/templates/global/settings.json +3 -1
  217. package/templates/project/.pi/project-context.md +3 -3
  218. package/templates/project/AGENTS.md +4 -5
  219. package/docs/piagent-core-reasoning-research-2026-09-06.md +0 -225
  220. package/docs/piagent-core-research-sources-2026-09-06.json +0 -416
  221. package/packages/piagent-webui/dist/client/assets/index-Cui9AAV_.js +0 -176
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.8.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.9.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/permissions" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/permissions" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -59,6 +59,7 @@
59
59
  <div class="nav-group">
60
60
  <p class="nav-title">Get started</p>
61
61
  <a class="nav-link" href="/en/">Overview</a>
62
+ <a class="nav-link" href="/en/ecosystem">Ecosystem</a>
62
63
  <a class="nav-link" href="/en/quickstart">Quickstart</a>
63
64
  <a class="nav-link" href="/en/whats-new">What’s new</a>
64
65
  <a class="nav-link" href="/en/scope">Platform scope</a>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.8.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.9.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/profiles" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/profiles" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -59,6 +59,7 @@
59
59
  <div class="nav-group">
60
60
  <p class="nav-title">Get started</p>
61
61
  <a class="nav-link" href="/en/">Overview</a>
62
+ <a class="nav-link" href="/en/ecosystem">Ecosystem</a>
62
63
  <a class="nav-link" href="/en/quickstart">Quickstart</a>
63
64
  <a class="nav-link" href="/en/whats-new">What’s new</a>
64
65
  <a class="nav-link" href="/en/scope">Platform scope</a>
@@ -4,7 +4,7 @@
4
4
  <meta charset="utf-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
6
  <title>Step by step for new team members · Pi Agent Platform Docs</title>
7
- <meta name="description" content="Install with two commands, open a repository, select its profile and permission mode, run a task, and verify real evidence before handoff." />
7
+ <meta name="description" content="Install with two commands, open a repository, choose its profile and permissions, then ask in plain language; the guard checks every tool call." />
8
8
  <meta name="theme-color" content="#050505" />
9
9
  <link rel="canonical" href="https://piagent.io.vn/en/quickstart" />
10
10
  <link rel="alternate" hreflang="vi" href="https://piagent.io.vn/quickstart" />
@@ -12,7 +12,7 @@
12
12
  <link rel="alternate" hreflang="x-default" href="https://piagent.io.vn/quickstart" />
13
13
  <link rel="icon" href="/favicon.svg" type="image/svg+xml" />
14
14
  <meta property="og:title" content="Step by step for new team members · Pi Agent Platform Docs" />
15
- <meta property="og:description" content="Install with two commands, open a repository, select its profile and permission mode, run a task, and verify real evidence before handoff." />
15
+ <meta property="og:description" content="Install with two commands, open a repository, choose its profile and permissions, then ask in plain language; the guard checks every tool call." />
16
16
  <meta property="og:url" content="https://piagent.io.vn/en/quickstart" />
17
17
  <link rel="preconnect" href="https://fonts.googleapis.com" />
18
18
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.8.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.9.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/quickstart" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/quickstart" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -59,6 +59,7 @@
59
59
  <div class="nav-group">
60
60
  <p class="nav-title">Get started</p>
61
61
  <a class="nav-link" href="/en/">Overview</a>
62
+ <a class="nav-link" href="/en/ecosystem">Ecosystem</a>
62
63
  <a class="nav-link current" href="/en/quickstart" aria-current="page">Quickstart</a>
63
64
  <a class="nav-link" href="/en/whats-new">What’s new</a>
64
65
  <a class="nav-link" href="/en/scope">Platform scope</a>
@@ -100,7 +101,7 @@
100
101
  </nav>
101
102
  <div class="page-head">
102
103
  <h1>Step by step for new team members</h1>
103
- <p>Install with two commands, open a repository, select its profile and permission mode, run a task, and verify real evidence before handoff.</p>
104
+ <p>Install with two commands, open a repository, choose its profile and permissions, then ask in plain language; the guard checks every tool call.</p>
104
105
  </div>
105
106
  <section class="section">
106
107
  <div class="steps">
@@ -151,12 +152,11 @@ pi</code></pre>
151
152
 
152
153
  <article class="step">
153
154
  <div>
154
- <h3 id="onboard-context">Onboard context</h3>
155
- <p>Run this once in a new repository to record project context, verification matrices, and protected areas under <span class="inline-code">.pi/</span>. <span class="inline-code">/onboard</span> opens the menu and status; <span class="inline-code">run</span> launches the project-reading workflow.</p>
155
+ <h3 id="onboard-context">Let the agent read the project</h3>
156
+ <p>In a new repository, ask the agent to read the project (read-only) and record its project context under <span class="inline-code">.pi/</span>. No separate command: plain language is enough.</p>
156
157
  <div class="command-card">
157
- <header><span>Onboard</span><button class="clip-btn" data-clip="/onboard&#10;/onboard run">Copy</button></header>
158
- <pre><code>/onboard
159
- /onboard run</code></pre>
158
+ <header><span>Read the project</span><button class="clip-btn" data-clip="Inspect this project read-only and record its project context.">Copy</button></header>
159
+ <pre><code>Inspect this project read-only and record its project context.</code></pre>
160
160
  </div>
161
161
  </div>
162
162
  </article>
@@ -188,20 +188,19 @@ pi</code></pre>
188
188
  <article class="step">
189
189
  <div>
190
190
  <h3 id="run-workflow">Run a workflow</h3>
191
- <p>Use the command that matches the intent so the agent does not spend context rediscovering the process. Start a fresh session for context-heavy work.</p>
191
+ <p>State the work and the intent (edit, read-only, plan first) in plain language. Start a new session with <span class="inline-code">/new</span> for context-heavy work.</p>
192
192
  <div class="command-card">
193
- <header><span>Workflow</span><button class="clip-btn" data-clip="/workflow task Implement the requested bounded change.&#10;/workflow review current diff&#10;/fresh task Implement the requested bounded change.">Copy</button></header>
194
- <pre><code>/workflow task Implement the requested bounded change.
195
- /workflow review current diff
196
- /fresh task Implement the requested bounded change.</code></pre>
193
+ <header><span>Assign work</span><button class="clip-btn" data-clip="Implement the requested change and run the project tests.&#10;Review the current diff. Read-only.">Copy</button></header>
194
+ <pre><code>Implement the requested change and run the project tests.
195
+ Review the current diff. Read-only.</code></pre>
197
196
  </div>
198
197
  </div>
199
198
  </article>
200
199
 
201
200
  <article class="step">
202
201
  <div>
203
- <h3 id="verify-before-handoff">Verify before handoff</h3>
204
- <p>The final gate trusts only commands that actually ran, exited successfully, and matched the verification plan. After pinning or upgrading a version, run doctor in the project:</p>
202
+ <h3 id="verify-before-handoff">Check before you hand over</h3>
203
+ <p>Ask the agent to run the project's checks (tests, type check, build) and read the real output; in company mode the Harness asks for this itself. After pinning or upgrading a version, run doctor in the project:</p>
205
204
  <div class="command-card">
206
205
  <header><span>Doctor</span><button class="clip-btn" data-clip="piagent-doctor">Copy</button></header>
207
206
  <pre><code>piagent-doctor</code></pre>
@@ -229,9 +228,9 @@ piagent-uninstall --apply</code></pre>
229
228
  </div>
230
229
  </section>
231
230
  <nav class="pager" aria-label="Adjacent pages">
232
- <a class="pager-prev" href="/en/">
231
+ <a class="pager-prev" href="/en/ecosystem">
233
232
  <span class="pager-label">Previous</span>
234
- <span class="pager-title">Overview</span>
233
+ <span class="pager-title">Ecosystem</span>
235
234
  </a>
236
235
  <a class="pager-next" href="/en/whats-new">
237
236
  <span class="pager-label">Next</span>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.8.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.9.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/runtime" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/runtime" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -59,6 +59,7 @@
59
59
  <div class="nav-group">
60
60
  <p class="nav-title">Get started</p>
61
61
  <a class="nav-link" href="/en/">Overview</a>
62
+ <a class="nav-link" href="/en/ecosystem">Ecosystem</a>
62
63
  <a class="nav-link" href="/en/quickstart">Quickstart</a>
63
64
  <a class="nav-link" href="/en/whats-new">What’s new</a>
64
65
  <a class="nav-link" href="/en/scope">Platform scope</a>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.8.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.9.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/scope" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/scope" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -59,6 +59,7 @@
59
59
  <div class="nav-group">
60
60
  <p class="nav-title">Get started</p>
61
61
  <a class="nav-link" href="/en/">Overview</a>
62
+ <a class="nav-link" href="/en/ecosystem">Ecosystem</a>
62
63
  <a class="nav-link" href="/en/quickstart">Quickstart</a>
63
64
  <a class="nav-link" href="/en/whats-new">What’s new</a>
64
65
  <a class="nav-link current" href="/en/scope" aria-current="page">Platform scope</a>
@@ -4,7 +4,7 @@
4
4
  <meta charset="utf-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
6
  <title>Policy enforcement, not an OS sandbox · Pi Agent Platform Docs</title>
7
- <meta name="description" content="Controlled tool surfaces fail closed when profiles, integrity locks, permissions, or verification evidence are invalid." />
7
+ <meta name="description" content="Controlled tool surfaces fail closed when profiles, integrity locks or permissions are invalid." />
8
8
  <meta name="theme-color" content="#050505" />
9
9
  <link rel="canonical" href="https://piagent.io.vn/en/security" />
10
10
  <link rel="alternate" hreflang="vi" href="https://piagent.io.vn/security" />
@@ -12,7 +12,7 @@
12
12
  <link rel="alternate" hreflang="x-default" href="https://piagent.io.vn/security" />
13
13
  <link rel="icon" href="/favicon.svg" type="image/svg+xml" />
14
14
  <meta property="og:title" content="Policy enforcement, not an OS sandbox · Pi Agent Platform Docs" />
15
- <meta property="og:description" content="Controlled tool surfaces fail closed when profiles, integrity locks, permissions, or verification evidence are invalid." />
15
+ <meta property="og:description" content="Controlled tool surfaces fail closed when profiles, integrity locks or permissions are invalid." />
16
16
  <meta property="og:url" content="https://piagent.io.vn/en/security" />
17
17
  <link rel="preconnect" href="https://fonts.googleapis.com" />
18
18
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.8.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.9.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/security" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/security" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -59,6 +59,7 @@
59
59
  <div class="nav-group">
60
60
  <p class="nav-title">Get started</p>
61
61
  <a class="nav-link" href="/en/">Overview</a>
62
+ <a class="nav-link" href="/en/ecosystem">Ecosystem</a>
62
63
  <a class="nav-link" href="/en/quickstart">Quickstart</a>
63
64
  <a class="nav-link" href="/en/whats-new">What’s new</a>
64
65
  <a class="nav-link" href="/en/scope">Platform scope</a>
@@ -100,7 +101,7 @@
100
101
  </nav>
101
102
  <div class="page-head">
102
103
  <h1>Policy enforcement, not an OS sandbox</h1>
103
- <p>Controlled tool surfaces fail closed when profiles, integrity locks, permissions, or verification evidence are invalid.</p>
104
+ <p>Controlled tool surfaces fail closed when profiles, integrity locks or permissions are invalid.</p>
104
105
  </div>
105
106
  <section class="section">
106
107
  <div class="grid cols-2">
@@ -109,7 +110,7 @@
109
110
  <article class="card"><h3 id="secret-redaction">Secret redaction</h3><p>Text tool output passes through a redactor for provider tokens, secret keyword patterns, and common sensitive values. Current benchmarks are synthetic and internal; the model continues to evolve.</p></article>
110
111
  <article class="card"><h3 id="capability-lock">Capability lock</h3><p>Capability packs have digests and tamper detection. An invalid lock fails closed and never expands permissions automatically.</p></article>
111
112
  <article class="card"><h3 id="human-action-gate">Human-action gate</h3><p>Destructive or external-provider actions require explicit operator confirmation even in full-access mode. The gate covers direct tools, decoded MCP proxy calls, GitHub CLI writes, and non-GET HTTP shell forms.</p></article>
112
- <article class="card"><h3 id="verify-evidence">Verification evidence</h3><p>A completed handoff requires observed bash results, not an unsupported statement that tests passed.</p></article>
113
+ <article class="card"><h3 id="verify-evidence">Real checks</h3><p>In company mode the Harness only counts a check that actually ran and passed on the final code; saying “tested” is not enough.</p></article>
113
114
  </div>
114
115
 
115
116
  <div class="callout">
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.8.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.9.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/team" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/team" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -59,6 +59,7 @@
59
59
  <div class="nav-group">
60
60
  <p class="nav-title">Get started</p>
61
61
  <a class="nav-link" href="/en/">Overview</a>
62
+ <a class="nav-link" href="/en/ecosystem">Ecosystem</a>
62
63
  <a class="nav-link" href="/en/quickstart">Quickstart</a>
63
64
  <a class="nav-link" href="/en/whats-new">What’s new</a>
64
65
  <a class="nav-link" href="/en/scope">Platform scope</a>
@@ -104,11 +105,11 @@
104
105
  </div>
105
106
  <section class="section">
106
107
  <div class="split">
107
- <article class="card"><h3 id="do">Do</h3><p>Run <span class="inline-code">/onboard run</span>, apply <span class="inline-code">/profile auto</span>, use <span class="inline-code">/workflow</span>, execute real verification, and state blockers clearly.</p></article>
108
+ <article class="card"><h3 id="do">Do</h3><p>Ask the agent to read the project and record its context, apply <span class="inline-code">/profile auto</span>, assign work in plain language, run real checks, and state blockers clearly.</p></article>
108
109
  <article class="card"><h3 id="avoid">Avoid</h3><p>Do not place tokens, authentication files, caches, sessions, private examples, or project-specific business logic in the public core package.</p></article>
109
110
  </div>
110
111
  <div class="callout ok-callout">
111
- <strong>Handoff standard</strong>
112
+ <strong>The final answer</strong>
112
113
  <p>A final response should briefly state what changed, which verification ran, whether subagents were used, and which risks or next steps require review.</p>
113
114
  </div>
114
115
  <div class="callout">
@@ -3,16 +3,16 @@
3
3
  <head>
4
4
  <meta charset="utf-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
- <title>Safer task flow with less manual coordination · Pi Agent Platform Docs</title>
7
- <meta name="description" content="Product stabilization adds runtime truth, trajectories, recovery, helper policy, an activity inspector, and fail-closed completion receipts without breaking existing workflows." />
6
+ <title>1.9.0: ask in plain language, the team's Harness checks · Pi Agent Platform Docs</title>
7
+ <meta name="description" content="The task contract and workflow commands are gone. Company mode asks for checks and a review on its own; Stop, network commands on approval and clearer approval cards." />
8
8
  <meta name="theme-color" content="#050505" />
9
9
  <link rel="canonical" href="https://piagent.io.vn/en/whats-new" />
10
10
  <link rel="alternate" hreflang="vi" href="https://piagent.io.vn/whats-new" />
11
11
  <link rel="alternate" hreflang="en" href="https://piagent.io.vn/en/whats-new" />
12
12
  <link rel="alternate" hreflang="x-default" href="https://piagent.io.vn/whats-new" />
13
13
  <link rel="icon" href="/favicon.svg" type="image/svg+xml" />
14
- <meta property="og:title" content="Safer task flow with less manual coordination · Pi Agent Platform Docs" />
15
- <meta property="og:description" content="Product stabilization adds runtime truth, trajectories, recovery, helper policy, an activity inspector, and fail-closed completion receipts without breaking existing workflows." />
14
+ <meta property="og:title" content="1.9.0: ask in plain language, the team's Harness checks · Pi Agent Platform Docs" />
15
+ <meta property="og:description" content="The task contract and workflow commands are gone. Company mode asks for checks and a review on its own; Stop, network commands on approval and clearer approval cards." />
16
16
  <meta property="og:url" content="https://piagent.io.vn/en/whats-new" />
17
17
  <link rel="preconnect" href="https://fonts.googleapis.com" />
18
18
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.8.0 docs · EN</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.9.1 docs · EN</span>
34
34
  <nav class="language-switch" aria-label="Language">
35
35
  <a class="language-option" href="/whats-new" hreflang="vi" lang="vi">VI</a>
36
36
  <a class="language-option current" href="/en/whats-new" hreflang="en" lang="en" aria-current="true">EN</a>
@@ -59,6 +59,7 @@
59
59
  <div class="nav-group">
60
60
  <p class="nav-title">Get started</p>
61
61
  <a class="nav-link" href="/en/">Overview</a>
62
+ <a class="nav-link" href="/en/ecosystem">Ecosystem</a>
62
63
  <a class="nav-link" href="/en/quickstart">Quickstart</a>
63
64
  <a class="nav-link current" href="/en/whats-new" aria-current="page">What’s new</a>
64
65
  <a class="nav-link" href="/en/scope">Platform scope</a>
@@ -99,9 +100,100 @@
99
100
  <span>What’s new</span>
100
101
  </nav>
101
102
  <div class="page-head">
102
- <h1>Safer task flow with less manual coordination</h1>
103
- <p>Product stabilization adds runtime truth, trajectories, recovery, helper policy, an activity inspector, and fail-closed completion receipts without breaking existing workflows.</p>
103
+ <h1>1.9.0: ask in plain language, the team's Harness checks</h1>
104
+ <p>The task contract and workflow commands are gone. Company mode asks for checks and a review on its own; Stop, network commands on approval and clearer approval cards.</p>
104
105
  </div>
106
+ <section class="section">
107
+ <p class="section-kicker">v1.9.1 · 2026-10-03</p>
108
+ <h2 id="v1-9-1">Scout and verify subagents, web search for every role</h2>
109
+ <p class="section-lead">In company mode the team's Harness can enable two more subagents on cheaper models. Scout reads the code before a change. Verify runs the checks again and compares conclusions with evidence. Every role, including roles on API-key models, searches the web through the team's search pool.</p>
110
+ <div class="grid cols-3">
111
+ <article class="card"><h3 id="scout-helper">Scout subagent</h3><p>It reads the project only: no web, no commands. Its answers come with file and line. The main agent hands broad reading to it and keeps its own context for the change.</p></article>
112
+ <article class="card"><h3 id="verify-helper">Verify subagent</h3><p>It runs the repository's checks in a read-only sandbox without network, and compares each requirement with the code and primary sources. Each requirement comes back as pass, fail or unverifiable, with evidence. A check it passes counts toward the turn's process.</p></article>
113
+ <article class="card"><h3 id="search-pool">Web search through the search pool</h3><p><span class="inline-code">web_search</span> asks Studio's search pool first: the team's search keys, then keyless providers. That way roles on API-key models can search too.</p></article>
114
+ <article class="card"><h3 id="enabled-helpers">Only enabled subagents</h3><p>The main agent sees only the subagents its Harness enables. The dashboard shows running subagents against the number enabled.</p></article>
115
+ <article class="card"><h3 id="sandbox-tests">Project tests run in the sandbox</h3><p>The sandbox reads translation files named <span class="inline-code">auth.json</span> and hides <span class="inline-code">.env*</span> files outright (templates excepted), so type checks, Vitest and Next run without exposing secrets. End-to-end tests with Playwright's Chromium run as a network command you approve.</p></article>
116
+ <article class="card"><h3 id="installer-hints">Leaner installer hints</h3><p><span class="inline-code">piagent-install</span> and <span class="inline-code">piagent-setup</span> no longer suggest commands retired in 1.9.0. They mention <span class="inline-code">/mcp</span> and <span class="inline-code">/subagents-doctor</span> only when that run installed them.</p></article>
117
+ </div>
118
+ <p>One company-mode turn ran live through Studio. The scout read the repository before the change, verify reported 6 of 6 requirements passed, review found no blocking issue, and every request was metered.</p>
119
+ </section>
120
+
121
+ <section class="section">
122
+ <p class="section-kicker">v1.9.0 · 2026-10-02</p>
123
+ <h2 id="v1-9-0">Ask in plain language; the team's Harness does the checking</h2>
124
+ <p class="section-lead">The task contract and the workflow commands are gone: you ask as you would ask a colleague, and the guard still checks every tool call. Company mode runs through Agent Studio and Agent Watch; its Harness asks for checks, has a subagent review the change and sends blocking findings back to the agent. See <a href="/en/ecosystem">Ecosystem</a>.</p>
125
+
126
+ <div class="benchmark-metrics" aria-label="Release 1.9.0 verification figures">
127
+ <div class="benchmark-metric"><span>Live scenarios</span><strong>13/13</strong><small>9 personal, 4 company, on the final install</small></div>
128
+ <div class="benchmark-metric"><span>Automated tests</span><strong>5,800+</strong><small>unit, integration and security; 0 failures</small></div>
129
+ <div class="benchmark-metric"><span>Browser tests</span><strong>27/27</strong><small>dashboard and WebUI on Chromium</small></div>
130
+ <div class="benchmark-metric"><span>Smaller guard</span><strong>−854 lines</strong><small>code that only served the task contract (4993 → 4139)</small></div>
131
+ </div>
132
+
133
+ <figure class="shot">
134
+ <img src="/assets/shots/company-run-done.jpg" alt="A company-mode turn: the agent changes code and runs the tests; A check passed and Review found no blocking issue are written under the answer" loading="lazy" width="1600" height="1000">
135
+ <figcaption>A company-mode turn: the agent changes code and runs the tests, a subagent reviews the change, and the outcome is written right under the answer.</figcaption>
136
+ </figure>
137
+
138
+ <div class="grid cols-3">
139
+ <article class="card"><h3 id="freeform">Plain-language requests</h3><p>No more <span class="inline-code">/workflow</span>, <span class="inline-code">/fresh</span>, <span class="inline-code">/onboard</span> or task contract. The guard still blocks protected files and checks permission profiles, oversized files and stale edits, and asks you before a push or publish.</p></article>
140
+ <article class="card"><h3 id="harness">The team's Harness</h3><p>Studio decides whether each turn suggests or requires a plan, checks and a review. A separate subagent reviews; blocking findings go back to the agent within the team's fix rounds.</p></article>
141
+ <article class="card"><h3 id="network">Network on approval</h3><p>Company-mode commands run without network. To install a package the agent asks to run that one command with network; the card shows the exact command and you allow it once.</p></article>
142
+ <article class="card"><h3 id="stop">Stop and continue</h3><p>Stop works for the whole turn, including while the review runs. A stopped turn says it was stopped, not that the model failed; Continue picks up from the steps kept.</p></article>
143
+ <article class="card"><h3 id="reconnect">Reconnect company mode</h3><p>If the company runtime is not running (after a restart or an update), the conversation says so and offers Reconnect in place.</p></article>
144
+ <article class="card"><h3 id="local-state">Out of git</h3><p><span class="inline-code">.pi/piagent-state</span> gets its own <span class="inline-code">.gitignore</span>; run state no longer shows up in the project's <span class="inline-code">git status</span>.</p></article>
145
+ <article class="card"><h3 id="queue">Waiting in line when the company is busy</h3><p>When every company model account is busy, a request waits its turn (up to 20 minutes) instead of failing. The running turn shows a “Wait for a free company account” step; Stop still works.</p></article>
146
+ <article class="card"><h3 id="many-conversations">Many conversations at once</h3><p>Creating or sending in one conversation is no longer refused because another one just changed. Two folders with the same name (two clones) also show where each one is.</p></article>
147
+ <article class="card"><h3 id="model-scope">Clean up models that are gone</h3><p><span class="inline-code">piagent-doctor</span> lists configured models Pi no longer knows; <span class="inline-code">piagent-model-scope --prune</span> removes only those lines.</p></article>
148
+ </div>
149
+ </section>
150
+
151
+ <section class="section">
152
+ <p class="section-kicker">From the dashboard</p>
153
+ <h2 id="v1-9-0-shots">What a member sees while working</h2>
154
+ <div class="shot-grid">
155
+ <figure class="shot">
156
+ <img src="/assets/shots/network-approval.jpg" alt="Approval card for one network command, showing the exact npm install command" loading="lazy" width="1600" height="1000">
157
+ <figcaption>Approving one network command: the card shows the exact command and what allow or deny does.</figcaption>
158
+ </figure>
159
+ <figure class="shot">
160
+ <img src="/assets/shots/new-chat-models.jpg" alt="Choosing a model for a new conversation: Company and Personal groups" loading="lazy" width="1600" height="1000">
161
+ <figcaption>New conversation: a company model or a personal one, in the same dashboard.</figcaption>
162
+ </figure>
163
+ <figure class="shot">
164
+ <img src="/assets/shots/company-review-running.jpg" alt="Review running: the header shows Subagent 1/2 and Stop is still available" loading="lazy" width="1600" height="1000">
165
+ <figcaption>Review running: the header shows Subagent 1/2 and Stop still works.</figcaption>
166
+ </figure>
167
+ <figure class="shot">
168
+ <img src="/assets/shots/personal-edit-test.jpg" alt="A personal turn that edits code, with the diff inside the Edit card" loading="lazy" width="1600" height="1000">
169
+ <figcaption>Personal mode: every read, edit and command is a card, with the diff right there.</figcaption>
170
+ </figure>
171
+ </div>
172
+ </section>
173
+
174
+ <section class="section">
175
+ <p class="section-kicker">Verification</p>
176
+ <h2 id="v1-9-0-verification">Run for real, the way a member works</h2>
177
+ <p class="section-lead">Each scenario drives a real browser against the installed release, sends messages as a member would and checks the result on disk. Every experience bug found was fixed with a test and the scenario run again.</p>
178
+ <div class="table-wrap"><table>
179
+ <thead><tr><th>Scenario</th><th>Result</th></tr></thead>
180
+ <tbody>
181
+ <tr><td>Company · strip Vietnamese accents from slugs, add tests</td><td>2 files changed, tests pass, "A check passed on the final code · Review found no blocking issue"</td></tr>
182
+ <tr><td>Company · press Stop while the review runs</td><td>"The turn stopped before its checks finished", no error shown</td></tr>
183
+ <tr><td>Company · install a package that needs network</td><td>The approval card shows the exact command; once allowed, the package is in <span class="inline-code">package.json</span></td></tr>
184
+ <tr><td>Company · send another message during a turn</td><td>Held, sent when the turn ends, and answered</td></tr>
185
+ <tr><td>Personal · edit, test, commit and push</td><td>Push waits for approval in the browser; stopping a long command leaves no process behind</td></tr>
186
+ <tr><td>Personal · read <span class="inline-code">.env</span></td><td>Blocked without revealing values; the agent explains how to open it yourself</td></tr>
187
+ </tbody>
188
+ </table></div>
189
+ <p>Benchmark and journey results of earlier releases were measured with task contracts; they are historical, and 1.9.0 has not been measured again.</p>
190
+ </section>
191
+
192
+ <div class="callout">
193
+ <strong>Earlier releases</strong>
194
+ <p>The notes below describe earlier releases as they shipped. Since 1.9.0 the task contract, trajectories, completion receipts and workflow commands mentioned below are gone.</p>
195
+ </div>
196
+
105
197
  <section class="section">
106
198
  <p class="section-kicker">v1.8.0</p>
107
199
  <h2 id="v1-8-0">Astra, Sol, and Luna in Piagent</h2>
@@ -172,7 +264,7 @@
172
264
  <p class="section-kicker">Daily flow</p>
173
265
  <h2 id="usage-flow">The daily workflow does not break</h2>
174
266
  <div class="steps">
175
- <article class="step"><div><h3>Assign work as before</h3><p>Use a natural-language request or <span class="inline-code">/workflow task &lt;request&gt;</span>. Manual preflight is optional.</p></div></article>
267
+ <article class="step"><div><h3>Assign work as before</h3><p>Use a natural-language request (<span class="inline-code">/workflow</span> was retired in 1.9.0). Manual preflight is optional.</p></div></article>
176
268
  <article class="step"><div><h3>The runtime records truth</h3><p>Task Contracts, context, changed files, trajectories, and checkpoints are updated from hooks and tool results rather than model memory.</p></div></article>
177
269
  <article class="step"><div><h3>Verify the exact working tree</h3><p>Only observed exact commands that exit successfully and match the current-tree digest count as passing evidence.</p></div></article>
178
270
  <article class="step"><div><h3>Bounded recovery or handoff</h3><p>Source repair and transient retries have ceilings. Unsafe cases return to handoff or the operator instead of continuing by guesswork.</p></div></article>