# 99Pages Agentic OS Release Checklist

This checklist is the commercial release gate for the portable Agentic OS build.
Do not burn the USB image until the local build, cloud link, and run projection
items are checked.

## Scope

- Source repo: `agentic-os-modules`
- V3 runtime repo: `99pages-agentic-os-v3`
- Local data root: `%USERPROFILE%\.agentic-os`
- Commercial auth model: Magic Link + local Keybox + USB/device binding
- Removed from default USB UX: USBLock-Pro passphrase/vault gate

## Code And Contracts

- [ ] Grouped commits are clean and explainable.
- [ ] No API key, provider key, token, or passphrase is committed.
- [x] V3 core document index exists.
- [x] SDK contracts use the shared MCP/Skill/Plugin capability model.
- [x] SDK development plan exists.
- [x] PDR V3 draft exists.
- [x] Textbook V3 plan exists.
- [x] System deployment V3 guide exists.
- [x] app.99pages.uk HTML5/PWA deployment guide exists.
- [x] Commercial version command and release build scripts exist.
- [x] Burn-ready package includes OS/architecture auto-detect launchers.
- [x] `/update` slash command and `99p update` maintenance path exist.
- [x] Commercial install-anchor binding is enforced after 99pages.uk registration.
- [x] Windows USB burner writes a cross-platform USB root marker and device lock.
- [ ] No hard-coded provider selection is visible to end users.
- [ ] Main agent policy stays AI Workforce only, with MiniMax 2.5 as the main agent.
- [ ] Module sub-agents are selected through Workforce policy, not UI-exposed raw providers.
- [ ] Relay endpoint is not shown in human-facing UI.
- [x] Copyright/version information is present in CLI/TUI: "99Pages Agentic OS Powered By Ng Tick Kee (Founder of UiBC Training Hub)".
- [x] SubCLI is visible as a first-class CLI/TUI surface, separate from Core CLI.
- [x] TUI includes a line-editor style footer guide for Help, Exit, Run, Runs, Approve, MCP, SubCLI, and Keybox.
- [x] High-frequency MCPs have slash shortcuts before custom TUI panels are built.
- [x] Mini App Builder is exposed as MCP CLI first, with UI treated as optional projection.
- [x] `99p apps` exposes the agent-native application contract over MCP.

## Local Runtime

- [ ] Core CLI opens the local control flow and can launch Cockpit.
- [ ] SubCLI can spawn a task and return a result through AI Workforce.
- [ ] TUI exposes the same Core CLI, MCP, SubCLI, approval, and resume commands as `99p`.
- [x] `99p doctor` and `99p bootstrap [--yes]` are available for three-platform startup checks.
- [x] PowerShell UTF-8 is the required Windows shell surface for CLI/TUI/MCP launches.
- [x] Linux and macOS install notes are current through bootstrap package-manager hints.
- [ ] Local Keybox can store secrets without sending them to cloud storage.
- [x] Keybox has explicit CLI/TUI entry points for secret/key tools and guarded calls.
- [ ] USB build does not require passphrase unlock before Magic Link login.
- [ ] Portable USB/SSD mode uses the same runtime structure.
- [x] Windows/macOS/Linux binaries share `.agentic-os` MCP/data/log/runtime roots.

## MCP Capability Map

- [ ] `99p mcp audit` reports the installed MCP registry.
- [ ] `99p mcp manifest` reports `ui_kind`, modes, categories, and approval policy.
- [ ] Capability-only MCPs do not require HTML5 UI.
- [ ] Core MCPs are present: SubCLI, WorkforcePro, Project, Keybox, Wiki, Workflow.
- [ ] Mini App Builder can create schema, prepare database, write/import data, and emit reports through MCP CLI.
- [ ] Device MCPs are present: PTY, SSH, filesystem, browser use, computer use.
- [ ] Media MCPs are present: Creative Studio, Media Workflow Runner, Vision, Voice.
- [ ] Business MCPs are present: Finance Ledger, WhatsApp/YCloud connector, Mini App market.
- [ ] Library/Wiki can register and scan Obsidian vaults.
- [ ] Capability projection is available to Cockpit through shared app registry code.

## Run Event Stream

- [ ] Every run writes durable JSONL events.
- [ ] CLI `runs`, `events`, and `watch` can inspect the run stream.
- [ ] ReAct loop steps are visible as events, not hidden final answers only.
- [ ] Approval requests are explicit events.
- [ ] MCP approval flow closes: `mcp.call.requested` -> `approval.required` -> `approval.granted` -> `mcp.call.resumed` -> completed/failed.
- [ ] Evidence references include files, MCP calls, screenshots, or tool outputs.
- [ ] Cockpit can project active runs into agent cards.
- [ ] Telegram can project progress summaries from the same event source.

## Telegram And Remote Control

- [x] Telegram long polling can be enabled without manual one-message polling.
- [x] Telegram smart reply reads recent local message context.
- [x] Telegram can fan out a request into SubCLI/agent tasks when enabled.
- [ ] Telegram progress messages show each meaningful task step.
- [x] Telegram bot reports product name, version, copyright, and capability summary.
- [x] Telegram background poller can be started, checked, and stopped from Core CLI.
- [ ] Remote commands are queued by default and do not interrupt running agents unless forced.

Verified on 2026-05-23 with `windows99pagesagentbot`:

- `TelegramBotMe` returned bot identity.
- `TelegramBotGetUpdates` long-polled a real inbound Telegram message.
- `TelegramBotRecentMessages` showed inbound and outbound messages in local SQLite.
- `TelegramBotSendMessage` sent an ACK and logged outbound state.
- Controlled `AUTOPOLL + SMART_REPLY + AGENT_LOOP` session replied to real Telegram input and recorded the reply locally.
- The test process was stopped after verification; this is not yet installed as a permanent background service.
- `99p telegram start/status/stop` smoke-tested as a controlled background poller. It writes PID/log files under `.agentic-os` and does not install an OS boot service.

## Cockpit And App

- [ ] Local Cockpit is the default page at the portable localhost URL.
- [ ] Cockpit and app.99pages.uk follow the HTML5/PWA-only GUI direction.
- [ ] Cockpit follows `docs/DEPLOYMENT_PLAN.md` before USB packaging.
- [ ] Cockpit panels are declared in `configs/panel_registry.json`.
- [ ] Core CLI Bridge exposes runs, events, MCP audit/tools/call, SubCLI, Telegram, and Health Check actions.
- [ ] Browser Terminal is a Core CLI communication surface, not a bash editor.
- [ ] Health Score is first-screen, uses `health_score_fast`, and hides provider/model names.
- [ ] app.99pages.uk dashboard is separate from local Cockpit.
- [ ] Mobile dashboard shows connected devices, workspace cache, balance, and approvals.
- [ ] SubAdmin account can use app.99pages.uk as a normal user.
- [ ] SubAdmin-only controls stay in portal.99pages.uk.
- [ ] Balance, top-up, seats, and usage records are visible after login.
- [ ] MCP Market presents MCP, Skill, Plugin, and Mini App as one capability system.
- [ ] Mini App Builder creates one SQLite-backed app store per app by default.

## Cloud And Billing

- [ ] Magic Link login binds the device/workspace seat.
- [ ] Cloud R2 workspace cache enforces the 50 MB limit.
- [ ] Seat billing is charged per active device seat per 30 days.
- [ ] AI Workforce usage is recorded by user and capability.
- [ ] Fal.ai/media generation upstream is configured in new-api, not in media services.
- [ ] Media pricing uses feature/spec-based markup, not hidden provider pass-through.

## Verification Commands

```powershell
cd C:\Users\DELL\Documents\agentic-os-modules
go test ./internal/libraryscan ./cmd/agentic-mcp-library ./cmd/agentic-mcp-wiki
go test ./internal/subcliagent ./cmd/agentic-mcp-subcli ./cmd/agentic-mcp-chat
go test ./internal/telegrambotclient ./cmd/agentic-mcp-telegram-bot ./internal/webappserver

cd C:\Users\DELL\Documents\99pages-agentic-os-v3
go test ./...
go run ./cmd/99p mcp audit
go run ./cmd/99p models
go run ./cmd/99p subcli spawn project_triage "只回复 OK，不要解释。"
go run ./cmd/99p subcli result <task_id>
```

## Burn Gate

USB writing is the final step only.

- [ ] Local localhost Cockpit smoke test passes.
- [ ] Magic Link flow works from local launcher.
- [ ] No passphrase/vault prompt appears in the commercial launcher.
- [ ] Telegram long context and event projection are verified.
- [ ] Versioned compiled binaries exist for Windows, Linux, and macOS.
- [ ] The E: drive is formatted and empty.
- [ ] The release artifact copied to E: is compiled output, not source code.
