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
2 changes: 1 addition & 1 deletion docs/open-collection-gap-analysis/AGENT_GOAL_PROMPTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ If an agent host does not inject the project-local skills, tell the agent to rea
## Request Type UX

```text
/goal Complete OC-100 request type UX using $missio-agent-coordination and $missio-editor-schema-implementer without stopping until Bruno/Postman UX benchmarking is recorded, UI request creation supports HTTP/GraphQL/WebSocket/gRPC type selection, the visual editor clearly shows and safely switches request type with preservation/loss confirmation, schema-valid conversion helpers are implemented, AGENT_PROGRESS updates are complete, and complete automated creation, conversion, validation, round-trip, and regression tests are passing.
/goal Complete OC-100 request type UX using $missio-agent-coordination and $missio-editor-schema-implementer without stopping until Bruno/Postman UX benchmarking is recorded, UI request creation supports HTTP/GraphQL/WebSocket/gRPC type selection, the visual editor clearly shows read-only request type identity without offering a saved-request switcher, AGENT_PROGRESS updates are complete, and complete automated creation, validation, round-trip, and regression tests are passing.
```

## Protocol Runtime Lifecycle
Expand Down
45 changes: 41 additions & 4 deletions docs/open-collection-gap-analysis/AGENT_PROGRESS.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,10 @@ 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 | In Progress | Codex | feature/oc-050-auth-transport (ut) | Add fixture-backed executor tests for API-key query placement, OAuth2 header/query placement, token/additional params, redirect follow/stop/max handling, proxy routing/auth/bypass failure, mTLS success/failure, URL encoding, and explicit diagnostics for unsupported digest/NTLM/WSSE/AWS/implicit auth. Add demo server routes/requests for user-verifiable auth, redirects, proxy, and mTLS. Run targeted transport tests, demo collection validation, compile, full test, and build. | Pending | 2026-06-14 23:48 NZT | Inspect auth/transport models, executor, OAuth2 service, export/dry-run paths, and demo fixture shape; then implement the smallest HTTP-compatible slice with automated tests. |
| 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 | Unclaimed | - | - | - | - | - | Start after OC-050 if auth/transport templates matter; otherwise can begin with baseline audit and request creation. |
| OC-070 | Request creation, import/export, snippet, and Copilot surface polish | In Progress | Codex | feature/oc-070-surface-polish (rf) | 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. | Not run yet. | 2026-06-15 00:44 NZT | Audit creation/import/export/snippet/Copilot surfaces, add failing coverage, implement the smallest coherent polish slice, then run targeted and full automated suites. |
| OC-080 | Runtime lifecycle for WebSocket and unary gRPC | Unclaimed | - | - | - | - | - | Start after OC-040 and protocol executors; coordinate with OC-070 if Copilot runtime output changes. |
| OC-090 | gRPC streaming | In Progress | Codex | feature/oc-090-grpc-streaming (am), stacked on applied OC-030 unary/protobuf work | Add fixture-backed tests for schema-native client-streaming, server-streaming, and bidi-streaming message sequences; gRPC method discovery for request/response streaming; metadata/auth/default preservation; validation diagnostics for invalid streaming payloads/methods/proto symbols; cancellation/timeout cleanup and partial-error retention; response provider/UI and Copilot tool streaming summaries; demo collection validation; regression coverage for unary gRPC and shared protocol dispatch. Run focused gRPC/round-trip/validation/tool/provider tests, demo fixture smoke tests, compile, full test, build, and demo collection validation. | Pending | 2026-06-14 23:55 NZT | Inspect current gRPC client/model/editor/tooling/test fixtures, then add streaming fixtures and failing coverage before implementation. |
| OC-100 | Request type UX | Unclaimed | - | - | - | - | - | Start after OC-050 if auth/template fields are changing; can otherwise run as a focused editor/command UX task after OC-090 files settle. |
| 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. |

## Dependency Map

Expand Down Expand Up @@ -265,7 +265,12 @@ Record cross-cutting decisions here so parallel agents do not rediscover them.

### OC-070 Request Creation, Import/Export, And Copilot Surface Polish

No updates yet.
- 2026-06-15 00:44 NZT - Codex: Claimed OC-070 and recorded the coverage plan before implementation.
GitButler: `feature/oc-070-surface-polish` (rf). Current `but status -fv` shows pre-existing unassigned OC-100 follow-up edits in `docs/open-collection-gap-analysis/AGENT_PROGRESS.md`, `package.json`, `src/panels/basePanel.ts`, `src/panels/requestPanel.ts`, `src/webview/requestPanel.ts`, and `src/webview/theme.css`; preserve or route those separately.
Coverage: plan automated coverage for protocol-specific creation regressions, mixed tree/CodeLens/command behavior, import/export unsupported diagnostics, HTTP snippet parity and non-HTTP snippet diagnostics, Copilot get/list/dry-run/send protocol preservation and redaction, schema round-trip/validation safety, compile, full test, demo validation, and build.
Changed: `docs/open-collection-gap-analysis/AGENT_PROGRESS.md`.
Verified: `but status -fv`, OC-070 task page, and current progress ledger reviewed; implementation tests not run yet.
Next: audit the creation/import/export/snippet/Copilot code and tests, add failing coverage, then implement OC-070 surface polish without touching the OC-100 icon follow-up.

### OC-080 Runtime Lifecycle For Non-HTTP Protocols

Expand All @@ -282,4 +287,36 @@ No updates yet.

### OC-100 Request Type UX

No updates yet.
- 2026-06-15 00:43 NZT - Codex: Claimed a small OC-100 follow-up to reduce the read-only protocol indicator's visual weight after user feedback.
GitButler: follow-up will stay on `feature/oc-100-request-type-ux` if GitButler can route the touched request editor/style files there; current `but status -fv` shows no unassigned changes before implementation.
Coverage: update request editor shell assertions so the protocol identity is an in-URL icon with accessible text and no standalone chip/switcher, then run `npx vitest run test/requestTypeUx.test.ts` and `npm run compile`.
Changed: docs/open-collection-gap-analysis/AGENT_PROGRESS.md.
Verified: `but status -fv`, current OC-100 task page, and centralized webview theme color definitions reviewed; implementation tests not run yet.
Next: move the indicator inside the URL field, define protocol colors in the central theme variables/package color contributions, and verify the focused UI regression coverage.
- 2026-06-15 00:46 NZT - Codex: Completed the OC-100 protocol indicator polish requested after implementation review.
GitButler: final uncommitted owned IDs before commit are `tk`, `sz`, `mk`, `rvo`, `ptr`, `rol`, `wl`, and `nk`; commit target is `feature/oc-100-request-type-ux` so the follow-up stays with the original request type UX work.
Coverage: `test/requestTypeUx.test.ts` now asserts the request editor uses a read-only in-URL protocol icon with `role="img"`/accessible text, no standalone `protocol-chip`, no `protocolChip`, and central protocol color variables/package contributions.
Changed: `src/panels/basePanel.ts`, `src/panels/requestPanel.ts`, `src/webview/requestPanel.ts`, `src/webview/requestPanel.css`, `src/webview/theme.css`, `package.json`, `test/requestTypeUx.test.ts`, and this ledger.
Verified: `npx vitest run test/requestTypeUx.test.ts` passed 7 tests; `npm run compile` passed.
Next: commit the follow-up slice to `feature/oc-100-request-type-ux` with GitButler and leave the applied supervisor/parallel stack intact.

- 2026-06-15 00:06 NZT - Codex: Claimed OC-100 and recorded the product benchmark and coverage plan before implementation.
GitButler: `feature/oc-100-request-type-ux` (j0), stacked on `supervisor/add-request-type-ux-task` (g0); `but status -fv` shows parallel unassigned OC-050/OC-090 changes in auth/transport, gRPC streaming, schema, and protocol client files that must be preserved unless a concrete dependency emerges.
Benchmark: Bruno creates requests from collection menus and inline tab controls with explicit request type choices; its inline flow opens unsaved requests and supports HTTP, GraphQL, gRPC, and WebSocket type selection (https://docs.usebruno.com/get-started/bruno-basics/create-a-request). Postman starts new requests by choosing a protocol, has dedicated GraphQL/WebSocket/gRPC clients, and documents that a saved GraphQL request's protocol cannot be changed, so Missio should emphasize creation-time protocol choice and visible saved-request identity rather than a saved-request switcher (https://learning.postman.com/docs/use/send-requests/create-requests/request-basics, https://learning.postman.com/docs/use/send-requests/protocols/graphql/graphql-client-interface).
Coverage: planned creation/template, validation, round-trip, editor/webview type identity, and shared protocol regression tests for HTTP, GraphQL, WebSocket, and gRPC.
Changed: `docs/open-collection-gap-analysis/AGENT_PROGRESS.md`.
Verified: `but status -fv`, OC-100 task page review, and official Bruno/Postman documentation benchmark completed; implementation tests not run yet.
Next: audit request creation, menu contributions, request panel visual editor, schema helpers, and protocol regression tests before adding the OC-100 implementation.
- 2026-06-15 00:07 NZT - Codex: Updated OC-100 scope after user direction: do not implement a request type switcher when benchmarked tools do not provide one.
GitButler: `feature/oc-100-request-type-ux` (j0); same parallel unassigned OC-050/OC-090 changes are preserved.
Coverage: revised to creation templates, protocol-aware validation/round-trip, read-only editor type identity, save payload, and shared protocol regression tests; removed conversion helper and switch-confirmation coverage from OC-100.
Changed: `docs/open-collection-gap-analysis/AGENT_PROGRESS.md` and OC-100 task scope update pending/owned by this branch.
Verified: benchmark interpretation rechecked against Bruno creation docs and Postman protocol lock docs; implementation tests not run yet.
Next: update the OC-100 task page to match the narrowed scope, then audit creation/editor surfaces.
- 2026-06-15 00:15 NZT - Codex: Completed OC-100 request type creation UX and read-only type identity without a saved-request switcher.
GitButler: `feature/oc-100-request-type-ux` was stacked on `supervisor/add-request-type-ux-task` and committed as `5cb05a3` (`Add OC-100 request type creation UX`). This final ledger update is the only OC-100-owned uncommitted change before the ledger commit.
Coverage: implemented `src/services/requestTemplates.ts` for schema-valid HTTP, GraphQL, WebSocket, and gRPC starters; updated `missio.newRequest` to pick a request type before writing YAML; made the request editor show a persistent read-only protocol chip and detect gRPC instead of falling through to HTTP; added `test/requestTypeUx.test.ts` for starter validation, command creation, round-trip safety, stale-root prevention, gRPC guard behavior, and no switcher shell regression.
Changed: `docs/open-collection-gap-analysis/AGENT_GOAL_PROMPTS.md`, `docs/open-collection-gap-analysis/tasks/10-request-type-ux.md`, `src/commands/requestCommands.ts`, `src/panels/requestPanel.ts`, `src/services/requestTemplates.ts`, `src/webview/requestPanel.css`, `src/webview/requestPanel.ts`, `test/mocks/vscode.ts`, and `test/requestTypeUx.test.ts`.
Verified: `npx vitest run test/requestTypeUx.test.ts test/schemaRoundTrip.test.ts test/openCollectionFoundation.test.ts test/validationService.test.ts` passed 4 files/25 tests; `npx vitest run test/requestTypeUx.test.ts test/graphqlSupport.test.ts test/webSocketSupport.test.ts test/grpcSupport.test.ts test/sendRequestTool.test.ts test/schemaRoundTrip.test.ts test/openCollectionFoundation.test.ts test/validationService.test.ts` 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.
Parallel/unrelated after implementation commit: `sv`, `nk`, `qz`, `wuq`, `ln`, `tp`, `wo`, `pts`, `uo`, `wup`, `pq`, `yv`, `qs`, `nv`, `sz`, `rut`, `xq`, `yn`, `nq`, `vw`, `yq`, `vk`, `ku`, `unq`, `vs`, `ly`, `sl`, `tus`, and `np` are preserved for OC-050/OC-090 or other parallel work and were not committed to OC-100.
Next: commit this ledger-only update to `feature/oc-100-request-type-ux`; OC-070 can reuse `requestTemplates.ts` instead of recreating protocol starter logic.
Loading
Loading