Skip to content
Open
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
10 changes: 8 additions & 2 deletions docs/open-collection-gap-analysis/AGENT_PROGRESS.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Status values: `Unclaimed`, `Claimed`, `In Progress`, `Review Ready`, `Blocked`,

| Role | Owner | Scope | Since | Current Focus |
| --- | --- | --- | --- | --- |
| Supervisor | Codex | Sanity-check completed tracks, run build/test/package/install verification, preserve GitButler branch hygiene, and append progress reports. | 2026-06-14 22:31 NZT | OC-050/OC-090/OC-100 audit and OC-070/OC-080 readiness. |
| Supervisor | Codex | Sanity-check completed tracks, run build/test/package/install verification, preserve GitButler branch hygiene, and append progress reports. | 2026-06-14 22:31 NZT | Final OpenCollection OC-000 through OC-110 acceptance, branch hygiene, and installed VSIX verification complete. |

## Test Coverage Rules

Expand Down Expand Up @@ -64,7 +64,7 @@ Use full branch names for stacking existing branches with `but move <child-branc
| OC-040 | Scripts, tests, assertions, actions | Done | Codex | feature/oc-040-runtime-scripting-testing (ru); primary implementation commit `Add OC-040 runtime scripting support`; shared runtime dependency commits `Add OC-010 GraphQL request support`, `Wire shared runtime execution services`, and `Add OC-030 gRPC unary protobuf support` on the applied stack | Satisfied by `test/runtimeExecutionService.test.ts`, `test/sendRequestTool.test.ts`, `test/responseProvider.test.ts`, and foundation/runtime regressions: lifecycle ordering, protocol-neutral context, sandbox-denied filesystem/process/network globals, console/test diagnostics, assertions, JSON selector `set-variable` actions, runtime variable mutation, HTTP request mutation, Runtime response tab/provider/tool output, fixture-backed demo runtime routes/requests, deterministic pass/fail diagnostics, demo collection validation, and shared HTTP no-op regression coverage. | `npx vitest run test/openCollectionFoundation.test.ts test/runtimeExecutionService.test.ts test/sendRequestTool.test.ts test/responseProvider.test.ts` passed 4 files/24 tests; `npm run compile` passed; `npm test` passed 20 files/380 tests; `npm run build` passed; `node scripts/validate-collection.js examples/demo-api` passed 32/32 files; live `node examples/demo-api/server.js` smoke verified `POST /runtime/echo`, `POST /runtime/token`, and `GET /runtime/assert-fail`. | 2026-06-14 23:42 NZT | OC-040 complete; no-change GitButler retry commits were removed during supervisor stack cleanup. |
| OC-050 | Auth, proxy, mTLS, transport completion | Done | Codex | feature/oc-050-auth-transport (ut), stacked on feature/oc-100-request-type-ux; implementation commit `93c1d0d`; schema round-trip dependency commits `4cfa36b` and `3a5f2b7` on feature/oc-060-schema-roundtrip-validation | Satisfied by `test/httpClient.test.ts` and `test/grpcSupport.test.ts`: API-key query auth and export parity, OAuth2 token header/query placement and additional token params, redirect follow/max handling, proxy auth and bypass, collection client certificates for mTLS success/failure, HTTP/WebSocket/gRPC unsupported-auth diagnostics, dry-run inherited headers/query params, and local AuthTransport demo fixtures. | `npx vitest run test/httpClient.test.ts` passed 19 tests; `npx vitest run test/grpcSupport.test.ts` passed 14 tests; `npm run compile` passed; `node scripts/validate-collection.js examples/demo-api` passed 42/42 files; `npm test` passed 21 files/406 tests; `npm run build` passed; live demo smoke passed API-key query, OAuth token/query placement, redirects, proxy auth, and mTLS. | 2026-06-15 00:27 NZT | OC-050 complete. Remaining unassigned IDs after the implementation commit are parallel OC-090/OC-100/shared polish, not OC-050-owned runtime work. |
| OC-060 | Schema round-trip and validation | Done | Codex | feature/oc-060-schema-roundtrip-validation (sc), stacked on feature/oc-000-foundation-dispatch (fo); implementation commit `166c297` | Add golden no-op editor/serializer round-trip tests for schema-valid HTTP, GraphQL, WebSocket, gRPC, folder, environment, and collection fixtures; add validation tests proving protocol-aware request subschema selection, workspace validation in collection reports, protocol-labelled diagnostics, unknown-field preservation, and non-HTTP files not gaining `http` keys. Run targeted validation/editor/service tests plus existing touched HTTP/import-export/editor regressions. | `npx vitest run test/schemaRoundTrip.test.ts test/validationService.test.ts` passed (8 tests); `npm test` passed (15 files, 341 tests); `npm run compile` passed; `npm run build` passed. | 2026-06-14 22:30 NZT | OC-060 complete and committed; no OC-060-owned unassigned changes remain after implementation commit. |
| OC-070 | Request creation, import/export, snippet, and Copilot surface polish | Review Ready | Codex | feature/oc-070-surface-polish (rf); implementation commit `f9a5a55`; former shared-file staged set `opx`/`ku` was cleared by supervisor hunk-level GitButler absorb into owning dependency commits `0742dbc`, `395ddf0`, `8c236b4`, and `251408f` | Reuse OC-100 protocol templates; add/extend automated tests for protocol-specific request creation regressions, tree/CodeLens/command protocol identity, import/export unsupported diagnostics, HTTP snippet parity plus explicit non-HTTP snippet diagnostics, Copilot get/list/dry-run/send protocol preservation and redaction, and shared round-trip/validation regressions. | `npm run compile` passed; targeted `npx vitest run test/oc070SurfacePolish.test.ts test/requestTypeUx.test.ts test/sendRequestTool.test.ts test/postmanImporter.test.ts test/openApiImporter.test.ts test/snippetExporter.test.ts test/openCollectionFoundation.test.ts test/graphqlSupport.test.ts test/webSocketSupport.test.ts test/grpcSupport.test.ts test/schemaRoundTrip.test.ts test/validationService.test.ts` passed 12 files/153 tests; `node scripts/validate-collection.js examples/demo-api` passed 41/41 files; `npm test` passed 22 files/415 tests; `npm run build` passed. | 2026-06-15 01:35 NZT | Review OC-070 from commit `f9a5a55` plus the absorbed shared-surface hunks now present in the applied dependency stack; `zz` is clean and no OC-070 staged set remains. |
| OC-070 | Request creation, import/export, snippet, and Copilot surface polish | Done | Codex | feature/oc-070-surface-polish (rf); implementation commit `f9a5a55`; former shared-file staged set `opx`/`ku` was cleared by supervisor hunk-level GitButler absorb into owning dependency commits `0742dbc`, `395ddf0`, `8c236b4`, and `251408f`; final supervisor acceptance recorded on `supervisor/final-opencollection-review` | Reuse OC-100 protocol templates; add/extend automated tests for protocol-specific request creation regressions, tree/CodeLens/command protocol identity, import/export unsupported diagnostics, HTTP snippet parity plus explicit non-HTTP snippet diagnostics, Copilot get/list/dry-run/send protocol preservation and redaction, and shared round-trip/validation regressions. | Final review found no blocking issues. `npm run compile` passed; final targeted `npx vitest run test/oc070SurfacePolish.test.ts test/requestTypeUx.test.ts test/runtimeAuthoringUx.test.ts test/sendRequestTool.test.ts test/responseProvider.test.ts test/postmanImporter.test.ts test/openApiImporter.test.ts test/snippetExporter.test.ts test/openCollectionFoundation.test.ts test/graphqlSupport.test.ts test/webSocketSupport.test.ts test/grpcSupport.test.ts test/schemaRoundTrip.test.ts test/validationService.test.ts test/httpClient.test.ts test/runtimeExecutionService.test.ts` passed 16 files/203 tests; `node scripts\validate-collection.js examples\demo-api` passed 44/44 files; `npm test` passed 23 files/437 tests; `npm run build` passed; live fixture smoke passed HTTP health, GraphQL, runtime echo, WebSocket echo, and gRPC unary/server-streaming; `npx @vscode/vsce package --out $env:TEMP\missio-0.7.7-final-opencollection.vsix` passed; `code.cmd --install-extension $env:TEMP\missio-0.7.7-final-opencollection.vsix --force` installed `missio.missio@0.7.7`. | 2026-06-15 10:03 NZT | Accepted; no remaining OC-070 work. |
| OC-080 | Runtime lifecycle for WebSocket and unary gRPC | Done | Codex | supervisor/add-runtime-authoring-ux-task (ho); implementation commit `ea7383b`; completion/ledger commit `251408f`; supervisor cleanup commit `878063b`; supervisor review ledger is the top `ho` commit | Satisfied by `test/webSocketSupport.test.ts`, `test/grpcSupport.test.ts`, `test/sendRequestTool.test.ts`, and `test/responseProvider.test.ts`: WebSocket and unary gRPC before/after runtime lifecycle order, before-script header/metadata/body mutation, after-response scripts/tests/assertions/actions, runtime variable mutation, sandbox-denial security diagnostics, failure-path response preservation, cancellation/cleanup, response provider rendering, Copilot tool output, and schema-valid local demo WebSocket/gRPC runtime fixtures. | `npx vitest run test/webSocketSupport.test.ts test/grpcSupport.test.ts test/sendRequestTool.test.ts test/responseProvider.test.ts` passed 4 files/50 tests; `npm run compile` passed; `node scripts/validate-collection.js examples/demo-api` passed 44/44 files; live local WebSocket/gRPC runtime smoke passed with `LIVE_WS_RUNTIME_SMOKE ok` and `LIVE_GRPC_RUNTIME_SMOKE ok`; `npm test` passed 22 files/428 tests; `npm run build` passed; VSIX packaged and installed as `missio.missio@0.7.7`. | 2026-06-15 01:42 NZT | Supervisor review found no blocking OC-080 issues; GitButler `zz` is clean and the extension is installed from the reviewed stack. |
| OC-090 | gRPC streaming | Done | Codex | feature/oc-090-grpc-streaming (am), stacked on applied OC-030 unary/protobuf work; implementation commits `84cf254` and `c462d51` | Implemented method-type-aware unary, server-streaming, client-streaming, and bidirectional-streaming gRPC execution with schema-native ordered message sequences, proto method-type validation, cancellation cleanup, partial stream error retention, response stream summaries, local demo streaming proto/server/routes, and regression tests for unary dispatch, validation, round-trip safety, failure paths, and cleanup. | `npm run compile` passed; `npx vitest run test/grpcSupport.test.ts test/schemaRoundTrip.test.ts test/validationService.test.ts test/responseProvider.test.ts test/sendRequestTool.test.ts` passed 5 files/33 tests; `node scripts\validate-collection.js examples\demo-api` passed 42/42 files; `npm test` passed 21 files/405 tests; `npm run build` passed. Live hidden `node examples/demo-api/grpc-server.js` smoke verified server/client/bidi/error streams. | 2026-06-15 00:21 NZT | OC-090 complete in the verified worktree. Preserve remaining unassigned parallel/change-routing IDs called out in the OC-090 log; do not commit them to unrelated branches. |
| OC-100 | Request type UX | Done | Codex | feature/oc-100-request-type-ux (g0 after restack), stacked on supervisor/add-request-type-ux-task; implementation commit `5cb05a3` | Satisfied by `test/requestTypeUx.test.ts`: schema-valid HTTP/GraphQL/WebSocket/gRPC starter templates, actual `missio.newRequest` protocol picker/write/open flow, YAML and editor-model round-trip safety, no stale protocol roots, gRPC same-protocol editor guard, and read-only protocol chip shell. Shared regressions cover HTTP/GraphQL/WebSocket/gRPC editor, validation, command/tool, and protocol behavior. Switcher/conversion helpers are intentionally out of scope because the benchmarked tools emphasize protocol choice at creation and Postman locks saved request protocols. | `npx vitest run test/requestTypeUx.test.ts test/schemaRoundTrip.test.ts test/openCollectionFoundation.test.ts test/validationService.test.ts` passed 4 files/25 tests; targeted protocol suite passed 8 files/68 tests; `npm run compile` passed; `npm test` passed 21 files/405 tests; `node scripts/validate-collection.js examples/demo-api` passed 42/42 files; `npm run build` passed. | 2026-06-15 00:15 NZT | OC-100 complete; no saved-request switcher was added by product decision and benchmark alignment. Remaining unassigned changes are parallel OC-050/OC-090 work, not OC-100. |
Expand Down Expand Up @@ -101,6 +101,12 @@ Record cross-cutting decisions here so parallel agents do not rediscover them.

### Supervisor Reports

- 2026-06-15 10:03 NZT - Codex Supervisor: Completed final integration review for OC-000 through OC-110, accepted OC-070, aligned stale documentation, built, packaged, installed, and live-smoked the reviewed stack.
GitButler: `but status -fv` showed all implementation branches applied and linked; the verified branches include `feature/oc-000-foundation-dispatch`, `feature/oc-010-graphql-support`, `feature/oc-020-websocket-support`, `feature/oc-030-grpc-unary-protobuf`, `feature/oc-040-runtime-scripting-testing`, `feature/oc-050-auth-transport`, `feature/oc-060-schema-roundtrip-validation`, `feature/oc-070-surface-polish`, `supervisor/add-runtime-authoring-ux-task` for OC-080, `feature/oc-090-grpc-streaming`, `feature/oc-100-request-type-ux`, and `feature/oc-110-runtime-authoring-ux`. Before this final ledger/docs commit, the only unassigned changes were supervisor-owned docs IDs `rl`, `tk`, and this ledger update.
Findings: no blocking implementation findings remain. OC-070 is accepted from commit `f9a5a55`; the README and gap-analysis wiki no longer describe completed scripting/runtime/type/surface work as missing.
Verified: `npm run compile` passed; final targeted `npx vitest run test/oc070SurfacePolish.test.ts test/requestTypeUx.test.ts test/runtimeAuthoringUx.test.ts test/sendRequestTool.test.ts test/responseProvider.test.ts test/postmanImporter.test.ts test/openApiImporter.test.ts test/snippetExporter.test.ts test/openCollectionFoundation.test.ts test/graphqlSupport.test.ts test/webSocketSupport.test.ts test/grpcSupport.test.ts test/schemaRoundTrip.test.ts test/validationService.test.ts test/httpClient.test.ts test/runtimeExecutionService.test.ts` passed 16 files/203 tests; `node scripts\validate-collection.js examples\demo-api` passed 44/44 files; `npm test` passed 23 files/437 tests; `npm run build` passed; `npx @vscode/vsce package --out $env:TEMP\missio-0.7.7-final-opencollection.vsix` passed; `code.cmd --install-extension $env:TEMP\missio-0.7.7-final-opencollection.vsix --force` installed `missio.missio@0.7.7`; live fixture smoke passed HTTP health, GraphQL, runtime echo, WebSocket echo, and gRPC unary/server-streaming.
Next: OpenCollection compatibility implementation body is supervisor-accepted; next work should be PR publication/branch review rather than additional feature tracks unless product scope changes.

- 2026-06-15 00:57 NZT - Codex: Added OC-110 as a separate runtime authoring UX task after confirming snippet export belongs to OC-070 and non-HTTP runtime execution belongs to OC-080.
GitButler: planning update is on `supervisor/add-runtime-authoring-ux-task`, stacked on `supervisor/oc-050-090-100-audit`; active OC-070 implementation changes in `zz` were not edited or committed.
Coverage: documentation-only planning change; no runtime behavior changed.
Expand Down
18 changes: 8 additions & 10 deletions docs/open-collection-gap-analysis/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,19 +82,17 @@ Project-local skills live in [.agents/skills/](../../.agents/skills/). They are
| `missio-demo-server-fixtures` | Extending the local demo API and example requests for user-verifiable protocol/runtime features. |
| `but` | Installed GitButler skill for branch, stack, commit, push, and PR operations. |

## Remaining Gap Evidence
## Final Compatibility Evidence

OC-000 through OC-040 and OC-060 have removed most of the original HTTP-only foundation gaps. The remaining work is concentrated in request creation, import/export surfaces, full runtime lifecycle parity, auth/transport hardening, and gRPC streaming:
OC-000 through OC-110 are implemented and tracked in [AGENT_PROGRESS.md](AGENT_PROGRESS.md). The table below records the main evidence surfaces that remain useful for maintenance and future audits; these are not open implementation gaps.

| Evidence | Location |
| Evidence Surface | Location |
| --- | --- |
| New request creation still needs schema-native protocol starter templates and UX coverage. | [src/commands/requestCommands.ts](../../src/commands/requestCommands.ts) |
| Request `type:` is not yet a first-class visual editor choice or safe conversion workflow. | [src/webview/requestPanel.ts](../../src/webview/requestPanel.ts) |
| Importers and exporters need explicit protocol preservation or unsupported-conversion diagnostics. | [src/importers](../../src/importers) |
| Snippet export remains HTTP-oriented and should not silently accept non-HTTP requests. | [src/services/snippetService.ts](../../src/services/snippetService.ts) |
| Runtime scripts/assertions/actions are verified for HTTP and GraphQL-over-HTTP; WebSocket and gRPC need lifecycle parity. | [src/services/requestExecutionService.ts](../../src/services/requestExecutionService.ts) |
| Runtime scripts/assertions/actions can run, but common authoring still requires YAML edits. | [src/webview/requestPanel.ts](../../src/webview/requestPanel.ts) |
| gRPC unary execution exists, but streaming request types remain an explicit unsupported path. | [src/services/grpcClient.ts](../../src/services/grpcClient.ts) |
| Request creation, starter templates, and visible request type identity. | [src/commands/requestCommands.ts](../../src/commands/requestCommands.ts), [src/services/requestTemplates.ts](../../src/services/requestTemplates.ts), [src/webview/requestPanel.ts](../../src/webview/requestPanel.ts) |
| Import/export protocol diagnostics and snippet limitations. | [src/importers](../../src/importers), [src/services/snippetExporter.ts](../../src/services/snippetExporter.ts) |
| Runtime scripting, tests, assertions, actions, and visual authoring. | [src/services/runtimeExecutionService.ts](../../src/services/runtimeExecutionService.ts), [src/webview/requestPanel.ts](../../src/webview/requestPanel.ts) |
| Protocol execution for GraphQL, WebSocket, and gRPC unary/streaming requests. | [src/services/graphqlSupport.ts](../../src/services/graphqlSupport.ts), [src/services/webSocketClient.ts](../../src/services/webSocketClient.ts), [src/services/grpcClient.ts](../../src/services/grpcClient.ts) |
| Local fixture API, demo requests, and collection validation. | [examples/demo-api](../../examples/demo-api), [scripts/validate-collection.js](../../scripts/validate-collection.js) |

## Definition Of Done For Any Track

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# PR 53 Acceptance Scope

This correction controls how the final acceptance record in PR #53 is interpreted.

- OC-070 implementation is not an ancestor of `supervisor/final-opencollection-review`. It lands immediately afterward in PR #56, branch `feature/oc-070-surface-polish`, with implementation commit `154414a`.
- The OC-070 evidence recorded by PR #53 came from a composite GitButler workspace with PR #56 applied. It is composite verification, not evidence that the OC-070 files exist at PR #53's head.
- The dated “no blocking implementation findings” statement records build/test acceptance at that point. It is not a security review and does not supersede findings raised by later PR review.
- On 2026-07-21, the 36-PR tip, the owning-branch review fixes through PR #53, and `fix/open-collection-pr-rework` were composed in one isolated tree. TypeScript compilation passed, all 509 tests passed, and the production build passed.
- `fix/open-collection-pr-rework` must land after PR #71 through its own PR; it is not disposable branch-only work.

The stack-tip ledger carries the corresponding corrected OC-070 row and the current composite verification record, where those heavily edited sections can be changed without conflicting with intermediate stack branches.
Loading