# Publish cho team dùng
<!-- language: vi; english-index: docs-site/content/en/team.html -->

## Mục tiêu

Team khác có thể cài cùng một Pi platform mà không lấy secret của maintainer.

## Cách phát hành

### Git repo

Dùng tag hoặc reviewed commit cho team/repo cần reproducible lock:

```bash
pi install git:github.com/Vt-mmm/piagent@vX.Y.Z
```

Pin tag hoặc commit cho `.pi/settings.json` đã commit vào project. Luồng cài host, terminal helper, Pi package, update và rollback canonical nằm tại [release/install policy](release-install-policy.md).

Moving latest chỉ dành cho máy cá nhân hoặc sandbox chấp nhận thay đổi không đồng bộ:

```bash
pi install git:github.com/Vt-mmm/piagent
```

### npm private package

Dùng khi muốn version/publish chuẩn:

```bash
pi install npm:@your-scope/platform@x.y.z
```

### Local path

Dùng khi dev platform trên một máy, không commit source này vào project team:

```bash
pi install /path/to/piagent
```

## Versioning

- `1.27.0`: team memory cho cuộc trò chuyện công ty (Agent Studio 0.27.0): mở đầu bằng bản tóm tắt từ memory của team về repo, mỗi lượt được lưu lại (đã lọc secret), agent và subagent tìm trong memory bằng `memory_search`; memory lỗi hay tắt không làm hỏng lượt.
- `1.26.1`: đổi tên cuộc trò chuyện được cả khi lượt đang chạy (trước đó menu báo `session-revision-stale` và giữ tên cũ); lỗi đổi tên, tạo nhánh, lưu trữ hiện bằng lời.
- `1.26.0`: lệnh `/` và phím tắt của Terminal trên dashboard (chạy ngay trên dashboard, không gửi cho model; ⌘⇧O, ⌘/, Esc); `/undo` hoàn tác file của lượt trước (từ chối khi file đã bị sửa tiếp); `start_process` giữ dev server qua nhiều lượt; lỗi TypeScript của file vừa sửa; `piagent studio --prompt … --json`; tin nhắn từ tab khác chờ lượt đang chạy; sẵn sàng cho Pi 1.2.0 (pin vẫn 0.87.1); test end-to-end của Harness chạy được trên CI.
- `1.25.0`: thiếu môi trường thì agent xin quyền và duyệt xong là chạy: `run_on_host` chạy đúng một lệnh trên máy member, ngoài sandbox (cài JDK/Node, git pull/push bằng tài khoản member, registry riêng; luôn hỏi, Bypass cũng hỏi; lệnh cần mật khẩu hay đăng nhập thì hỏi member qua `ask_user`), `start_docker` mở Docker rồi dùng `run_with_docker` ngay trong cuộc trò chuyện, mọi lỗi sandbox chỉ ra bước xin quyền thay vì “báo người dùng”; `fetch_origin` nhận `path` cho folder nhiều repo; lượt chỉ đọc bằng `git -C` không còn bị coi là sửa code.
- `1.24.0`: trang tạo cuộc trò chuyện mới có nút Fast cạnh model công ty khi Harness cho phép; bật trước khi gửi thì cuộc trò chuyện chạy Fast từ tin nhắn đầu (`session.create` mang `fast: true`, Harness không cho phép thì từ chối tạo); nút Fast ở đầu cuộc trò chuyện chuyển màu vàng khi bật.
- `1.23.1`: câu hỏi và yêu cầu duyệt của agent luôn nằm cuối cuộc trò chuyện, ngay trên ô nhập (trước đây nằm trên lượt đang chạy nên bị đẩy khỏi màn hình), trang tự cuộn tới khi có câu hỏi hoặc khi mở cuộc trò chuyện đang chờ; thẻ câu hỏi chữ lớn hơn, nút “Để agent tự quyết” ở giao diện sáng là nút viền.
- `1.23.0`: nút Fast (và `/fast on|off|status` trong Terminal) cho cuộc trò chuyện công ty khi Harness trong Studio cho phép: call của main agent trên model GPT (Codex) xin tier ưu tiên, Studio tính token gấp 2,5 lần vào quota, model Claude và vendor API key chạy tốc độ thường; tool lỗi trong phiên công ty được báo về Studio (Logs → “Tool lỗi”), secret được che, không gửi prompt; sửa lỗi cuộc trò chuyện công ty mới không gửi tin nhắn đầu sau khi Harness đổi mức suy luận. Cần Studio 0.26.0 và Agent Watch mang `fast_mode`.
- `1.22.1`: sửa lỗi dashboard trên Windows mở ra nhưng cứ “Đang mở Piagent…” khi project nằm trên ổ Windows nhìn từ WSL (`/mnt/d/…`): dashboard chờ phiên công ty tối đa 15 giây mỗi lượt đọc (thay đổi: 120 giây), chỉ coi là đã kết nối khi một lượt đọc được trả lời, quá hạn thì vẫn mở với cuộc trò chuyện cá nhân, báo “Phiên công ty đang chạy nhưng không trả lời” và hỏi lại sau một phút; trang cuộc trò chuyện cho Git 8 giây mỗi repository để liệt kê file thay đổi, quá hạn thì thử lại sau 5 phút; kiểm tra khi hoàn thành task vẫn chờ Git như cũ.
- `1.22.0`: đính kèm được mọi file code/văn bản (.html, .css, .js/.ts/.tsx, .py, .go, .java, .sql, .xml, .svg, .toml, mọi đuôi khác và file không đuôi như Dockerfile/Makefile), gửi dưới đúng tên file, host vẫn kiểm tra nội dung là văn bản; file nhị phân bị từ chối ngay kèm cách gửi khác (bảng tính → .csv, trình chiếu → .pdf, file nén/video/font → để trong project); tin nhắn có file đính kèm không còn hiện hai lần sau khi lượt xong.
- `1.21.1`: sửa lỗi bật Bypass khi lượt đang chạy (đang chờ duyệt lệnh) không có tác dụng và tải lại thì về “Hỏi trước”; cuộc trò chuyện công ty giờ đổi Hỏi trước/Bypass được giữa lượt, áp dụng cho các lệnh sau, lệnh đang chờ vẫn giữ thẻ duyệt; kết quả đổi quyền hiện thành thông báo.
- `1.21.0`: câu hỏi và yêu cầu duyệt của agent hiện từng thẻ một với thanh “Việc cần bạn quyết · 1/N” (ghi rõ main agent hay subagent nào, Hỏi hay Duyệt; main agent trước, rồi subagent theo thứ tự scout → research → verify → review, cùng agent thì hỏi trước hiện trước); thông báo góc phải khi cuộc trò chuyện khác xong lượt, lỗi, dừng hoặc chờ bạn trả lời/duyệt (bấm Mở để vào); cột trái sáng viền cam “Cần bạn trả lời”/“Cần duyệt”, “Xong · chưa xem” đến khi mở; tiêu đề tab đếm việc đang chờ; gateway đánh dấu cuộc trò chuyện có câu hỏi đang chờ; mỗi lần compact gửi cho Studio (`X-Agent-Compaction`, `X-Agent-Compacted`) để Logs hiện lý do, kích thước trước/sau và kết quả (cần Studio 0.25.0).
- `1.20.0`: sandbox công ty cài package không cần duyệt: lệnh bash thường đi qua proxy của Piagent (chạy ngoài sandbox) tới npm, PyPI, Go proxy, crates.io, Maven Central, Gradle, NuGet, RubyGems, Packagist, pub.dev, CocoaPods, Hex và tải về public từ GitHub; chỉ cổng 443/80, không IP trực tiếp hay mạng nội bộ; host khác bị chặn và lỗi ghi rõ host, vẫn phải dùng `run_with_network`; registry riêng thêm vào `~/.piagent/sandbox-domains`; Maven/Gradle (`./mvnw`, `./gradlew`) dùng được proxy; Bypass chạy `run_with_docker` không hỏi (trừ push/deploy/login/xoá không rõ đích); subagent chạy quá 15 phút (verify chạy cả bộ test) không còn bị dừng với `managed-helper-cancelled`; subagent review đọc được code đã commit ở các lượt trước (`since`, hoặc các commit của nhánh khi lượt chưa sửa gì) thay vì báo “không có patch”.
- `1.19.0`: task công ty có checklist được làm đến hết: khi main agent tự dừng giữa chừng lúc checklist còn bước (Harness bắt buộc plan), Harness tự cho làm tiếp bước kế tiếp (mỗi vòng là một run mới, dừng sau 2 vòng liên tiếp không tiến triển, tối đa 30 vòng); cuối mỗi lượt có dòng báo Hoàn thành / Dừng giữa chừng còn x/y bước / Lỗi / Bạn đã dừng, kèm nút Tiếp tục; bước member bảo để sau được ghi “để sau” chứ không ghi là xong; lượt có commit vẫn được check và review; run không đóng được (mất mạng, máy ngủ) kết thúc lượt là lỗi; sandbox công ty có `run_with_docker` (một lệnh được duyệt dùng internet và Docker engine, không có credential registry, Bypass vẫn hỏi khi mount ngoài project); `./gradlew` và `./mvnw` dùng lại distribution đã có trên máy; folder chứa nhiều repo hiện “N repo” và đổi nhánh từng repo; danh sách folder đầy tự nhường chỗ.
- `1.18.0`: đổi nhánh Git ngay trên dashboard (bấm vào tên nhánh: chọn nhánh có sẵn hoặc tạo nhánh mới; không đổi khi có cuộc trò chuyện đang chạy trong folder); lỗi tạm thời của model sau khi Studio đã nhận (stream bị cắt, model hoặc gateway không trả lời) tự thử lại tối đa 2 lần; Claude Haiku 5.5.
- `1.17.0`: dashboard hiện nhánh Git của project (dưới tên cuộc trò chuyện, ở thanh trạng thái và cạnh từng nhóm project); detached HEAD hiện mã commit màu cảnh báo.
- `1.16.3`: dashboard cập nhật bằng nút xong vẫn tự kiểm tra bản mới (trước đó bị tắt tới khi khởi động lại máy).
- `1.16.2`: Terminal (`pi`, `piagent studio`) hỏi "Cập nhật ngay / Để sau" khi có bản mới, `/piagent-update`; `/bypass` trong `piagent studio`; lệnh mạng hỏi kèm lý do; lỗi và ghi chú Harness trong Terminal bằng tiếng Việt. Đổi trình khởi chạy công ty: Agent Watch tự cập nhật cấu hình ở lần đồng bộ kế tiếp.
- `1.16.1`: có bản mới thì dashboard mở dialog "Cập nhật ngay / Để sau" (nhắc lại sau 1 giờ); dashboard và Terminal kiểm tra bản mới mỗi giờ; tab dashboard không còn mất đăng nhập vì server Piagent khác trên máy, tab hết phiên nói cách mở lại thay vì gọi lại liên tục với 401.
- `1.16.0`: Bypass cho cuộc trò chuyện công ty (chỉ hỏi việc bắt buộc: đẩy/gửi ra ngoài, migration, xóa không rõ đích, sudo); subagent mà Harness thêm giữa chừng dùng được ngay; phiên cá nhân "Toàn quyền" không hỏi `git add` toàn bộ.
- `1.15.2`: cuộc trò chuyện công ty dài tóm tắt được trở lại (trước đó Studio từ chối với 401 `authentication_required`); tóm tắt ở 90% cửa sổ model, muộn nhất 300k token; tóm tắt lỗi được thử lại sau 1, 2, 4 … phút.
- `1.15.1`: mỗi call model công ty báo Studio mục đích (Studio 0.20.0: Logs → "Lượt agent"); nhiều cuộc trò chuyện trong một folder không nhận nhầm thay đổi của nhau; runtime công ty không mở được nói rõ lý do và lưu trữ được.
- `1.15.0`: subagent bị Studio từ chối nói đúng lý do (cần Agent Watch 0.15.0); lệnh in nhiều và chạy lâu không còn bị dừng vì `managed-tool-output-too-large`; ghi vào `/tmp` được chỉ sang `$TMPDIR`.
- `1.14.0`: cập nhật Piagent giữ model mặc định và danh sách model thành viên đã chọn, chỉ thêm model mới của bản phát hành; trên Windows, WSL2 không còn bị báo là thử nghiệm.
- `1.13.1`: mở lại cuộc trò chuyện giữ đúng chỗ đang đọc (lần đầu mở ở tin mới nhất); chữ agent viết giữa các tool call hiển thị có định dạng thay vì markdown thô.
- `1.13.0`: Piagent trên Windows qua WSL2 (sandbox bubblewrap, Agent Watch cho Windows); sau khi cập nhật, mỗi thành viên nhập lại cấu hình Piagent trong Agent Watch.
- `1.12.1`: nhánh (fork) của cuộc trò chuyện công ty gửi được tin nhắn; nhánh tạo trước bản này cần tạo lại.
- `1.12.0`: @ trong dashboard chọn file và folder ở bất kỳ đâu trên máy, agent đọc được folder ngoài project (chỉ đọc); khung chat giữ tin nhắn đang soạn khi chuyển cuộc trò chuyện; skill và command của `.claude`, `.codex`, `.agents` (project và máy) dùng được bằng `/`; sandbox công ty chạy được unit và integration test của các ngôn ngữ phổ biến (cache package theo project, server trên localhost, Xcode đã chọn, .NET).
- `1.11.1`: cập nhật xong luôn chạy dashboard của bản mới: nút cập nhật trong dashboard khởi động lại dashboard đúng cách (bản 1.11.0 cài xong nhưng không tự khởi động lại), và `piagent dashboard` thay dashboard của bản cũ còn đang chạy sau `piagent-update`.
- `1.11.0`: dashboard tự kiểm tra bản mới (khi mở và mỗi 6 giờ; từ 1.16.1 mỗi giờ) và cập nhật Pi + Piagent bằng một nút, Pi luôn lên đúng bản Piagent yêu cầu, khoá khi đang có lượt chạy; thanh trạng thái kiểu IDE, bảng lệnh ⌘K/Ctrl+K, ⌘,/Ctrl+, mở Cài đặt; Cài đặt có ô tìm kiếm, nhóm mục và mục Phím tắt. Máy đang ở 1.10.0 cập nhật tay một lần; từ 1.11.0 bấm nút trong dashboard.
- `1.10.0`: main agent hỏi lại khi yêu cầu còn để ngỏ một quyết định (thẻ câu hỏi có lựa chọn đánh số, "Khác" và "Để agent tự quyết"); subagent được phản biện brief, bất đồng lần hai thì member quyết (báo cáo quy trình v3 cần Studio và Agent Watch mới, bản cũ vẫn nhận v2); subagent tự chạy lại trên model dự phòng khi hết quota; patch lớn được review theo từng phần; tab dashboard cũ không còn bị từ chối khi dashboard được mở lần nữa trong cùng trình duyệt.
- `1.9.3`: Enter khi gõ tiếng Việt (bộ gõ đang chốt chữ) không còn gửi tin hay tạo cuộc trò chuyện; bấm Enter hai lần chỉ tạo một cuộc trò chuyện và gửi một tin; subagent đọc tối đa 20.000 ký tự mỗi trang web (main giữ 100.000).
- `1.9.2`: ở chế độ công ty có subagent nghiên cứu, việc trên web do subagent này làm (main agent không còn công cụ web); kết quả search ghi rõ engine (Tavily, Exa, Parallel); agent tự giới thiệu là Piagent; dashboard không còn giật lên đầu khi gửi tin nhắn; bộ đếm subagent theo số Harness bật.
- `1.9.1`: subagent khảo sát và xác minh cho tài khoản công ty (chỉ khi Harness bật); tìm web qua search pool của Studio cho mọi vai; gửi `piagent/<version>` cho Studio. Sandbox công ty: đọc được `auth.json` nằm trong source (file dịch); giấu hẳn `.env*` (trừ file mẫu) để Vite/Vitest/Next vẫn chạy; ở thư mục không có git, lệnh chỉ đọc không còn bị tính là sửa code; E2E chạy qua `run_with_network`; bộ cài không gợi ý lệnh đã bỏ.
- `1.9.0`: phiên freeform — bỏ task contract và các command workflow (`/workflow`, `/fresh`, `/onboard`…); khung main/research/review cho tài khoản công ty; redact credential Studio; sửa duyệt trên WebUI.
- `1.8.0`: Pi 0.87.1, thêm GPT-6 Astra/Sol/Luna vào catalog, WebUI và tier routing opt-in. Không chạy lại 108 phiên hay claim hiệu suất GPT-6.
- `1.7.1`: Pi 0.86.1, chờ trong phiên đang mở, sửa context/usage và phục hồi; kết quả chạy lại 14 phiên lỗi được giữ riêng, không claim một full108 mới hay tiết kiệm token tổng thể.
- `1.7.0`: chỉ có annotated tag; macOS tag CI chạm giới hạn 40 phút hai lần nên npm và GitHub Release không được publish. Được thay bằng `1.7.1`.
- `0.1.x`: local/internal pilot.
- `0.2.x`: có guard ổn định và docs team.
- `1.0.2`: đủ security review, MCP registry, adapter schema versioned.
- `1.1.0`: đọc document ngoài project qua `additionalReadRoots`, MCP baseline bật mặc định ở cả hai lệnh install, pin Pi host `0.82.0`.
- `1.1.1`: `piagent-setup --no-mcp` thật sự không cài MCP (opt-out từng bị default mới của `1.1.0` đè); `site:check` không còn treo khi response vượt body cap và không còn `PASS` khi có địa chỉ chưa kiểm được; `piagent_document_read` từ chối byte không phải UTF-8/UTF-16 thay vì decode thành ký tự thay thế.
- `1.1.2`: đóng TOCTOU của document reader, hash evidence tính trên text đã redact, publish chờ đủ verify matrix.
- `1.1.3`: command mang secret không còn được dùng làm verify evidence, document reader từ chối FIFO thay vì treo, redact secret ngắn, redirect phải về đúng trang được kiểm.
- `1.1.4`: nhận diện secret dạng CLI option (`--token`, `--password`, `--api-key`) và Authorization header ở mọi vị trí argument.
- `1.1.5`: thêm `piagent-update` — một lệnh update cả Pi host, terminal helper và Pi package đúng thứ tự.
- `1.1.6`: `be-readonly-fe` giữ được backend read-only trong monorepo, detect FE/BE đọc cả workspace, và rule detect gộp về một chỗ.
- `1.1.7`: update global không còn chặn project đang chạy — lock chỉ block khi grant thật sự đổi, và profile dạng `extends` nhận policy từ platform đang cài thay vì giữ bản copy lúc onboard.
- `1.1.8`: Pi báo ngay ở đầu session khi có release mới, kèm lệnh chạy update.
- `1.1.9`: notice update hiện đúng trên bản cài bằng `pi install git:` — bản cài nhận diện theo vị trí thư mục, không theo `.git`.
- `1.2.0`: `piagent-mcp` quản lý server đầy đủ, server do repo mang theo phải được duyệt mới dùng được, và `/piagent-mcp` là command trong session chứ không phải nhờ model chạy bash.
- `1.2.1`: approval gate thật sự phủ direct tool và server đến qua `imports` — hai đường vòng mà bản `1.2.0` để hở; kèm một loạt fix về containment khi vendor, độ sâu shell guard, và credential trong URL.
- `1.2.2`: tool output dài được compact vào preview trong Pi và capture local cho Agent Watch/report; thêm `/setname` và `/logs` cho session naming và log audit gọn.
- `1.2.3`: gom command hằng ngày về `/workflow`, `/usage`, `/context`, `/permission`, `/onboard`, `/name` và `/fresh`.
- `1.2.4`: update global có fallback về user-writable npm prefix và project migration/doctor là bước hậu kiểm tùy chọn.
- `1.2.5`: updater đọc đúng metadata singleton-array của npm 12.
- `1.2.6`: Context Engine v2, dynamic tool loading, hard-budget retrieval, semantic compaction, Agent Watch telemetry/feedback và quality benchmark theo context efficiency.
- `1.2.7`: refresh exact MCP/subagent add-on pins, loại dependency URL/static-server có advisory và chặn cả moderate advisory trong runtime release gate.
- `1.2.8`: cài `pi-web-access@0.17.0` mặc định trong setup/update để researcher subagents có web/search/fetch thật; thêm `--no-web-access` cho máy không được phép browse.
- `1.2.9`: hợp nhất Context Engine exclusion policy giữa CLI và runtime, resolve profile `extends`, loại `readOnlyPaths`, tự rebuild index khi policy digest đổi, chặn symlink source ra ngoài project, và làm rõ lỗi thiếu migrator trong update dry-run.
- `1.2.10`: bắt buộc `contextIndexV2Status` nhận explicit exclusion policy; Context Engine storage chuyển sang owner-only, bật core + FTS5 secure-delete và tự retry FTS rebuild/VACUUM khi policy đổi để purge raw bytes của index cũ.
- `1.2.11`: Task Contract v2 gắn session/attempt, retry có giới hạn, work-plan
  progress, Git baseline-aware changed files, scope + all-command final gate,
  hard completion hook, context pack dedupe, fail-closed verifier và bounded
  symlink-safe local state dùng được giữa nhiều Pi session/subagent.
- `1.2.12`: benchmark release `production-v1` 108 session, Wilson quality
  interval, so sánh có kiểm soát với surface baseline `codex-cli` trong
  `CODEX_HOME` riêng, và retry chỉ dành cho lỗi hạ tầng.
- `1.2.13`: trang benchmark tĩnh với evidence `production-v1` đã verify, chart
  score/token/paired-win, và snapshot đã sanitize trong quality benchmark guide.
- `1.2.14`: tách runtime theo layer có enforce bằng máy (dependency direction +
  file budget), integrity lock pin mọi module vừa tách, maintainer doc EN/VI, và
  bỏ `/name` custom để không shadow lệnh gốc của Pi.
- `1.2.15`: update stable chạy được trên máy đang đăng ký Piagent bằng đường dẫn
  local, kèm regression chặn installer đọc nhầm version Pi hiển thị.
- `1.2.16`: default Codex chuyển sang `openai-codex/gpt-5.5:high`, fallback khi
  thiếu thinking suffix là `high`.
- `1.2.17`: doc site song ngữ đầy đủ — 17 trang có bản EN, chuyển VI/EN cùng chủ
  đề, và gate kiểm link + locale parity.
- `1.3.0`: bản stable đầu tiên của Intelligence Engine — Criterion Graph, bounded
  current-source context, tool surface ổn định, trần một continuation, verify
  trên cây hiện tại, resume/handoff bền. Pin Pi host `0.84.1`, install stable
  dùng npm `latest` + tag `v1.3.0`.
- `1.3.1`: mở rộng integrity inventory sang TypeScript loader/CLI dispatcher và
  các module task-state/verification còn lại; thay full-file hashing mỗi tool
  call bằng metadata cache fail-closed; bỏ shell interpolation trong probe
  `pdftotext`; JSONL state lock publish owner nguyên tử và tự phục hồi khi
  writer bị kill.
- `1.4.0`: Local Session Hub — Gateway một-instance-mỗi-profile và
  `piagent dashboard` để tạo/mở lại/resume/rename/pin/archive/fork session mà
  không tốn thêm model turn; client MUI conversation-first song ngữ với Agent
  Inspector; projection Task Changes / Working Tree / Staged có bounded diff,
  provenance và enforce protected path; session lease bền, recovery khi restart
  hoặc owner cũ treo, doctor có repair tường minh.
- `1.6.1`: patch ổn định runtime và chi phí — transcript chỉ hiện response khi
  durable task đã terminal, Activity phân loại đúng retry/helper failure, review
  repo ngoài chỉ nhận read grant session-scoped cho checkout chính xác, và direct
  subagent bị khóa solo-first với một helper read-only có budget hữu hạn. Benchmark
  thêm gate provider-free/Codex-relative nhưng không đưa ra claim chi phí mới.
- `1.6.0`: context evidence khóa đúng turn/session/task run; WebUI có canonical
  live state, watchdog và Stop an toàn qua reload/multi-tab; chat chỉ hiện kết
  quả thành công còn retry/lỗi nằm trong Activity; deep-logic benchmark có bài
  temporal billing nhiều package và accounting fail-closed. Release này không
  đưa ra claim token mới vì production benchmark đã được operator dừng.
- `1.5.5`: hotfix WebUI command execution — approval nhận đúng opaque tool-call
  ID, lệnh tìm kiếm không còn bị nhận nhầm thành migration, Stop hủy approval
  đang chờ, activity chỉ báo running sau khi command thật sự chạy, và restart
  không tái sử dụng process treo.
- `1.5.4`: hotfix WebUI giữ ownership qua workflow dispatch bất đồng bộ, không
  còn báo `session-command-effect-unknown` giả; session đã tạo được tự đồng bộ
  mà không gửi lại, và transcript không lặp tin workflow sau khi persisted.
- `1.5.3`: WebUI có workflow theo từng tin nhắn thay vì khóa cả session, mặc
  định hiển thị rõ GPT-5.6 Sol High, Project Controls typed và UI gọn sau nút
  `+`; benchmark thêm `deep-logic-v1`, WebUI parity provider-free và hai family
  capability cho session control/timeline recovery.
- `1.5.2`: kéo thả và dán tài liệu vào ô chat mới. Nút kẹp giấy vốn đã đưa file
  vào session mới; kéo thả là lối vào duy nhất còn im lặng, file thả xuống bị
  mất mà không báo gì.
- `1.5.1`: bản phát hành mang nội dung của `1.5.0` tới registry. `1.5.0` được
  tag nhưng release matrix fail trên macOS nên job publish không chạy; tag cũ
  được giữ nguyên thay vì dời, vì bootstrap dựa trên tính bất biến của tag.
- `1.5.0`: document workspace, bounded file attachments, deterministic session
  titles và compact live activity timeline trong Session Hub. Không có trên
  registry — dùng `1.5.1`.
- `1.4.1`: maintenance release cho Session Hub và guard — session tiếp tục được
  qua nhiều Task Contract thay vì bị terminal giữa cuộc trò chuyện, task chỉ
  chạy test/build được cấp đúng execution authority, Gateway/local install luôn
  đồng bộ cùng checkout, context usage của session đã lưu hiển thị trong WebUI,
  và integrity/redaction/docs parity được mở rộng tới shell, browser bundle,
  TypeScript graph, npm token cùng các lệnh remedy có thể thực thi.

## Không publish

- `auth.json`
- `.env`
- session files
- private token
- project data dump

## Team onboarding

1. Install exact Pi host version declared by the target release.
2. Install the pinned terminal helper and matching Pi package.
3. Login OAuth provider.
4. Run `pi` in the target project.
5. Ask the agent to inspect the project read-only and record its project context.
6. Choose/apply a profile inside Pi.

Chi tiết: `docs/team-onboarding.md` và `docs/distribution-standard.md`.
