Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
197 changes: 197 additions & 0 deletions .harness/checklists/theorem-chat-register--plan-local-20260805a.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,197 @@
{
"schema_version": 1,
"plan_id": "plan-theorem-chat-register-20260805a",
"tenant_slug": "Travis-Gilbert",
"room_id": "room:ungrouped",
"workstream": "theorem-chat-register",
"created_at": "2026-08-05",
"planning_skill": "theorems-harness:planning-theorem",
"execution_skill": "theorems-harness:execute",
"substrate_status": "local_projection_only",
"substrate_note": "Harness plan create timed out / product plugin discovery 404 at planning time; import with plan import when MCP recovers.",
"sources": [
"docs/plans/theorem-chat-register/PLAN.md",
"docs/plans/ide-substrate-wire/FOLLOW-UP-CODE-SERVE-WEB.md",
"docs/plans/console/SPEC-COMMONPLACE-OPENWORK-FORK-1.0.md",
"docs/records/013-vscode-surface.md",
"feat/studio-overlay-retire-copilot"
],
"deferrals": [
{
"id": "D1",
"title": "Theorem as real defaultChatAgent",
"reason": "Requires Chat participant / host APIs over ACP; this plan retires Copilot and mounts the Theorem register UI instead.",
"consent": "surfaced_in_plan_20260805"
},
{
"id": "D2",
"title": "Full OpenWork fork archive cleanup",
"reason": "CR-007 supersedes the product path; historical OW* specs remain as record until a dedicated archive pass.",
"consent": "surfaced_in_plan_20260805"
}
],
"items": [
{
"id": "CR-000",
"title": "Durable plan + checklist projection",
"status": "done",
"oracle_class": "artifact",
"implementation_mode": "docs",
"evidence_class": "artifact",
"substitution_allowed": false,
"live_oracle_required": false,
"acceptance": [
"PLAN.md and checklist projection exist and name CR-001..007",
"plan_id plan-theorem-chat-register-20260805a recorded"
],
"proof_command": "test -f docs/plans/theorem-chat-register/PLAN.md && test -f .harness/checklists/theorem-chat-register--plan-local-20260805a.json"
},
{
"id": "CR-001",
"title": "Land Copilot retirement + redeploy Studio image",
"status": "pending",
"oracle_class": "live",
"implementation_mode": "product",
"evidence_class": "pending",
"substitution_allowed": false,
"live_oracle_required": true,
"grounding": [
"packaging/commonplace-studio/product.overlay.json",
"packaging/commonplace-studio/patches/0003-retire-default-chat-agent-copilot.patch",
"packaging/workspace/entrypoint.sh",
"feat/studio-overlay-retire-copilot"
],
"acceptance": [
"Branch merged to main and workspace redeployed",
"Live product.json has no defaultChatAgent / voiceWsUrl Copilot host",
"extensions/copilot absent from studio-server",
"Signed-in /IDE walkthrough title is Commonplace Studio"
],
"proof_command": "cd packaging/commonplace-studio && ./scripts/ledger-gate.sh"
},
{
"id": "CR-002",
"title": "Repair sticky empty /workspace/repo",
"status": "pending",
"oracle_class": "live",
"implementation_mode": "product",
"evidence_class": "pending",
"substitution_allowed": false,
"live_oracle_required": true,
"grounding": [
"packaging/workspace/entrypoint.sh"
],
"acceptance": [
"Entrypoint repairs or reclones empty sticky git init when WORKSPACE_REPO_URL is set",
"Live /workspace/repo has package.json and a resolvable HEAD",
"/IDE Explorer and /chat share that tree"
],
"proof_command": "railway ssh --service commonplace-workspace -- 'test -f /workspace/repo/package.json && git -C /workspace/repo rev-parse HEAD'"
},
{
"id": "CR-003",
"title": "Theorem chat register package contract",
"status": "pending",
"oracle_class": "artifact",
"implementation_mode": "docs",
"evidence_class": "pending",
"substitution_allowed": false,
"live_oracle_required": false,
"grounding": [
"docs/plans/theorem-chat-register/PLAN.md",
"docs/plans/theorem-chat-register/SPEC-THEOREM-CHAT-REGISTER-1.0.md"
],
"acceptance": [
"SPEC names package path, register_impl id, Studio seam, /chat seam",
"Non-goal: IDefaultChatAgent without Chat participant APIs",
"Retirement inventory lists openwork.chat, OpenWork server, LLM leftovers"
],
"proof_command": "test -f docs/plans/theorem-chat-register/SPEC-THEOREM-CHAT-REGISTER-1.0.md"
},
{
"id": "CR-004",
"title": "Implement Theorem chat register package",
"status": "pending",
"oracle_class": "test",
"implementation_mode": "product",
"evidence_class": "pending",
"substitution_allowed": false,
"live_oracle_required": false,
"grounding": [
"packages/",
"apps/theorem-vscode/",
"apps/console/"
],
"acceptance": [
"Package builds in the pnpm workspace",
"Tests cover session open and one turn",
"Happy path has no openworklabs or opencode product dependency"
],
"proof_command": "pnpm --filter <chat-register-package> test"
},
{
"id": "CR-005",
"title": "Mount register in Studio agent/chat panel",
"status": "pending",
"oracle_class": "live",
"implementation_mode": "product",
"evidence_class": "pending",
"substitution_allowed": false,
"live_oracle_required": true,
"grounding": [
"apps/theorem-vscode/",
"packaging/commonplace-studio/"
],
"acceptance": [
"Signed-in /IDE shows Theorem register UI in the agent/chat region",
"ACP / theorem.startSession works against the shared checkout",
"No GitHub Copilot sign-in wall for chat"
],
"proof_command": "manual signed-in /IDE session smoke + ACP prompt receipt"
},
{
"id": "CR-006",
"title": "Mount register at /chat; retire OpenWork door",
"status": "pending",
"oracle_class": "live",
"implementation_mode": "product",
"evidence_class": "pending",
"substitution_allowed": false,
"live_oracle_required": true,
"grounding": [
"apps/console/src/views/OpenworkChatRegister.tsx",
"apps/console/src/middleware.ts",
"apps/console/src/views/registry.tsx",
".commonplace-canonical",
"packaging/workspace/"
],
"acceptance": [
"Live /chat stamp is the Theorem register_impl, not openwork.chat",
"OpenWork/opencode is not the product /chat host",
"doctor + register-manifest green"
],
"proof_command": "node scripts/check-register-manifest.mjs && node scripts/doctor.mjs"
},
{
"id": "CR-007",
"title": "Retire residual LLM / OpenWork debt + EXECUTE-REPORT",
"status": "pending",
"oracle_class": "artifact",
"implementation_mode": "docs_and_delete",
"evidence_class": "pending",
"substitution_allowed": false,
"live_oracle_required": false,
"grounding": [
"docs/plans/theorem-chat-register/EXECUTE-REPORT.md",
"apps/chat/MODIFICATIONS.md",
"docs/plans/console/SPEC-COMMONPLACE-OPENWORK-FORK-1.0.md"
],
"acceptance": [
"EXECUTE-REPORT lists deletions and live stamps",
"No product route serves OpenWork as the chat register",
"OW / FOLLOW-UP docs note supersession"
],
"proof_command": "test -f docs/plans/theorem-chat-register/EXECUTE-REPORT.md"
}
]
}
22 changes: 13 additions & 9 deletions docs/plans/ide-substrate-wire/FOLLOW-UP-CODE-SERVE-WEB.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
# Follow-up: Commonplace Studio `code serve-web` (D1 / V7)

Parent plan: [`PLAN.md`](./PLAN.md) · Execute: [`EXECUTE-REPORT.md`](./EXECUTE-REPORT.md)
**Successor plan (Copilot hole → Theorem register + OpenWork retirement):** [`../theorem-chat-register/PLAN.md`](../theorem-chat-register/PLAN.md) (`plan-theorem-chat-register-20260805a`).
Canonical decision: [`docs/records/013-vscode-surface.md`](../../records/013-vscode-surface.md) · Pipeline: [`packaging/commonplace-studio/`](../../../packaging/commonplace-studio/)

## Status

**Unparked, building.** The entrypoint carries Studio as the default IDE host
(CS-004..CS-006, spec amendment A14). Stock code-server remains the rollback
behind `--build-arg BUILD_STUDIO_SERVER=0` and is still what the live deploy
runs until CS-007 (`IDE_HOST=code-server` on Railway). The door and pack were
always live; this follow-up swaps the **workbench binary**.
**CS-007 host live; Microsoft/Copilot retirement in flight.** Deploy
`c4636818` runs `IDE_HOST=studio`. Session smoke showed Commonplace Studio
chrome plus status-bar Theorem, but upstream Copilot product keys, the built-in
`extensions/copilot` tree, and “VS Code for the Web” walkthrough titles still
shipped. Branch `feat/studio-overlay-retire-copilot` deletes those product keys
(overlay null → remove), adds patch `0003` null-checks, strips the copilot
extension from the server artifact, seeds `chat.disableAIFeatures`, and retitles
the web walkthrough. Stock code-server remains the image rollback until CS-008.

**2026-08-04 scar after #185.** Dropping `-min` was necessary but not
sufficient. `gulpfile.reh.ts` starts every `vscode-reh-web-*` task with
Expand Down Expand Up @@ -81,13 +85,13 @@ Authenticated `/IDE` serves Commonplace Studio’s web workbench (`code serve-we
| ID | Task | Grounding | Proof | Status |
|---|---|---|---|---|
| CS-000 | Durable follow-up (this file) + link from parent plan | `FOLLOW-UP-CODE-SERVE-WEB.md`, checklist note | file exists | done |
| CS-001 | Clear disk floors; run `build.sh prepare` then the deployable target on pinned `UPSTREAM_TAG` | `packaging/commonplace-studio/scripts/build.sh`, `RUNBOOK.md` | server artifact; ledger-gate pass | **doing** (Railway). Mangler OOM cleared by patch 0002 (deploy `b1baa84f` got through compile/bundle). Next failure: vsce/`npm list` on staged `theorem-vscode` with `workspace:*` deps — ship manifest strips deps (dist already bundled) |
| CS-002 | Local smoke: the server boots; pack activates; OpenVSX/telemetry/identity checks | Studio RUNBOOK §5 web bullets | written smoke receipt | harness landed (`scripts/smoke-server.sh`, shellcheck clean); awaiting the CS-001 artifact to produce the receipt |
| CS-003 | OW5 amendment: workspace image replaces `code-server` install with Studio server output | `packaging/workspace/{Dockerfile,entrypoint.sh}`, Studio README | amendment text + `/opt/commonplace/studio-server/bin/commonplace-studio-server` present in the running container | **source done**; live proof still open. Stage gated on `BUILD_STUDIO_SERVER`, `COPY --from=studio-server` present. Last SUCCESS image is still `4e33d620` (no Studio). All later deploys FAILED through `7c2690ab` |
| CS-001 | Clear disk floors; run `build.sh prepare` then the deployable target on pinned `UPSTREAM_TAG` | `packaging/commonplace-studio/scripts/build.sh`, `RUNBOOK.md` | server artifact; ledger-gate pass | **done** (Railway `c4636818` built Studio; ship-pack + mangler scars closed) |
| CS-002 | Local smoke: the server boots; pack activates; OpenVSX/telemetry/identity checks | Studio RUNBOOK §5 web bullets | written smoke receipt | **expanded**: smoke now asserts no `defaultChatAgent` / Copilot endpoints / `extensions/copilot`. Full receipt awaits next Studio image |
| CS-003 | OW5 amendment: workspace image replaces `code-server` install with Studio server output | `packaging/workspace/{Dockerfile,entrypoint.sh}`, Studio README | amendment text + `/opt/commonplace/studio-server/bin/commonplace-studio-server` present in the running container | **done** (live on `c4636818`) |
| CS-004 | Entrypoint: start the Studio server (host/port, user-data, extensions, proposed APIs) without stealing `$PORT` from OpenWork | today’s `env -u PORT` pattern for code-server | `/health` + IDE port respond; chat still on 8787 | **done** (host branch; `env -u PORT` kept; shellcheck clean) |
| CS-005 | Edge proxy / register: keep `/IDE` path strip; rename or note register impl if product id changes | `edge-proxy.mjs`, `.commonplace-canonical`, `IdeRegister` | register-manifest + proxy tests | **done** (proxy unchanged by design; manifest notes the selectable host and defers the rename to CS-008) |
| CS-006 | Preserve substrate env: bootstrap `editor.env`, `CONSOLE_EDITOR_SUBSTRATE_URL`, ACP vars | `bootstrap-editor-substrate.mjs`, Railway vars | doctor substrate green; pack GraphQL + SSE | **done** (one `ide_env` array both hosts pass identically) |
| CS-007 | Live cutover + authenticated `/IDE` smoke (session cookie) | Railway workspace + console | pack providers + one ACP prompt | pending (CS-002) |
| CS-007 | Live cutover + authenticated `/IDE` smoke (session cookie) | Railway workspace + console | pack providers + one ACP prompt | **host cutover done**; Copilot/Microsoft retirement pending redeploy of overlay+0003; ACP prompt still open |
| CS-008 | Retire stock code-server from workspace image once Studio is proven; update EXECUTE-REPORT; rename `manifest_impl` and `REGISTER_IMPL` to `commonplace-studio.ide` | Dockerfile, EXECUTE-REPORT, `.commonplace-canonical`, `edge-proxy.mjs` | image no longer ships code-server binary as host | pending (CS-007) |

## Sequence
Expand Down
Loading
Loading