diff --git a/AGENTS.md b/AGENTS.md index aa625bf..76c674f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -32,7 +32,7 @@ gh project item-list 2 --owner traverse-framework --format json --limit 300 \ | `new-app-author-e2e` | **Done** (#275) | CLI `app new` → App-Refs layout + Web host rewrite | | `fix-nightly-native-macos-windows` | **Done** (#277) | Swift 6 Sendable mappers + WinUI test compile of PresentationMapper | | `llm-mcp-mode-a-spec119-scaffold` | **Done** (#271) | Spec 119 consumer scaffold (fail-closed); live kit execute stays `llm-mcp-traverse-starter-catalog` | -| `llm-mcp-traverse-starter-catalog` | **Blocked** | Live kit execute blocked on Traverse [#1241](https://github.com/traverse-framework/Traverse/issues/1241) (Spec 119 Mode A); absorbed Mode A cutover from `llm-mcp-0-10-live-cutover` | +| `llm-mcp-traverse-starter-catalog` | **Done** | Mode A live cutover after Traverse [#1241](https://github.com/traverse-framework/Traverse/issues/1241)/[#1252](https://github.com/traverse-framework/Traverse/pull/1252); evidence under `apps/llm-mcp-reference/` | | `loop-wf1-registry-deps` | **Done** (#263) | Digest inventory in `docs/loop-registry-deps.md` | | `loop-wf1-multi-os` | **Done** (#265) | `apps/loop/` WF1 × 7 OS; compose via `registry_ref` | | `retire-registry-ref-materialize` | **Done** (#267) | Phase A gate; host cutover → Future `retire-registry-ref-materialize-hosts` | diff --git a/README.md b/README.md index 5a5206c..adaa7d5 100644 --- a/README.md +++ b/README.md @@ -106,25 +106,25 @@ Secondary tier beside OS UI shells: **LLM product façades** that invoke Travers | Clients | Claude Desktop · Claude Code · Cursor · ChatGPT · Grok | | Scaffold smoke | `bash scripts/ci/llm_mcp_reference_smoke.sh` | -**Mode A (local MCP stdio) — quick start:** +**Mode A (Spec 119 verified public registry) — quick start:** ```bash -export TRAVERSE_REPO="$(cd ../Traverse && pwd)" # adjust path -cd "$TRAVERSE_REPO" -cargo run -p traverse-mcp -- stdio +export TRAVERSE_REPO="$(cd ../Traverse && pwd)" # main with Mode A (#1252+), or next release +export TRAVERSE_MCP_REGISTRY_CACHE="${HOME}/.cache/traverse-mcp-mode-a" +cd apps/llm-mcp-reference/mode-a && bash prepare.sh && bash serve.sh ``` -Point your LLM client at that command using the example under `apps/llm-mcp-reference/clients//`, paste `shared/prompts/system-boundary.md` into system instructions, and follow `shared/workflows/traverse-starter.md`. Display **only** runtime JSON fields — do not invent title/tags/recommendations in the prompt. +Point your LLM client at [`apps/llm-mcp-reference/mode-a/mcp.json.example`](apps/llm-mcp-reference/mode-a/mcp.json.example) (or `clients//`), paste `shared/prompts/system-boundary.md` into system instructions, and follow `shared/workflows/`. Display **only** runtime JSON fields — do not invent title/tags/recommendations in the prompt. -### Upstream gaps (blocking full kit live path) +### Mode A status OS shells do **not** speak MCP (they embed WASM). Registry MCP is the LLM façade path. | Path | Status | |---|---| -| Expedition `traverse-mcp -- stdio` | Runnable bootstrap — **not** kit catalog | -| Spec 119 Mode A consumer scaffold | [`apps/llm-mcp-reference/mode-a/`](apps/llm-mcp-reference/mode-a/) — fail-closed until the host ships | -| Live `traverse-starter.*` / `meeting-notes.process` via MCP | Project 2 `llm-mcp-traverse-starter-catalog` (**Blocked**) — needs Traverse Mode A **implement** (spec is Approved) | +| Expedition `traverse-mcp -- stdio` (no cache env) | Bootstrap only — **not** Spec 119 | +| Spec 119 Mode A consumer | [`apps/llm-mcp-reference/mode-a/`](apps/llm-mcp-reference/mode-a/) — prepare + serve against `TRAVERSE_MCP_REGISTRY_CACHE` | +| Live kit discover/execute via Mode A | Project 2 `llm-mcp-traverse-starter-catalog` (**Done**) — evidence uses verified-public `core.normalize-participants`; post-#1252 Traverse checkout (or next release) | Spec 119 v1 has **no kit content groups**. Discovery is public registry entries. Registry umbrella [#99](https://github.com/traverse-framework/registry/issues/99) is closed. diff --git a/apps/llm-mcp-reference/README.md b/apps/llm-mcp-reference/README.md index d8c9efb..537d679 100644 --- a/apps/llm-mcp-reference/README.md +++ b/apps/llm-mcp-reference/README.md @@ -25,25 +25,27 @@ apps/llm-mcp-reference/ grok/ ``` -## Quick start (expedition bootstrap — not Spec 119) - -Today’s default `traverse-mcp -- stdio` catalog is still **expedition**. Use it only as a host-path smoke: +## Quick start (Spec 119 Mode A — preferred) ```bash -export TRAVERSE_REPO="$(cd ../Traverse && pwd)" # adjust path -cd "$TRAVERSE_REPO" -cargo run -p traverse-mcp -- stdio +export TRAVERSE_REPO="$(cd ../Traverse && pwd)" # main with Mode A (#1252+), or next release +export TRAVERSE_MCP_REGISTRY_CACHE="${HOME}/.cache/traverse-mcp-mode-a" +cd apps/llm-mcp-reference/mode-a +bash prepare.sh +bash serve.sh ``` -Point `clients//` at that command, paste `shared/prompts/system-boundary.md`, and follow the workflow runbooks. Display **only** runtime fields. +Point `clients//` at [`mode-a/mcp.json.example`](mode-a/mcp.json.example), paste `shared/prompts/system-boundary.md`, and follow the workflow runbooks. Display **only** runtime fields. + +Bare `cargo run -p traverse-mcp -- stdio` **without** `TRAVERSE_MCP_REGISTRY_CACHE` is still **expedition bootstrap** — not Spec 119. -## Mode A (scaffold — Spec 119 public registry) +## Mode A (Spec 119 public registry) Registry-MCP path for the same capabilities OS shells load via `registry_ref`. OS apps stay embedded; this is Claude/Cursor MCP only. -See [`mode-a/README.md`](mode-a/README.md), [`mode-a/mcp.json.example`](mode-a/mcp.json.example), and fail-closed [`mode-a/serve.sh`](mode-a/serve.sh). +See [`mode-a/README.md`](mode-a/README.md), [`mode-a/mcp.json.example`](mode-a/mcp.json.example), [`mode-a/prepare.sh`](mode-a/prepare.sh), and [`mode-a/serve.sh`](mode-a/serve.sh). -**Honest status:** Spec 119 is Approved. Traverse **v0.10.0** `traverse-mcp` is still **expedition-only** (no `traverse-starter.*` / `meeting-notes.process` kit path). Mode A host implement: Traverse [#1241](https://github.com/traverse-framework/Traverse/issues/1241). `mode-a/serve.sh` exits non-zero until public-only discovery + inline `RuntimeRequest` + digest-verified WASM land (no expedition fallback; no kit content groups in v1 per FR-007). +**Honest status:** Spec 119 Mode A host shipped on Traverse **main** ([#1241](https://github.com/traverse-framework/Traverse/issues/1241) / [#1252](https://github.com/traverse-framework/Traverse/pull/1252)). Tagged **v0.10.0** binaries remain expedition-only — use a post-#1252 checkout (or the next release) for Mode A. Live evidence uses verified-public discovery + inline `RuntimeRequest` + digest-verified WASM (no expedition fallback; no kit content groups in v1 per FR-007). Seeded proof kit: `core.normalize-participants` (Loop WF1). ## Mode B (scaffold — Spec 520 prepare / verified cache) @@ -51,7 +53,7 @@ Stronger isolation path: prepare registry deps into a **host-owned verified cach See [`mode-b/README.md`](mode-b/README.md), [`mode-b/mcp.json.example`](mode-b/mcp.json.example), and fail-closed [`mode-b/serve.sh`](mode-b/serve.sh). -**Honest status:** Spec 520 library APIs shipped in Traverse (#860). The Mode B MCP host CLI is **not** shipped (Traverse [#1242](https://github.com/traverse-framework/Traverse/issues/1242)). App-Refs ticket `llm-mcp-embedded-host` is **Future** (Mode A kit path is the active unlock). Expedition Mode A remains the only runnable LLM path on v0.10.0; Mode B launcher exits non-zero until that host exists. +**Honest status:** Spec 520 library APIs shipped in Traverse (#860). The Mode B MCP host CLI is **not** shipped (Traverse [#1242](https://github.com/traverse-framework/Traverse/issues/1242)). App-Refs ticket `llm-mcp-embedded-host` is **Future**. Mode A is the runnable Spec 119 LLM path; Mode B launcher exits non-zero until that host exists. Optional bearer token (execution commands): diff --git a/apps/llm-mcp-reference/clients/claude-code/.mcp.json.example b/apps/llm-mcp-reference/clients/claude-code/.mcp.json.example index df29206..24ad6a5 100644 --- a/apps/llm-mcp-reference/clients/claude-code/.mcp.json.example +++ b/apps/llm-mcp-reference/clients/claude-code/.mcp.json.example @@ -1,11 +1,15 @@ { "mcpServers": { - "traverse": { - "command": "cargo", - "args": ["run", "-p", "traverse-mcp", "--", "stdio"], - "cwd": "/ABS/PATH/TO/Traverse", + "traverse-mode-a": { + "command": "bash", + "args": [ + "/ABS/PATH/TO/App-References/apps/llm-mcp-reference/mode-a/serve.sh" + ], "env": { - "TRAVERSE_REPO": "/ABS/PATH/TO/Traverse" + "TRAVERSE_REPO": "/ABS/PATH/TO/Traverse", + "TRAVERSE_MCP_REGISTRY_CACHE": "/ABS/PATH/TO/host-owned-verified-state", + "TRAVERSE_MCP_CACHE_ROOT": "/ABS/PATH/TO/host-owned-verified-state", + "TRAVERSE_WORKSPACE": "local-default" } } } diff --git a/apps/llm-mcp-reference/clients/claude-code/evidence/README.md b/apps/llm-mcp-reference/clients/claude-code/evidence/README.md index 301b72d..430a4fd 100644 --- a/apps/llm-mcp-reference/clients/claude-code/evidence/README.md +++ b/apps/llm-mcp-reference/clients/claude-code/evidence/README.md @@ -1,26 +1,15 @@ -# Claude Code MCP live evidence (`llm-mcp-claude-live-smoke`) +# Claude Code MCP Mode A evidence (`llm-mcp-traverse-starter-catalog`) -Captured **2026-07-29** against Traverse **v0.8.2**. +Captured **2026-09-07** against Traverse **main** (Spec 119 Mode A via [#1252](https://github.com/traverse-framework/Traverse/pull/1252)). -## What was proven +[`.mcp.json.example`](../.mcp.json.example) should point at `mode-a/serve.sh` (or the same `TRAVERSE_MCP_REGISTRY_CACHE` + `traverse-mcp stdio` env). -[`.mcp.json.example`](../.mcp.json.example) launches the same Mode A command as Claude Desktop: +### transcript A — discovery -```bash -cargo run -p traverse-mcp -- stdio -``` +[`claude-code-mcp-stdio-transcript.jsonl`](claude-code-mcp-stdio-transcript.jsonl) -Command transcripts (Claude Code CLI GUI not required for this evidence): +### transcript B — execute / render -| File | Contents | -|---|---| -| [`claude-code-mcp-stdio-transcript.jsonl`](claude-code-mcp-stdio-transcript.jsonl) | discovery + shutdown | -| [`claude-code-mcp-execute-transcript.jsonl`](claude-code-mcp-execute-transcript.jsonl) | validate → execute → render on `expedition.planning.plan-expedition` | +[`claude-code-mcp-execute-transcript.jsonl`](claude-code-mcp-execute-transcript.jsonl) -## Runtime fields only - -Do not invent business fields; render MCP/runtime output only. - -## Catalog note - -Same as Desktop: default catalog is expedition until starter/meeting-notes entrypoints are published to MCP. +See [`../../cursor/evidence/README.md`](../../cursor/evidence/README.md) for reproduce steps. diff --git a/apps/llm-mcp-reference/clients/claude-code/evidence/claude-code-mcp-execute-transcript.jsonl b/apps/llm-mcp-reference/clients/claude-code/evidence/claude-code-mcp-execute-transcript.jsonl index 130fa81..0e994ab 100644 --- a/apps/llm-mcp-reference/clients/claude-code/evidence/claude-code-mcp-execute-transcript.jsonl +++ b/apps/llm-mcp-reference/clients/claude-code/evidence/claude-code-mcp-execute-transcript.jsonl @@ -1,8 +1,6 @@ -{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN"},"content_group_count":1,"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_startup","public_surface_id":"traverse.mcp.stdio-server","server_name":"traverse-mcp","status":"ready","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} -{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN","token_output_policy":"never_echo_raw_token"},"content_groups":[{"content_group_id":"core-runtime-example","display_name":"Core runtime example","governed_paths":["examples/templates/executable-capability-package/manifest.template.json","docs/executable-package-template.md","docs/local-runtime-home.md","scripts/ci/executable_package_template_smoke.sh"],"invocable_entrypoints":["describe_content_group"],"summary":"Traverse-neutral executable capability package template and local runtime shape.","validation_commands":["bash scripts/ci/executable_package_template_smoke.sh"]}],"downstream_validation_path":{"consumer_name":"youaskm3","governing_specs":["019-downstream-consumer-contract","020-downstream-integration-validation","021-app-facing-operational-constraints"],"public_surface_id":"traverse.mcp.downstream-consumer","validated_flow_id":"youaskm3_mcp_validation"},"governed_surface_counts":{"capabilities":6,"events":5,"workflows":1},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_description","public_surface_id":"traverse.mcp.stdio-server","runtime_authority":"Traverse runtime authority","server_name":"traverse-mcp","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} -{"content_groups":[{"content_group_id":"core-runtime-example","display_name":"Core runtime example","governed_paths":["examples/templates/executable-capability-package/manifest.template.json","docs/executable-package-template.md","docs/local-runtime-home.md","scripts/ci/executable_package_template_smoke.sh"],"invocable_entrypoints":["describe_content_group"],"summary":"Traverse-neutral executable capability package template and local runtime shape.","validation_commands":["bash scripts/ci/executable_package_template_smoke.sh"]}],"entrypoints":{"capabilities":[{"artifact_kind":"capability","id":"expedition.planning.capture-expedition-objective","lifecycle":"active","summary":"Capture a structured expedition objective from destination, timing, and planning preference inputs.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.interpret-expedition-intent","lifecycle":"active","summary":"Interpret free-form expedition planning intent into structured route preferences, constraints, and assumptions.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.assess-conditions-summary","lifecycle":"active","summary":"Assess a deterministic expedition conditions summary from objective and interpreted intent context.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.validate-team-readiness","lifecycle":"active","summary":"Validate expedition team readiness from objective, conditions summary, and team profile context.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.assemble-expedition-plan","lifecycle":"active","summary":"Assemble the final expedition plan from objective, interpreted intent, conditions, and readiness inputs.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.plan-expedition","lifecycle":"active","summary":"Compose the canonical expedition planning workflow into one first-class governed capability.","version":"1.0.0"}],"events":[{"artifact_kind":"event","id":"expedition.planning.expedition-objective-captured","lifecycle":"active","summary":"A normalized expedition objective has been captured and is ready for downstream planning.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.expedition-intent-interpreted","lifecycle":"active","summary":"An expedition intent has been interpreted into structured planning inputs for downstream steps.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.conditions-summary-assessed","lifecycle":"active","summary":"A deterministic expedition conditions summary has been assessed for the current planning context.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.team-readiness-validated","lifecycle":"active","summary":"A team readiness result has been validated for the expedition objective and conditions context.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.expedition-plan-assembled","lifecycle":"active","summary":"A final expedition plan has been assembled and is ready for downstream consumption.","version":"1.0.0"}],"workflows":[{"artifact_kind":"workflow","id":"expedition.planning.plan-expedition","lifecycle":"active","summary":"Capture, interpret, validate, and assemble an expedition plan deterministically.","version":"1.0.0"}]},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_list","server_name":"traverse-mcp"} -{"entrypoint":{"artifact_kind":"workflow","artifact_path":"/tmp/Traverse/crates/traverse-mcp/../../examples/expedition/registry-bundle/../../../workflows/examples/expedition/plan-expedition/workflow.json","id":"expedition.planning.plan-expedition","lifecycle":"active","owner_team":"traverse-core","summary":"Capture, interpret, validate, and assemble an expedition plan deterministically.","version":"1.0.0"},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_description","server_name":"traverse-mcp"} -{"entrypoint":{"entrypoint":{"artifact_kind":"workflow","artifact_path":"/tmp/Traverse/crates/traverse-mcp/../../examples/expedition/registry-bundle/../../../workflows/examples/expedition/plan-expedition/workflow.json","id":"expedition.planning.plan-expedition","lifecycle":"active","owner_team":"traverse-core","summary":"Capture, interpret, validate, and assemble an expedition plan deterministically.","version":"1.0.0"},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_description","server_name":"traverse-mcp"},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_validation","request":{"caller":"expedition-demo-cli","correlation_id":"expedition-demo-correlation-001","governing_spec":"006-runtime-request-execution","intent":{"capability_id":"expedition.planning.plan-expedition","capability_version":"1.0.0","intent_key":null},"kind":"runtime_request","lookup":{"allow_ambiguity":false,"scope":"prefer_private"},"request_id":"expedition-plan-request-001","requested_target":"local","schema_version":"1.0.0"},"request_path":"examples/expedition/runtime-requests/plan-expedition.json","server_name":"traverse-mcp","status":"valid"} -{"entrypoint":{"entrypoint":{"artifact_kind":"workflow","artifact_path":"/tmp/Traverse/crates/traverse-mcp/../../examples/expedition/registry-bundle/../../../workflows/examples/expedition/plan-expedition/workflow.json","id":"expedition.planning.plan-expedition","lifecycle":"active","owner_team":"traverse-core","summary":"Capture, interpret, validate, and assemble an expedition plan deterministically.","version":"1.0.0"},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_description","server_name":"traverse-mcp"},"execution_id":"exec_expedition-plan-request-001","governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_execution","observation_messages":[{"execution_id":"exec_expedition-plan-request-001","kind":"lifecycle","request_id":"expedition-plan-request-001","sequence":0,"status":"stream_started"},{"kind":"state","sequence":1,"state_event":{"details":{"identity":null,"registry_status":"available","transition_reason":"runtime_initialization_started"},"entered_at":"1970-01-01T00:00:00Z","event_id":"rse_exec_expedition-plan-request-001_0000","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"loading_registry"}},{"kind":"state","sequence":2,"state_event":{"details":{"governing_spec":"006-runtime-request-execution","transition_reason":"registry_loaded"},"entered_at":"1970-01-01T00:00:01Z","event_id":"rse_exec_expedition-plan-request-001_0001","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"ready"}},{"kind":"state","sequence":3,"state_event":{"details":{"identity":null,"lookup_scope":"prefer_private","transition_reason":"request_started"},"entered_at":"1970-01-01T00:00:02Z","event_id":"rse_exec_expedition-plan-request-001_0002","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"discovering"}},{"kind":"state","sequence":4,"state_event":{"details":{"candidate_count":1,"transition_reason":"candidates_collected"},"entered_at":"1970-01-01T00:00:03Z","event_id":"rse_exec_expedition-plan-request-001_0003","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"evaluating_constraints"}},{"kind":"state","sequence":5,"state_event":{"details":{"eligible_candidates":1,"rejected_candidates":0,"transition_reason":"constraints_evaluated"},"entered_at":"1970-01-01T00:00:04Z","event_id":"rse_exec_expedition-plan-request-001_0004","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"selecting"}},{"kind":"state","sequence":6,"state_event":{"details":{"artifact_ref":"bundle:expedition.planning.seed-bundle:expedition.planning.plan-expedition:1.0.0","capability_id":"expedition.planning.plan-expedition","capability_version":"1.0.0","identity":null,"placement_reason":"requested_target_selected","placement_status":"selected","requested_target":"local","selected_target":"local","transition_reason":"candidate_selected"},"entered_at":"1970-01-01T00:00:06Z","event_id":"rse_exec_expedition-plan-request-001_0005","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"executing"}},{"kind":"state","sequence":7,"state_event":{"details":{"capability_id":"expedition.planning.plan-expedition","capability_version":"1.0.0","declared_event_count":1,"transition_reason":"execution_succeeded_with_events"},"entered_at":"1970-01-01T00:00:08Z","event_id":"rse_exec_expedition-plan-request-001_0006","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"emitting_events"}},{"kind":"state","sequence":8,"state_event":{"details":{"capability_id":"expedition.planning.plan-expedition","capability_version":"1.0.0","transition_reason":"events_emitted"},"entered_at":"1970-01-01T00:00:09Z","event_id":"rse_exec_expedition-plan-request-001_0007","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"completed"}},{"kind":"state","sequence":9,"state_event":{"details":{"terminal_state":"completed","transition_reason":"execution_closed"},"entered_at":"1970-01-01T00:00:10Z","event_id":"rse_exec_expedition-plan-request-001_0008","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"ready"}},{"kind":"trace","model_resolution_count":0,"sequence":10,"trace":{"emitted_event_count":5,"execution_id":"exec_expedition-plan-request-001","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"expedition-plan-request-001","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"expedition.planning.plan-expedition","state_transition_count":9,"trace_id":"trace_exec_expedition-plan-request-001"},"trace_redacted":true},{"kind":"terminal","result":{"error":null,"execution_id":"exec_expedition-plan-request-001","kind":"runtime_result","output":{"conditions_summary":{"blocking_concerns":[],"conditions_summary_id":"conditions-objective-sky-pilot","key_findings":["stable morning window for Sky Pilot","preferred style: conservative-alpine-push"],"objective_id":"objective-sky-pilot","overall_rating":"watchful"},"constraints":["priority:same-day-return"],"destination":"Sky Pilot","interpreted_intent":{"assumptions":["Plan a same-day alpine push with a conservative turnaround point and clear readiness actions."],"confidence":0.87,"constraints":["priority:same-day-return"],"intent_id":"intent-objective-sky-pilot","objective_id":"objective-sky-pilot","route_preferences":["conservative-alpine-push","same-day-return"]},"key_steps":["depart before sunrise","reassess winds at mid-route checkpoint","apply conservative turnaround time"],"notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective":{"destination":"Sky Pilot","notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective_id":"objective-sky-pilot","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"}},"objective_id":"objective-sky-pilot","plan_id":"plan-objective-sky-pilot","planning_intent":"Plan a same-day alpine push with a conservative turnaround point and clear readiness actions.","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"readiness_notes":["team profile satisfies baseline expedition requirements"],"readiness_result":{"objective_id":"objective-sky-pilot","readiness_result_id":"readiness-objective-sky-pilot","reasons":["team profile satisfies baseline expedition requirements"],"required_actions":[],"status":"ready"},"recommended_route_style":"conservative-alpine-push","status":"ready","summary":"Proceed with a conservative same-day ascent plan under a limited morning weather window.","target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"},"team_profile":{"equipment_ready":true,"experience_level":"advanced","member_count":3,"team_id":"team-alpine-01"}},"request_id":"expedition-plan-request-001","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_expedition-plan-request-001","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"sequence":11},{"execution_id":"exec_expedition-plan-request-001","kind":"lifecycle","request_id":"expedition-plan-request-001","sequence":12,"status":"stream_completed"}],"request_id":"expedition-plan-request-001","request_path":"examples/expedition/runtime-requests/plan-expedition.json","result":{"error":null,"execution_id":"exec_expedition-plan-request-001","kind":"runtime_result","output":{"conditions_summary":{"blocking_concerns":[],"conditions_summary_id":"conditions-objective-sky-pilot","key_findings":["stable morning window for Sky Pilot","preferred style: conservative-alpine-push"],"objective_id":"objective-sky-pilot","overall_rating":"watchful"},"constraints":["priority:same-day-return"],"destination":"Sky Pilot","interpreted_intent":{"assumptions":["Plan a same-day alpine push with a conservative turnaround point and clear readiness actions."],"confidence":0.87,"constraints":["priority:same-day-return"],"intent_id":"intent-objective-sky-pilot","objective_id":"objective-sky-pilot","route_preferences":["conservative-alpine-push","same-day-return"]},"key_steps":["depart before sunrise","reassess winds at mid-route checkpoint","apply conservative turnaround time"],"notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective":{"destination":"Sky Pilot","notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective_id":"objective-sky-pilot","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"}},"objective_id":"objective-sky-pilot","plan_id":"plan-objective-sky-pilot","planning_intent":"Plan a same-day alpine push with a conservative turnaround point and clear readiness actions.","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"readiness_notes":["team profile satisfies baseline expedition requirements"],"readiness_result":{"objective_id":"objective-sky-pilot","readiness_result_id":"readiness-objective-sky-pilot","reasons":["team profile satisfies baseline expedition requirements"],"required_actions":[],"status":"ready"},"recommended_route_style":"conservative-alpine-push","status":"ready","summary":"Proceed with a conservative same-day ascent plan under a limited morning weather window.","target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"},"team_profile":{"equipment_ready":true,"experience_level":"advanced","member_count":3,"team_id":"team-alpine-01"}},"request_id":"expedition-plan-request-001","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_expedition-plan-request-001","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"server_name":"traverse-mcp","status":"completed","trace":{"emitted_event_count":5,"execution_id":"exec_expedition-plan-request-001","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"expedition-plan-request-001","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"expedition.planning.plan-expedition","state_transition_count":9,"trace_id":"trace_exec_expedition-plan-request-001"},"trace_redaction":{"auth_mode":"local_trust","enabled":true,"reason":"MCP stdio responses omit full runtime traces by default.","tier":"public_summary"}} -{"entrypoint":{"entrypoint":{"artifact_kind":"workflow","artifact_path":"/tmp/Traverse/crates/traverse-mcp/../../examples/expedition/registry-bundle/../../../workflows/examples/expedition/plan-expedition/workflow.json","id":"expedition.planning.plan-expedition","lifecycle":"active","owner_team":"traverse-core","summary":"Capture, interpret, validate, and assemble an expedition plan deterministically.","version":"1.0.0"},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_description","server_name":"traverse-mcp"},"execution":{"execution_id":"exec_expedition-plan-request-001","observation_messages":[{"execution_id":"exec_expedition-plan-request-001","kind":"lifecycle","request_id":"expedition-plan-request-001","sequence":0,"status":"stream_started"},{"kind":"state","sequence":1,"state_event":{"details":{"identity":null,"registry_status":"available","transition_reason":"runtime_initialization_started"},"entered_at":"1970-01-01T00:00:00Z","event_id":"rse_exec_expedition-plan-request-001_0000","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"loading_registry"}},{"kind":"state","sequence":2,"state_event":{"details":{"governing_spec":"006-runtime-request-execution","transition_reason":"registry_loaded"},"entered_at":"1970-01-01T00:00:01Z","event_id":"rse_exec_expedition-plan-request-001_0001","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"ready"}},{"kind":"state","sequence":3,"state_event":{"details":{"identity":null,"lookup_scope":"prefer_private","transition_reason":"request_started"},"entered_at":"1970-01-01T00:00:02Z","event_id":"rse_exec_expedition-plan-request-001_0002","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"discovering"}},{"kind":"state","sequence":4,"state_event":{"details":{"candidate_count":1,"transition_reason":"candidates_collected"},"entered_at":"1970-01-01T00:00:03Z","event_id":"rse_exec_expedition-plan-request-001_0003","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"evaluating_constraints"}},{"kind":"state","sequence":5,"state_event":{"details":{"eligible_candidates":1,"rejected_candidates":0,"transition_reason":"constraints_evaluated"},"entered_at":"1970-01-01T00:00:04Z","event_id":"rse_exec_expedition-plan-request-001_0004","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"selecting"}},{"kind":"state","sequence":6,"state_event":{"details":{"artifact_ref":"bundle:expedition.planning.seed-bundle:expedition.planning.plan-expedition:1.0.0","capability_id":"expedition.planning.plan-expedition","capability_version":"1.0.0","identity":null,"placement_reason":"requested_target_selected","placement_status":"selected","requested_target":"local","selected_target":"local","transition_reason":"candidate_selected"},"entered_at":"1970-01-01T00:00:06Z","event_id":"rse_exec_expedition-plan-request-001_0005","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"executing"}},{"kind":"state","sequence":7,"state_event":{"details":{"capability_id":"expedition.planning.plan-expedition","capability_version":"1.0.0","declared_event_count":1,"transition_reason":"execution_succeeded_with_events"},"entered_at":"1970-01-01T00:00:08Z","event_id":"rse_exec_expedition-plan-request-001_0006","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"emitting_events"}},{"kind":"state","sequence":8,"state_event":{"details":{"capability_id":"expedition.planning.plan-expedition","capability_version":"1.0.0","transition_reason":"events_emitted"},"entered_at":"1970-01-01T00:00:09Z","event_id":"rse_exec_expedition-plan-request-001_0007","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"completed"}},{"kind":"state","sequence":9,"state_event":{"details":{"terminal_state":"completed","transition_reason":"execution_closed"},"entered_at":"1970-01-01T00:00:10Z","event_id":"rse_exec_expedition-plan-request-001_0008","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"ready"}},{"kind":"trace","model_resolution_count":0,"sequence":10,"trace":{"emitted_event_count":5,"execution_id":"exec_expedition-plan-request-001","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"expedition-plan-request-001","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"expedition.planning.plan-expedition","state_transition_count":9,"trace_id":"trace_exec_expedition-plan-request-001"},"trace_redacted":true},{"kind":"terminal","result":{"error":null,"execution_id":"exec_expedition-plan-request-001","kind":"runtime_result","output":{"conditions_summary":{"blocking_concerns":[],"conditions_summary_id":"conditions-objective-sky-pilot","key_findings":["stable morning window for Sky Pilot","preferred style: conservative-alpine-push"],"objective_id":"objective-sky-pilot","overall_rating":"watchful"},"constraints":["priority:same-day-return"],"destination":"Sky Pilot","interpreted_intent":{"assumptions":["Plan a same-day alpine push with a conservative turnaround point and clear readiness actions."],"confidence":0.87,"constraints":["priority:same-day-return"],"intent_id":"intent-objective-sky-pilot","objective_id":"objective-sky-pilot","route_preferences":["conservative-alpine-push","same-day-return"]},"key_steps":["depart before sunrise","reassess winds at mid-route checkpoint","apply conservative turnaround time"],"notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective":{"destination":"Sky Pilot","notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective_id":"objective-sky-pilot","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"}},"objective_id":"objective-sky-pilot","plan_id":"plan-objective-sky-pilot","planning_intent":"Plan a same-day alpine push with a conservative turnaround point and clear readiness actions.","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"readiness_notes":["team profile satisfies baseline expedition requirements"],"readiness_result":{"objective_id":"objective-sky-pilot","readiness_result_id":"readiness-objective-sky-pilot","reasons":["team profile satisfies baseline expedition requirements"],"required_actions":[],"status":"ready"},"recommended_route_style":"conservative-alpine-push","status":"ready","summary":"Proceed with a conservative same-day ascent plan under a limited morning weather window.","target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"},"team_profile":{"equipment_ready":true,"experience_level":"advanced","member_count":3,"team_id":"team-alpine-01"}},"request_id":"expedition-plan-request-001","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_expedition-plan-request-001","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"sequence":11},{"execution_id":"exec_expedition-plan-request-001","kind":"lifecycle","request_id":"expedition-plan-request-001","sequence":12,"status":"stream_completed"}],"request_id":"expedition-plan-request-001","result":{"error":null,"execution_id":"exec_expedition-plan-request-001","kind":"runtime_result","output":{"conditions_summary":{"blocking_concerns":[],"conditions_summary_id":"conditions-objective-sky-pilot","key_findings":["stable morning window for Sky Pilot","preferred style: conservative-alpine-push"],"objective_id":"objective-sky-pilot","overall_rating":"watchful"},"constraints":["priority:same-day-return"],"destination":"Sky Pilot","interpreted_intent":{"assumptions":["Plan a same-day alpine push with a conservative turnaround point and clear readiness actions."],"confidence":0.87,"constraints":["priority:same-day-return"],"intent_id":"intent-objective-sky-pilot","objective_id":"objective-sky-pilot","route_preferences":["conservative-alpine-push","same-day-return"]},"key_steps":["depart before sunrise","reassess winds at mid-route checkpoint","apply conservative turnaround time"],"notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective":{"destination":"Sky Pilot","notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective_id":"objective-sky-pilot","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"}},"objective_id":"objective-sky-pilot","plan_id":"plan-objective-sky-pilot","planning_intent":"Plan a same-day alpine push with a conservative turnaround point and clear readiness actions.","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"readiness_notes":["team profile satisfies baseline expedition requirements"],"readiness_result":{"objective_id":"objective-sky-pilot","readiness_result_id":"readiness-objective-sky-pilot","reasons":["team profile satisfies baseline expedition requirements"],"required_actions":[],"status":"ready"},"recommended_route_style":"conservative-alpine-push","status":"ready","summary":"Proceed with a conservative same-day ascent plan under a limited morning weather window.","target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"},"team_profile":{"equipment_ready":true,"experience_level":"advanced","member_count":3,"team_id":"team-alpine-01"}},"request_id":"expedition-plan-request-001","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_expedition-plan-request-001","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"trace":{"emitted_event_count":5,"execution_id":"exec_expedition-plan-request-001","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"expedition-plan-request-001","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"expedition.planning.plan-expedition","state_transition_count":9,"trace_id":"trace_exec_expedition-plan-request-001"},"trace_redaction":{"auth_mode":"local_trust","enabled":true,"reason":"MCP stdio responses omit full runtime traces by default.","tier":"public_summary"}},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_execution_report","report":{"execution_id":"exec_expedition-plan-request-001","observation_message_count":13,"request_id":"expedition-plan-request-001","result_status":"completed","summary":"Rendered execution report from governed runtime output","trace_kind":"runtime_trace","trace_redacted":true},"request_path":"examples/expedition/runtime-requests/plan-expedition.json","server_name":"traverse-mcp","status":"rendered"} -{"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_shutdown","reason":"shutdown_command","server_name":"traverse-mcp","status":"complete"} +{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN"},"content_group_count":0,"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_startup","mode":"verified_public","public_surface_id":"traverse.mcp.stdio-server","server_name":"traverse-mcp","status":"ready","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","search_capabilities","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} +{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN","token_output_policy":"never_echo_raw_token"},"content_groups":[],"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"downstream_validation_path":{"consumer_name":"youaskm3","governing_specs":["019-downstream-consumer-contract","020-downstream-integration-validation","021-app-facing-operational-constraints"],"public_surface_id":"traverse.mcp.downstream-consumer","validated_flow_id":"youaskm3_mcp_validation"},"governed_surface_counts":{"capabilities":1,"events":0,"workflows":0},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_description","mode":"verified_public","public_surface_id":"traverse.mcp.stdio-server","runtime_authority":"Traverse runtime authority","server_name":"traverse-mcp","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","search_capabilities","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} +{"content_groups":[],"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"entrypoints":{"capabilities":[{"artifact_digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","id":"core.normalize-participants","kind":"capability","lifecycle":"active","namespace":"core","service_type":"stateless","summary":"Normalize raw participants into canonical records.","version":"1.1.0"}],"events":[],"workflows":[]},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_list","mode":"verified_public","server_name":"traverse-mcp"} +{"artifact":{"digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","digest_matches_public_state":true,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","source_release":"index-v1","stale":false,"verification":"digest","verified":true},"entrypoint":{"artifact_digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","artifact_kind":"capability","description":"Verified public kit fixture for Mode A tests.","id":"core.normalize-participants","index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","lifecycle":"active","namespace":"core","permitted_targets":["wasm"],"provenance":null,"scenarios":["Resolve extracted names and emails to workspace members."],"service_type":"stateless","source_release":"index-v1","summary":"Normalize raw participants into canonical records.","version":"1.1.0"},"execution_id":"exec_core-normalize-participants-01","governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_execution","mode":"verified_public","observation_messages":[{"execution_id":"exec_core-normalize-participants-01","kind":"lifecycle","request_id":"core-normalize-participants-01","sequence":0,"status":"stream_started"},{"kind":"state","sequence":1,"state_event":{"details":{"identity":null,"registry_status":"available","transition_reason":"runtime_initialization_started"},"entered_at":"1970-01-01T00:00:00Z","event_id":"rse_exec_core-normalize-participants-01_0000","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"loading_registry"}},{"kind":"state","sequence":2,"state_event":{"details":{"governing_spec":"006-runtime-request-execution","transition_reason":"registry_loaded"},"entered_at":"1970-01-01T00:00:01Z","event_id":"rse_exec_core-normalize-participants-01_0001","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"ready"}},{"kind":"state","sequence":3,"state_event":{"details":{"identity":null,"lookup_scope":"prefer_private","transition_reason":"request_started"},"entered_at":"1970-01-01T00:00:02Z","event_id":"rse_exec_core-normalize-participants-01_0002","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"discovering"}},{"kind":"state","sequence":4,"state_event":{"details":{"candidate_count":1,"transition_reason":"candidates_collected"},"entered_at":"1970-01-01T00:00:03Z","event_id":"rse_exec_core-normalize-participants-01_0003","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"evaluating_constraints"}},{"kind":"state","sequence":5,"state_event":{"details":{"eligible_candidates":1,"rejected_candidates":0,"transition_reason":"constraints_evaluated"},"entered_at":"1970-01-01T00:00:04Z","event_id":"rse_exec_core-normalize-participants-01_0004","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"selecting"}},{"kind":"state","sequence":6,"state_event":{"details":{"artifact_ref":"verified-registry:core.normalize-participants:1.1.0","capability_id":"core.normalize-participants","capability_version":"1.1.0","identity":null,"placement_reason":"requested_target_selected","placement_status":"selected","requested_target":"local","selected_target":"local","transition_reason":"candidate_selected"},"entered_at":"1970-01-01T00:00:06Z","event_id":"rse_exec_core-normalize-participants-01_0005","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"executing"}},{"kind":"state","sequence":7,"state_event":{"details":{"capability_id":"core.normalize-participants","capability_version":"1.1.0","transition_reason":"execution_succeeded"},"entered_at":"1970-01-01T00:00:08Z","event_id":"rse_exec_core-normalize-participants-01_0006","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"completed"}},{"kind":"state","sequence":8,"state_event":{"details":{"terminal_state":"completed","transition_reason":"execution_closed"},"entered_at":"1970-01-01T00:00:09Z","event_id":"rse_exec_core-normalize-participants-01_0007","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"ready"}},{"kind":"trace","model_resolution_count":0,"sequence":9,"trace":{"emitted_event_count":0,"execution_id":"exec_core-normalize-participants-01","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"core-normalize-participants-01","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"core.normalize-participants","state_transition_count":8,"trace_id":"trace_exec_core-normalize-participants-01"},"trace_redacted":true},{"kind":"terminal","result":{"error":null,"execution_id":"exec_core-normalize-participants-01","kind":"runtime_result","output":{"evaluation_trace":["normalized 3 participants","matched 2"],"matched_count":2,"participants":[{"display_name":"Ada Lovelace","email":"ada@loop.dev","match_method":"email","participant_id":"user-ada"},{"display_name":"Bob Smith","email":"bob@loop.dev","match_method":"email","participant_id":"user-bob"},{"display_name":"Unknown Person","email":"stranger@example.com","match_method":"none","participant_id":"unmatched-1"}],"reason_code":"ok","unmatched_count":1},"request_id":"core-normalize-participants-01","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_core-normalize-participants-01","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"sequence":10},{"execution_id":"exec_core-normalize-participants-01","kind":"lifecycle","request_id":"core-normalize-participants-01","sequence":11,"status":"stream_completed"}],"request_id":"core-normalize-participants-01","request_path":null,"request_source":"inline","result":{"error":null,"execution_id":"exec_core-normalize-participants-01","kind":"runtime_result","output":{"evaluation_trace":["normalized 3 participants","matched 2"],"matched_count":2,"participants":[{"display_name":"Ada Lovelace","email":"ada@loop.dev","match_method":"email","participant_id":"user-ada"},{"display_name":"Bob Smith","email":"bob@loop.dev","match_method":"email","participant_id":"user-bob"},{"display_name":"Unknown Person","email":"stranger@example.com","match_method":"none","participant_id":"unmatched-1"}],"reason_code":"ok","unmatched_count":1},"request_id":"core-normalize-participants-01","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_core-normalize-participants-01","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"server_name":"traverse-mcp","status":"completed","trace":{"emitted_event_count":0,"execution_id":"exec_core-normalize-participants-01","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"core-normalize-participants-01","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"core.normalize-participants","state_transition_count":8,"trace_id":"trace_exec_core-normalize-participants-01"},"trace_redaction":{"auth_mode":"local_trust","enabled":true,"reason":"MCP stdio responses omit full runtime traces by default.","tier":"public_summary"}} +{"artifact":{"digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","digest_matches_public_state":true,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","source_release":"index-v1","stale":false,"verification":"digest","verified":true},"entrypoint":{"artifact_digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","artifact_kind":"capability","description":"Verified public kit fixture for Mode A tests.","id":"core.normalize-participants","index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","lifecycle":"active","namespace":"core","permitted_targets":["wasm"],"provenance":null,"scenarios":["Resolve extracted names and emails to workspace members."],"service_type":"stateless","source_release":"index-v1","summary":"Normalize raw participants into canonical records.","version":"1.1.0"},"execution":{"execution_id":"exec_core-normalize-participants-01","observation_messages":[{"execution_id":"exec_core-normalize-participants-01","kind":"lifecycle","request_id":"core-normalize-participants-01","sequence":0,"status":"stream_started"},{"kind":"state","sequence":1,"state_event":{"details":{"identity":null,"registry_status":"available","transition_reason":"runtime_initialization_started"},"entered_at":"1970-01-01T00:00:00Z","event_id":"rse_exec_core-normalize-participants-01_0000","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"loading_registry"}},{"kind":"state","sequence":2,"state_event":{"details":{"governing_spec":"006-runtime-request-execution","transition_reason":"registry_loaded"},"entered_at":"1970-01-01T00:00:01Z","event_id":"rse_exec_core-normalize-participants-01_0001","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"ready"}},{"kind":"state","sequence":3,"state_event":{"details":{"identity":null,"lookup_scope":"prefer_private","transition_reason":"request_started"},"entered_at":"1970-01-01T00:00:02Z","event_id":"rse_exec_core-normalize-participants-01_0002","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"discovering"}},{"kind":"state","sequence":4,"state_event":{"details":{"candidate_count":1,"transition_reason":"candidates_collected"},"entered_at":"1970-01-01T00:00:03Z","event_id":"rse_exec_core-normalize-participants-01_0003","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"evaluating_constraints"}},{"kind":"state","sequence":5,"state_event":{"details":{"eligible_candidates":1,"rejected_candidates":0,"transition_reason":"constraints_evaluated"},"entered_at":"1970-01-01T00:00:04Z","event_id":"rse_exec_core-normalize-participants-01_0004","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"selecting"}},{"kind":"state","sequence":6,"state_event":{"details":{"artifact_ref":"verified-registry:core.normalize-participants:1.1.0","capability_id":"core.normalize-participants","capability_version":"1.1.0","identity":null,"placement_reason":"requested_target_selected","placement_status":"selected","requested_target":"local","selected_target":"local","transition_reason":"candidate_selected"},"entered_at":"1970-01-01T00:00:06Z","event_id":"rse_exec_core-normalize-participants-01_0005","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"executing"}},{"kind":"state","sequence":7,"state_event":{"details":{"capability_id":"core.normalize-participants","capability_version":"1.1.0","transition_reason":"execution_succeeded"},"entered_at":"1970-01-01T00:00:08Z","event_id":"rse_exec_core-normalize-participants-01_0006","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"completed"}},{"kind":"state","sequence":8,"state_event":{"details":{"terminal_state":"completed","transition_reason":"execution_closed"},"entered_at":"1970-01-01T00:00:09Z","event_id":"rse_exec_core-normalize-participants-01_0007","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"ready"}},{"kind":"trace","model_resolution_count":0,"sequence":9,"trace":{"emitted_event_count":0,"execution_id":"exec_core-normalize-participants-01","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"core-normalize-participants-01","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"core.normalize-participants","state_transition_count":8,"trace_id":"trace_exec_core-normalize-participants-01"},"trace_redacted":true},{"kind":"terminal","result":{"error":null,"execution_id":"exec_core-normalize-participants-01","kind":"runtime_result","output":{"evaluation_trace":["normalized 3 participants","matched 2"],"matched_count":2,"participants":[{"display_name":"Ada Lovelace","email":"ada@loop.dev","match_method":"email","participant_id":"user-ada"},{"display_name":"Bob Smith","email":"bob@loop.dev","match_method":"email","participant_id":"user-bob"},{"display_name":"Unknown Person","email":"stranger@example.com","match_method":"none","participant_id":"unmatched-1"}],"reason_code":"ok","unmatched_count":1},"request_id":"core-normalize-participants-01","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_core-normalize-participants-01","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"sequence":10},{"execution_id":"exec_core-normalize-participants-01","kind":"lifecycle","request_id":"core-normalize-participants-01","sequence":11,"status":"stream_completed"}],"request_id":"core-normalize-participants-01","result":{"error":null,"execution_id":"exec_core-normalize-participants-01","kind":"runtime_result","output":{"evaluation_trace":["normalized 3 participants","matched 2"],"matched_count":2,"participants":[{"display_name":"Ada Lovelace","email":"ada@loop.dev","match_method":"email","participant_id":"user-ada"},{"display_name":"Bob Smith","email":"bob@loop.dev","match_method":"email","participant_id":"user-bob"},{"display_name":"Unknown Person","email":"stranger@example.com","match_method":"none","participant_id":"unmatched-1"}],"reason_code":"ok","unmatched_count":1},"request_id":"core-normalize-participants-01","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_core-normalize-participants-01","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"trace":{"emitted_event_count":0,"execution_id":"exec_core-normalize-participants-01","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"core-normalize-participants-01","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"core.normalize-participants","state_transition_count":8,"trace_id":"trace_exec_core-normalize-participants-01"},"trace_redaction":{"auth_mode":"local_trust","enabled":true,"reason":"MCP stdio responses omit full runtime traces by default.","tier":"public_summary"}},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_execution_report","mode":"verified_public","report":{"execution_id":"exec_core-normalize-participants-01","observation_message_count":12,"request_id":"core-normalize-participants-01","result_status":"completed","summary":"Rendered execution report from governed runtime output","trace_kind":"runtime_trace","trace_redacted":true},"request_path":null,"request_source":"inline","server_name":"traverse-mcp","status":"rendered"} +{"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_shutdown","reason":"shutdown_command","server_name":"traverse-mcp","status":"complete"} diff --git a/apps/llm-mcp-reference/clients/claude-code/evidence/claude-code-mcp-stdio-transcript.jsonl b/apps/llm-mcp-reference/clients/claude-code/evidence/claude-code-mcp-stdio-transcript.jsonl index 3880544..04520ec 100644 --- a/apps/llm-mcp-reference/clients/claude-code/evidence/claude-code-mcp-stdio-transcript.jsonl +++ b/apps/llm-mcp-reference/clients/claude-code/evidence/claude-code-mcp-stdio-transcript.jsonl @@ -1,5 +1,5 @@ -{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN"},"content_group_count":1,"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_startup","public_surface_id":"traverse.mcp.stdio-server","server_name":"traverse-mcp","status":"ready","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} -{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN","token_output_policy":"never_echo_raw_token"},"content_groups":[{"content_group_id":"core-runtime-example","display_name":"Core runtime example","governed_paths":["examples/templates/executable-capability-package/manifest.template.json","docs/executable-package-template.md","docs/local-runtime-home.md","scripts/ci/executable_package_template_smoke.sh"],"invocable_entrypoints":["describe_content_group"],"summary":"Traverse-neutral executable capability package template and local runtime shape.","validation_commands":["bash scripts/ci/executable_package_template_smoke.sh"]}],"downstream_validation_path":{"consumer_name":"youaskm3","governing_specs":["019-downstream-consumer-contract","020-downstream-integration-validation","021-app-facing-operational-constraints"],"public_surface_id":"traverse.mcp.downstream-consumer","validated_flow_id":"youaskm3_mcp_validation"},"governed_surface_counts":{"capabilities":6,"events":5,"workflows":1},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_description","public_surface_id":"traverse.mcp.stdio-server","runtime_authority":"Traverse runtime authority","server_name":"traverse-mcp","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} -{"content_groups":[{"content_group_id":"core-runtime-example","display_name":"Core runtime example","governed_paths":["examples/templates/executable-capability-package/manifest.template.json","docs/executable-package-template.md","docs/local-runtime-home.md","scripts/ci/executable_package_template_smoke.sh"],"invocable_entrypoints":["describe_content_group"],"summary":"Traverse-neutral executable capability package template and local runtime shape.","validation_commands":["bash scripts/ci/executable_package_template_smoke.sh"]}],"entrypoints":{"capabilities":[{"artifact_kind":"capability","id":"expedition.planning.capture-expedition-objective","lifecycle":"active","summary":"Capture a structured expedition objective from destination, timing, and planning preference inputs.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.interpret-expedition-intent","lifecycle":"active","summary":"Interpret free-form expedition planning intent into structured route preferences, constraints, and assumptions.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.assess-conditions-summary","lifecycle":"active","summary":"Assess a deterministic expedition conditions summary from objective and interpreted intent context.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.validate-team-readiness","lifecycle":"active","summary":"Validate expedition team readiness from objective, conditions summary, and team profile context.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.assemble-expedition-plan","lifecycle":"active","summary":"Assemble the final expedition plan from objective, interpreted intent, conditions, and readiness inputs.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.plan-expedition","lifecycle":"active","summary":"Compose the canonical expedition planning workflow into one first-class governed capability.","version":"1.0.0"}],"events":[{"artifact_kind":"event","id":"expedition.planning.expedition-objective-captured","lifecycle":"active","summary":"A normalized expedition objective has been captured and is ready for downstream planning.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.expedition-intent-interpreted","lifecycle":"active","summary":"An expedition intent has been interpreted into structured planning inputs for downstream steps.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.conditions-summary-assessed","lifecycle":"active","summary":"A deterministic expedition conditions summary has been assessed for the current planning context.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.team-readiness-validated","lifecycle":"active","summary":"A team readiness result has been validated for the expedition objective and conditions context.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.expedition-plan-assembled","lifecycle":"active","summary":"A final expedition plan has been assembled and is ready for downstream consumption.","version":"1.0.0"}],"workflows":[{"artifact_kind":"workflow","id":"expedition.planning.plan-expedition","lifecycle":"active","summary":"Capture, interpret, validate, and assemble an expedition plan deterministically.","version":"1.0.0"}]},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_list","server_name":"traverse-mcp"} -{"content_groups":[{"content_group_id":"core-runtime-example","display_name":"Core runtime example","governed_paths":["examples/templates/executable-capability-package/manifest.template.json","docs/executable-package-template.md","docs/local-runtime-home.md","scripts/ci/executable_package_template_smoke.sh"],"invocable_entrypoints":["describe_content_group"],"summary":"Traverse-neutral executable capability package template and local runtime shape.","validation_commands":["bash scripts/ci/executable_package_template_smoke.sh"]}],"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_content_group_list","server_name":"traverse-mcp"} -{"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_shutdown","reason":"shutdown_command","server_name":"traverse-mcp","status":"complete"} +{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN"},"content_group_count":0,"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_startup","mode":"verified_public","public_surface_id":"traverse.mcp.stdio-server","server_name":"traverse-mcp","status":"ready","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","search_capabilities","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} +{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN","token_output_policy":"never_echo_raw_token"},"content_groups":[],"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"downstream_validation_path":{"consumer_name":"youaskm3","governing_specs":["019-downstream-consumer-contract","020-downstream-integration-validation","021-app-facing-operational-constraints"],"public_surface_id":"traverse.mcp.downstream-consumer","validated_flow_id":"youaskm3_mcp_validation"},"governed_surface_counts":{"capabilities":1,"events":0,"workflows":0},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_description","mode":"verified_public","public_surface_id":"traverse.mcp.stdio-server","runtime_authority":"Traverse runtime authority","server_name":"traverse-mcp","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","search_capabilities","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} +{"content_groups":[],"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"entrypoints":{"capabilities":[{"artifact_digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","id":"core.normalize-participants","kind":"capability","lifecycle":"active","namespace":"core","service_type":"stateless","summary":"Normalize raw participants into canonical records.","version":"1.1.0"}],"events":[],"workflows":[]},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_list","mode":"verified_public","server_name":"traverse-mcp"} +{"content_groups":[],"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_content_group_list","mode":"verified_public","server_name":"traverse-mcp"} +{"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_shutdown","reason":"shutdown_command","server_name":"traverse-mcp","status":"complete"} diff --git a/apps/llm-mcp-reference/clients/claude-desktop/evidence/README.md b/apps/llm-mcp-reference/clients/claude-desktop/evidence/README.md index 20d1470..4ca9465 100644 --- a/apps/llm-mcp-reference/clients/claude-desktop/evidence/README.md +++ b/apps/llm-mcp-reference/clients/claude-desktop/evidence/README.md @@ -1,28 +1,15 @@ -# Claude Desktop MCP live evidence (`llm-mcp-claude-live-smoke`) +# Claude Desktop MCP Mode A evidence (`llm-mcp-traverse-starter-catalog`) -Captured **2026-07-29** against Traverse **v0.8.2**. +Captured **2026-09-07** against Traverse **main** (Spec 119 Mode A via [#1252](https://github.com/traverse-framework/Traverse/pull/1252)). -## What was proven +Same Mode A verified-public catalog path as Cursor evidence (stdio JSONL envelopes). Claude Desktop GUI was not required; DoD allows a **command transcript**. -[`../mcp.json.example`](../mcp.json.example) launches: +### transcript A — discovery -```bash -cargo run -p traverse-mcp -- stdio -``` +[`claude-desktop-mcp-stdio-transcript.jsonl`](claude-desktop-mcp-stdio-transcript.jsonl) — `verified_public` + `core.normalize-participants`. -That exact Mode A command was exercised (JSONL stdio envelopes). Claude Desktop GUI was **not** available in this Linux cloud-agent environment; DoD allows a **command transcript** in lieu of screenshots. +### transcript B — execute / render -### Files +[`claude-desktop-mcp-execute-transcript.jsonl`](claude-desktop-mcp-execute-transcript.jsonl) — inline execute + render, `digest_matches_public_state:true`. -| File | Contents | -|---|---| -| [`claude-desktop-mcp-stdio-transcript.jsonl`](claude-desktop-mcp-stdio-transcript.jsonl) | `describe_server` → `list_entrypoints` → `list_content_groups` → `shutdown` | -| [`claude-desktop-mcp-execute-transcript.jsonl`](claude-desktop-mcp-execute-transcript.jsonl) | validate → execute → `render_execution_report` on `expedition.planning.plan-expedition` (status valid / completed / rendered) | - -## Runtime fields only - -Present only fields returned by MCP envelopes / `render_execution_report`. Do not invent title/tags or meeting-notes rows. - -## Catalog note - -Default `traverse-mcp` catalog on v0.8.2 is the **expedition** bundle. `traverse-starter.*` IDs are not listed yet; the Claude Desktop config still correctly binds to Mode A stdio. See Cursor evidence for the same catalog honesty note. +See [`../../cursor/evidence/README.md`](../../cursor/evidence/README.md) for env/reproduce details and fail-closed notes. diff --git a/apps/llm-mcp-reference/clients/claude-desktop/evidence/claude-desktop-mcp-execute-transcript.jsonl b/apps/llm-mcp-reference/clients/claude-desktop/evidence/claude-desktop-mcp-execute-transcript.jsonl index 130fa81..0e994ab 100644 --- a/apps/llm-mcp-reference/clients/claude-desktop/evidence/claude-desktop-mcp-execute-transcript.jsonl +++ b/apps/llm-mcp-reference/clients/claude-desktop/evidence/claude-desktop-mcp-execute-transcript.jsonl @@ -1,8 +1,6 @@ -{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN"},"content_group_count":1,"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_startup","public_surface_id":"traverse.mcp.stdio-server","server_name":"traverse-mcp","status":"ready","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} -{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN","token_output_policy":"never_echo_raw_token"},"content_groups":[{"content_group_id":"core-runtime-example","display_name":"Core runtime example","governed_paths":["examples/templates/executable-capability-package/manifest.template.json","docs/executable-package-template.md","docs/local-runtime-home.md","scripts/ci/executable_package_template_smoke.sh"],"invocable_entrypoints":["describe_content_group"],"summary":"Traverse-neutral executable capability package template and local runtime shape.","validation_commands":["bash scripts/ci/executable_package_template_smoke.sh"]}],"downstream_validation_path":{"consumer_name":"youaskm3","governing_specs":["019-downstream-consumer-contract","020-downstream-integration-validation","021-app-facing-operational-constraints"],"public_surface_id":"traverse.mcp.downstream-consumer","validated_flow_id":"youaskm3_mcp_validation"},"governed_surface_counts":{"capabilities":6,"events":5,"workflows":1},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_description","public_surface_id":"traverse.mcp.stdio-server","runtime_authority":"Traverse runtime authority","server_name":"traverse-mcp","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} -{"content_groups":[{"content_group_id":"core-runtime-example","display_name":"Core runtime example","governed_paths":["examples/templates/executable-capability-package/manifest.template.json","docs/executable-package-template.md","docs/local-runtime-home.md","scripts/ci/executable_package_template_smoke.sh"],"invocable_entrypoints":["describe_content_group"],"summary":"Traverse-neutral executable capability package template and local runtime shape.","validation_commands":["bash scripts/ci/executable_package_template_smoke.sh"]}],"entrypoints":{"capabilities":[{"artifact_kind":"capability","id":"expedition.planning.capture-expedition-objective","lifecycle":"active","summary":"Capture a structured expedition objective from destination, timing, and planning preference inputs.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.interpret-expedition-intent","lifecycle":"active","summary":"Interpret free-form expedition planning intent into structured route preferences, constraints, and assumptions.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.assess-conditions-summary","lifecycle":"active","summary":"Assess a deterministic expedition conditions summary from objective and interpreted intent context.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.validate-team-readiness","lifecycle":"active","summary":"Validate expedition team readiness from objective, conditions summary, and team profile context.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.assemble-expedition-plan","lifecycle":"active","summary":"Assemble the final expedition plan from objective, interpreted intent, conditions, and readiness inputs.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.plan-expedition","lifecycle":"active","summary":"Compose the canonical expedition planning workflow into one first-class governed capability.","version":"1.0.0"}],"events":[{"artifact_kind":"event","id":"expedition.planning.expedition-objective-captured","lifecycle":"active","summary":"A normalized expedition objective has been captured and is ready for downstream planning.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.expedition-intent-interpreted","lifecycle":"active","summary":"An expedition intent has been interpreted into structured planning inputs for downstream steps.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.conditions-summary-assessed","lifecycle":"active","summary":"A deterministic expedition conditions summary has been assessed for the current planning context.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.team-readiness-validated","lifecycle":"active","summary":"A team readiness result has been validated for the expedition objective and conditions context.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.expedition-plan-assembled","lifecycle":"active","summary":"A final expedition plan has been assembled and is ready for downstream consumption.","version":"1.0.0"}],"workflows":[{"artifact_kind":"workflow","id":"expedition.planning.plan-expedition","lifecycle":"active","summary":"Capture, interpret, validate, and assemble an expedition plan deterministically.","version":"1.0.0"}]},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_list","server_name":"traverse-mcp"} -{"entrypoint":{"artifact_kind":"workflow","artifact_path":"/tmp/Traverse/crates/traverse-mcp/../../examples/expedition/registry-bundle/../../../workflows/examples/expedition/plan-expedition/workflow.json","id":"expedition.planning.plan-expedition","lifecycle":"active","owner_team":"traverse-core","summary":"Capture, interpret, validate, and assemble an expedition plan deterministically.","version":"1.0.0"},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_description","server_name":"traverse-mcp"} -{"entrypoint":{"entrypoint":{"artifact_kind":"workflow","artifact_path":"/tmp/Traverse/crates/traverse-mcp/../../examples/expedition/registry-bundle/../../../workflows/examples/expedition/plan-expedition/workflow.json","id":"expedition.planning.plan-expedition","lifecycle":"active","owner_team":"traverse-core","summary":"Capture, interpret, validate, and assemble an expedition plan deterministically.","version":"1.0.0"},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_description","server_name":"traverse-mcp"},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_validation","request":{"caller":"expedition-demo-cli","correlation_id":"expedition-demo-correlation-001","governing_spec":"006-runtime-request-execution","intent":{"capability_id":"expedition.planning.plan-expedition","capability_version":"1.0.0","intent_key":null},"kind":"runtime_request","lookup":{"allow_ambiguity":false,"scope":"prefer_private"},"request_id":"expedition-plan-request-001","requested_target":"local","schema_version":"1.0.0"},"request_path":"examples/expedition/runtime-requests/plan-expedition.json","server_name":"traverse-mcp","status":"valid"} -{"entrypoint":{"entrypoint":{"artifact_kind":"workflow","artifact_path":"/tmp/Traverse/crates/traverse-mcp/../../examples/expedition/registry-bundle/../../../workflows/examples/expedition/plan-expedition/workflow.json","id":"expedition.planning.plan-expedition","lifecycle":"active","owner_team":"traverse-core","summary":"Capture, interpret, validate, and assemble an expedition plan deterministically.","version":"1.0.0"},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_description","server_name":"traverse-mcp"},"execution_id":"exec_expedition-plan-request-001","governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_execution","observation_messages":[{"execution_id":"exec_expedition-plan-request-001","kind":"lifecycle","request_id":"expedition-plan-request-001","sequence":0,"status":"stream_started"},{"kind":"state","sequence":1,"state_event":{"details":{"identity":null,"registry_status":"available","transition_reason":"runtime_initialization_started"},"entered_at":"1970-01-01T00:00:00Z","event_id":"rse_exec_expedition-plan-request-001_0000","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"loading_registry"}},{"kind":"state","sequence":2,"state_event":{"details":{"governing_spec":"006-runtime-request-execution","transition_reason":"registry_loaded"},"entered_at":"1970-01-01T00:00:01Z","event_id":"rse_exec_expedition-plan-request-001_0001","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"ready"}},{"kind":"state","sequence":3,"state_event":{"details":{"identity":null,"lookup_scope":"prefer_private","transition_reason":"request_started"},"entered_at":"1970-01-01T00:00:02Z","event_id":"rse_exec_expedition-plan-request-001_0002","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"discovering"}},{"kind":"state","sequence":4,"state_event":{"details":{"candidate_count":1,"transition_reason":"candidates_collected"},"entered_at":"1970-01-01T00:00:03Z","event_id":"rse_exec_expedition-plan-request-001_0003","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"evaluating_constraints"}},{"kind":"state","sequence":5,"state_event":{"details":{"eligible_candidates":1,"rejected_candidates":0,"transition_reason":"constraints_evaluated"},"entered_at":"1970-01-01T00:00:04Z","event_id":"rse_exec_expedition-plan-request-001_0004","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"selecting"}},{"kind":"state","sequence":6,"state_event":{"details":{"artifact_ref":"bundle:expedition.planning.seed-bundle:expedition.planning.plan-expedition:1.0.0","capability_id":"expedition.planning.plan-expedition","capability_version":"1.0.0","identity":null,"placement_reason":"requested_target_selected","placement_status":"selected","requested_target":"local","selected_target":"local","transition_reason":"candidate_selected"},"entered_at":"1970-01-01T00:00:06Z","event_id":"rse_exec_expedition-plan-request-001_0005","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"executing"}},{"kind":"state","sequence":7,"state_event":{"details":{"capability_id":"expedition.planning.plan-expedition","capability_version":"1.0.0","declared_event_count":1,"transition_reason":"execution_succeeded_with_events"},"entered_at":"1970-01-01T00:00:08Z","event_id":"rse_exec_expedition-plan-request-001_0006","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"emitting_events"}},{"kind":"state","sequence":8,"state_event":{"details":{"capability_id":"expedition.planning.plan-expedition","capability_version":"1.0.0","transition_reason":"events_emitted"},"entered_at":"1970-01-01T00:00:09Z","event_id":"rse_exec_expedition-plan-request-001_0007","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"completed"}},{"kind":"state","sequence":9,"state_event":{"details":{"terminal_state":"completed","transition_reason":"execution_closed"},"entered_at":"1970-01-01T00:00:10Z","event_id":"rse_exec_expedition-plan-request-001_0008","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"ready"}},{"kind":"trace","model_resolution_count":0,"sequence":10,"trace":{"emitted_event_count":5,"execution_id":"exec_expedition-plan-request-001","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"expedition-plan-request-001","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"expedition.planning.plan-expedition","state_transition_count":9,"trace_id":"trace_exec_expedition-plan-request-001"},"trace_redacted":true},{"kind":"terminal","result":{"error":null,"execution_id":"exec_expedition-plan-request-001","kind":"runtime_result","output":{"conditions_summary":{"blocking_concerns":[],"conditions_summary_id":"conditions-objective-sky-pilot","key_findings":["stable morning window for Sky Pilot","preferred style: conservative-alpine-push"],"objective_id":"objective-sky-pilot","overall_rating":"watchful"},"constraints":["priority:same-day-return"],"destination":"Sky Pilot","interpreted_intent":{"assumptions":["Plan a same-day alpine push with a conservative turnaround point and clear readiness actions."],"confidence":0.87,"constraints":["priority:same-day-return"],"intent_id":"intent-objective-sky-pilot","objective_id":"objective-sky-pilot","route_preferences":["conservative-alpine-push","same-day-return"]},"key_steps":["depart before sunrise","reassess winds at mid-route checkpoint","apply conservative turnaround time"],"notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective":{"destination":"Sky Pilot","notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective_id":"objective-sky-pilot","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"}},"objective_id":"objective-sky-pilot","plan_id":"plan-objective-sky-pilot","planning_intent":"Plan a same-day alpine push with a conservative turnaround point and clear readiness actions.","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"readiness_notes":["team profile satisfies baseline expedition requirements"],"readiness_result":{"objective_id":"objective-sky-pilot","readiness_result_id":"readiness-objective-sky-pilot","reasons":["team profile satisfies baseline expedition requirements"],"required_actions":[],"status":"ready"},"recommended_route_style":"conservative-alpine-push","status":"ready","summary":"Proceed with a conservative same-day ascent plan under a limited morning weather window.","target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"},"team_profile":{"equipment_ready":true,"experience_level":"advanced","member_count":3,"team_id":"team-alpine-01"}},"request_id":"expedition-plan-request-001","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_expedition-plan-request-001","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"sequence":11},{"execution_id":"exec_expedition-plan-request-001","kind":"lifecycle","request_id":"expedition-plan-request-001","sequence":12,"status":"stream_completed"}],"request_id":"expedition-plan-request-001","request_path":"examples/expedition/runtime-requests/plan-expedition.json","result":{"error":null,"execution_id":"exec_expedition-plan-request-001","kind":"runtime_result","output":{"conditions_summary":{"blocking_concerns":[],"conditions_summary_id":"conditions-objective-sky-pilot","key_findings":["stable morning window for Sky Pilot","preferred style: conservative-alpine-push"],"objective_id":"objective-sky-pilot","overall_rating":"watchful"},"constraints":["priority:same-day-return"],"destination":"Sky Pilot","interpreted_intent":{"assumptions":["Plan a same-day alpine push with a conservative turnaround point and clear readiness actions."],"confidence":0.87,"constraints":["priority:same-day-return"],"intent_id":"intent-objective-sky-pilot","objective_id":"objective-sky-pilot","route_preferences":["conservative-alpine-push","same-day-return"]},"key_steps":["depart before sunrise","reassess winds at mid-route checkpoint","apply conservative turnaround time"],"notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective":{"destination":"Sky Pilot","notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective_id":"objective-sky-pilot","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"}},"objective_id":"objective-sky-pilot","plan_id":"plan-objective-sky-pilot","planning_intent":"Plan a same-day alpine push with a conservative turnaround point and clear readiness actions.","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"readiness_notes":["team profile satisfies baseline expedition requirements"],"readiness_result":{"objective_id":"objective-sky-pilot","readiness_result_id":"readiness-objective-sky-pilot","reasons":["team profile satisfies baseline expedition requirements"],"required_actions":[],"status":"ready"},"recommended_route_style":"conservative-alpine-push","status":"ready","summary":"Proceed with a conservative same-day ascent plan under a limited morning weather window.","target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"},"team_profile":{"equipment_ready":true,"experience_level":"advanced","member_count":3,"team_id":"team-alpine-01"}},"request_id":"expedition-plan-request-001","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_expedition-plan-request-001","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"server_name":"traverse-mcp","status":"completed","trace":{"emitted_event_count":5,"execution_id":"exec_expedition-plan-request-001","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"expedition-plan-request-001","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"expedition.planning.plan-expedition","state_transition_count":9,"trace_id":"trace_exec_expedition-plan-request-001"},"trace_redaction":{"auth_mode":"local_trust","enabled":true,"reason":"MCP stdio responses omit full runtime traces by default.","tier":"public_summary"}} -{"entrypoint":{"entrypoint":{"artifact_kind":"workflow","artifact_path":"/tmp/Traverse/crates/traverse-mcp/../../examples/expedition/registry-bundle/../../../workflows/examples/expedition/plan-expedition/workflow.json","id":"expedition.planning.plan-expedition","lifecycle":"active","owner_team":"traverse-core","summary":"Capture, interpret, validate, and assemble an expedition plan deterministically.","version":"1.0.0"},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_description","server_name":"traverse-mcp"},"execution":{"execution_id":"exec_expedition-plan-request-001","observation_messages":[{"execution_id":"exec_expedition-plan-request-001","kind":"lifecycle","request_id":"expedition-plan-request-001","sequence":0,"status":"stream_started"},{"kind":"state","sequence":1,"state_event":{"details":{"identity":null,"registry_status":"available","transition_reason":"runtime_initialization_started"},"entered_at":"1970-01-01T00:00:00Z","event_id":"rse_exec_expedition-plan-request-001_0000","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"loading_registry"}},{"kind":"state","sequence":2,"state_event":{"details":{"governing_spec":"006-runtime-request-execution","transition_reason":"registry_loaded"},"entered_at":"1970-01-01T00:00:01Z","event_id":"rse_exec_expedition-plan-request-001_0001","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"ready"}},{"kind":"state","sequence":3,"state_event":{"details":{"identity":null,"lookup_scope":"prefer_private","transition_reason":"request_started"},"entered_at":"1970-01-01T00:00:02Z","event_id":"rse_exec_expedition-plan-request-001_0002","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"discovering"}},{"kind":"state","sequence":4,"state_event":{"details":{"candidate_count":1,"transition_reason":"candidates_collected"},"entered_at":"1970-01-01T00:00:03Z","event_id":"rse_exec_expedition-plan-request-001_0003","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"evaluating_constraints"}},{"kind":"state","sequence":5,"state_event":{"details":{"eligible_candidates":1,"rejected_candidates":0,"transition_reason":"constraints_evaluated"},"entered_at":"1970-01-01T00:00:04Z","event_id":"rse_exec_expedition-plan-request-001_0004","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"selecting"}},{"kind":"state","sequence":6,"state_event":{"details":{"artifact_ref":"bundle:expedition.planning.seed-bundle:expedition.planning.plan-expedition:1.0.0","capability_id":"expedition.planning.plan-expedition","capability_version":"1.0.0","identity":null,"placement_reason":"requested_target_selected","placement_status":"selected","requested_target":"local","selected_target":"local","transition_reason":"candidate_selected"},"entered_at":"1970-01-01T00:00:06Z","event_id":"rse_exec_expedition-plan-request-001_0005","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"executing"}},{"kind":"state","sequence":7,"state_event":{"details":{"capability_id":"expedition.planning.plan-expedition","capability_version":"1.0.0","declared_event_count":1,"transition_reason":"execution_succeeded_with_events"},"entered_at":"1970-01-01T00:00:08Z","event_id":"rse_exec_expedition-plan-request-001_0006","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"emitting_events"}},{"kind":"state","sequence":8,"state_event":{"details":{"capability_id":"expedition.planning.plan-expedition","capability_version":"1.0.0","transition_reason":"events_emitted"},"entered_at":"1970-01-01T00:00:09Z","event_id":"rse_exec_expedition-plan-request-001_0007","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"completed"}},{"kind":"state","sequence":9,"state_event":{"details":{"terminal_state":"completed","transition_reason":"execution_closed"},"entered_at":"1970-01-01T00:00:10Z","event_id":"rse_exec_expedition-plan-request-001_0008","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"ready"}},{"kind":"trace","model_resolution_count":0,"sequence":10,"trace":{"emitted_event_count":5,"execution_id":"exec_expedition-plan-request-001","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"expedition-plan-request-001","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"expedition.planning.plan-expedition","state_transition_count":9,"trace_id":"trace_exec_expedition-plan-request-001"},"trace_redacted":true},{"kind":"terminal","result":{"error":null,"execution_id":"exec_expedition-plan-request-001","kind":"runtime_result","output":{"conditions_summary":{"blocking_concerns":[],"conditions_summary_id":"conditions-objective-sky-pilot","key_findings":["stable morning window for Sky Pilot","preferred style: conservative-alpine-push"],"objective_id":"objective-sky-pilot","overall_rating":"watchful"},"constraints":["priority:same-day-return"],"destination":"Sky Pilot","interpreted_intent":{"assumptions":["Plan a same-day alpine push with a conservative turnaround point and clear readiness actions."],"confidence":0.87,"constraints":["priority:same-day-return"],"intent_id":"intent-objective-sky-pilot","objective_id":"objective-sky-pilot","route_preferences":["conservative-alpine-push","same-day-return"]},"key_steps":["depart before sunrise","reassess winds at mid-route checkpoint","apply conservative turnaround time"],"notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective":{"destination":"Sky Pilot","notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective_id":"objective-sky-pilot","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"}},"objective_id":"objective-sky-pilot","plan_id":"plan-objective-sky-pilot","planning_intent":"Plan a same-day alpine push with a conservative turnaround point and clear readiness actions.","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"readiness_notes":["team profile satisfies baseline expedition requirements"],"readiness_result":{"objective_id":"objective-sky-pilot","readiness_result_id":"readiness-objective-sky-pilot","reasons":["team profile satisfies baseline expedition requirements"],"required_actions":[],"status":"ready"},"recommended_route_style":"conservative-alpine-push","status":"ready","summary":"Proceed with a conservative same-day ascent plan under a limited morning weather window.","target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"},"team_profile":{"equipment_ready":true,"experience_level":"advanced","member_count":3,"team_id":"team-alpine-01"}},"request_id":"expedition-plan-request-001","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_expedition-plan-request-001","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"sequence":11},{"execution_id":"exec_expedition-plan-request-001","kind":"lifecycle","request_id":"expedition-plan-request-001","sequence":12,"status":"stream_completed"}],"request_id":"expedition-plan-request-001","result":{"error":null,"execution_id":"exec_expedition-plan-request-001","kind":"runtime_result","output":{"conditions_summary":{"blocking_concerns":[],"conditions_summary_id":"conditions-objective-sky-pilot","key_findings":["stable morning window for Sky Pilot","preferred style: conservative-alpine-push"],"objective_id":"objective-sky-pilot","overall_rating":"watchful"},"constraints":["priority:same-day-return"],"destination":"Sky Pilot","interpreted_intent":{"assumptions":["Plan a same-day alpine push with a conservative turnaround point and clear readiness actions."],"confidence":0.87,"constraints":["priority:same-day-return"],"intent_id":"intent-objective-sky-pilot","objective_id":"objective-sky-pilot","route_preferences":["conservative-alpine-push","same-day-return"]},"key_steps":["depart before sunrise","reassess winds at mid-route checkpoint","apply conservative turnaround time"],"notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective":{"destination":"Sky Pilot","notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective_id":"objective-sky-pilot","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"}},"objective_id":"objective-sky-pilot","plan_id":"plan-objective-sky-pilot","planning_intent":"Plan a same-day alpine push with a conservative turnaround point and clear readiness actions.","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"readiness_notes":["team profile satisfies baseline expedition requirements"],"readiness_result":{"objective_id":"objective-sky-pilot","readiness_result_id":"readiness-objective-sky-pilot","reasons":["team profile satisfies baseline expedition requirements"],"required_actions":[],"status":"ready"},"recommended_route_style":"conservative-alpine-push","status":"ready","summary":"Proceed with a conservative same-day ascent plan under a limited morning weather window.","target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"},"team_profile":{"equipment_ready":true,"experience_level":"advanced","member_count":3,"team_id":"team-alpine-01"}},"request_id":"expedition-plan-request-001","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_expedition-plan-request-001","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"trace":{"emitted_event_count":5,"execution_id":"exec_expedition-plan-request-001","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"expedition-plan-request-001","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"expedition.planning.plan-expedition","state_transition_count":9,"trace_id":"trace_exec_expedition-plan-request-001"},"trace_redaction":{"auth_mode":"local_trust","enabled":true,"reason":"MCP stdio responses omit full runtime traces by default.","tier":"public_summary"}},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_execution_report","report":{"execution_id":"exec_expedition-plan-request-001","observation_message_count":13,"request_id":"expedition-plan-request-001","result_status":"completed","summary":"Rendered execution report from governed runtime output","trace_kind":"runtime_trace","trace_redacted":true},"request_path":"examples/expedition/runtime-requests/plan-expedition.json","server_name":"traverse-mcp","status":"rendered"} -{"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_shutdown","reason":"shutdown_command","server_name":"traverse-mcp","status":"complete"} +{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN"},"content_group_count":0,"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_startup","mode":"verified_public","public_surface_id":"traverse.mcp.stdio-server","server_name":"traverse-mcp","status":"ready","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","search_capabilities","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} +{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN","token_output_policy":"never_echo_raw_token"},"content_groups":[],"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"downstream_validation_path":{"consumer_name":"youaskm3","governing_specs":["019-downstream-consumer-contract","020-downstream-integration-validation","021-app-facing-operational-constraints"],"public_surface_id":"traverse.mcp.downstream-consumer","validated_flow_id":"youaskm3_mcp_validation"},"governed_surface_counts":{"capabilities":1,"events":0,"workflows":0},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_description","mode":"verified_public","public_surface_id":"traverse.mcp.stdio-server","runtime_authority":"Traverse runtime authority","server_name":"traverse-mcp","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","search_capabilities","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} +{"content_groups":[],"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"entrypoints":{"capabilities":[{"artifact_digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","id":"core.normalize-participants","kind":"capability","lifecycle":"active","namespace":"core","service_type":"stateless","summary":"Normalize raw participants into canonical records.","version":"1.1.0"}],"events":[],"workflows":[]},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_list","mode":"verified_public","server_name":"traverse-mcp"} +{"artifact":{"digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","digest_matches_public_state":true,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","source_release":"index-v1","stale":false,"verification":"digest","verified":true},"entrypoint":{"artifact_digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","artifact_kind":"capability","description":"Verified public kit fixture for Mode A tests.","id":"core.normalize-participants","index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","lifecycle":"active","namespace":"core","permitted_targets":["wasm"],"provenance":null,"scenarios":["Resolve extracted names and emails to workspace members."],"service_type":"stateless","source_release":"index-v1","summary":"Normalize raw participants into canonical records.","version":"1.1.0"},"execution_id":"exec_core-normalize-participants-01","governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_execution","mode":"verified_public","observation_messages":[{"execution_id":"exec_core-normalize-participants-01","kind":"lifecycle","request_id":"core-normalize-participants-01","sequence":0,"status":"stream_started"},{"kind":"state","sequence":1,"state_event":{"details":{"identity":null,"registry_status":"available","transition_reason":"runtime_initialization_started"},"entered_at":"1970-01-01T00:00:00Z","event_id":"rse_exec_core-normalize-participants-01_0000","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"loading_registry"}},{"kind":"state","sequence":2,"state_event":{"details":{"governing_spec":"006-runtime-request-execution","transition_reason":"registry_loaded"},"entered_at":"1970-01-01T00:00:01Z","event_id":"rse_exec_core-normalize-participants-01_0001","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"ready"}},{"kind":"state","sequence":3,"state_event":{"details":{"identity":null,"lookup_scope":"prefer_private","transition_reason":"request_started"},"entered_at":"1970-01-01T00:00:02Z","event_id":"rse_exec_core-normalize-participants-01_0002","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"discovering"}},{"kind":"state","sequence":4,"state_event":{"details":{"candidate_count":1,"transition_reason":"candidates_collected"},"entered_at":"1970-01-01T00:00:03Z","event_id":"rse_exec_core-normalize-participants-01_0003","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"evaluating_constraints"}},{"kind":"state","sequence":5,"state_event":{"details":{"eligible_candidates":1,"rejected_candidates":0,"transition_reason":"constraints_evaluated"},"entered_at":"1970-01-01T00:00:04Z","event_id":"rse_exec_core-normalize-participants-01_0004","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"selecting"}},{"kind":"state","sequence":6,"state_event":{"details":{"artifact_ref":"verified-registry:core.normalize-participants:1.1.0","capability_id":"core.normalize-participants","capability_version":"1.1.0","identity":null,"placement_reason":"requested_target_selected","placement_status":"selected","requested_target":"local","selected_target":"local","transition_reason":"candidate_selected"},"entered_at":"1970-01-01T00:00:06Z","event_id":"rse_exec_core-normalize-participants-01_0005","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"executing"}},{"kind":"state","sequence":7,"state_event":{"details":{"capability_id":"core.normalize-participants","capability_version":"1.1.0","transition_reason":"execution_succeeded"},"entered_at":"1970-01-01T00:00:08Z","event_id":"rse_exec_core-normalize-participants-01_0006","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"completed"}},{"kind":"state","sequence":8,"state_event":{"details":{"terminal_state":"completed","transition_reason":"execution_closed"},"entered_at":"1970-01-01T00:00:09Z","event_id":"rse_exec_core-normalize-participants-01_0007","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"ready"}},{"kind":"trace","model_resolution_count":0,"sequence":9,"trace":{"emitted_event_count":0,"execution_id":"exec_core-normalize-participants-01","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"core-normalize-participants-01","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"core.normalize-participants","state_transition_count":8,"trace_id":"trace_exec_core-normalize-participants-01"},"trace_redacted":true},{"kind":"terminal","result":{"error":null,"execution_id":"exec_core-normalize-participants-01","kind":"runtime_result","output":{"evaluation_trace":["normalized 3 participants","matched 2"],"matched_count":2,"participants":[{"display_name":"Ada Lovelace","email":"ada@loop.dev","match_method":"email","participant_id":"user-ada"},{"display_name":"Bob Smith","email":"bob@loop.dev","match_method":"email","participant_id":"user-bob"},{"display_name":"Unknown Person","email":"stranger@example.com","match_method":"none","participant_id":"unmatched-1"}],"reason_code":"ok","unmatched_count":1},"request_id":"core-normalize-participants-01","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_core-normalize-participants-01","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"sequence":10},{"execution_id":"exec_core-normalize-participants-01","kind":"lifecycle","request_id":"core-normalize-participants-01","sequence":11,"status":"stream_completed"}],"request_id":"core-normalize-participants-01","request_path":null,"request_source":"inline","result":{"error":null,"execution_id":"exec_core-normalize-participants-01","kind":"runtime_result","output":{"evaluation_trace":["normalized 3 participants","matched 2"],"matched_count":2,"participants":[{"display_name":"Ada Lovelace","email":"ada@loop.dev","match_method":"email","participant_id":"user-ada"},{"display_name":"Bob Smith","email":"bob@loop.dev","match_method":"email","participant_id":"user-bob"},{"display_name":"Unknown Person","email":"stranger@example.com","match_method":"none","participant_id":"unmatched-1"}],"reason_code":"ok","unmatched_count":1},"request_id":"core-normalize-participants-01","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_core-normalize-participants-01","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"server_name":"traverse-mcp","status":"completed","trace":{"emitted_event_count":0,"execution_id":"exec_core-normalize-participants-01","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"core-normalize-participants-01","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"core.normalize-participants","state_transition_count":8,"trace_id":"trace_exec_core-normalize-participants-01"},"trace_redaction":{"auth_mode":"local_trust","enabled":true,"reason":"MCP stdio responses omit full runtime traces by default.","tier":"public_summary"}} +{"artifact":{"digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","digest_matches_public_state":true,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","source_release":"index-v1","stale":false,"verification":"digest","verified":true},"entrypoint":{"artifact_digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","artifact_kind":"capability","description":"Verified public kit fixture for Mode A tests.","id":"core.normalize-participants","index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","lifecycle":"active","namespace":"core","permitted_targets":["wasm"],"provenance":null,"scenarios":["Resolve extracted names and emails to workspace members."],"service_type":"stateless","source_release":"index-v1","summary":"Normalize raw participants into canonical records.","version":"1.1.0"},"execution":{"execution_id":"exec_core-normalize-participants-01","observation_messages":[{"execution_id":"exec_core-normalize-participants-01","kind":"lifecycle","request_id":"core-normalize-participants-01","sequence":0,"status":"stream_started"},{"kind":"state","sequence":1,"state_event":{"details":{"identity":null,"registry_status":"available","transition_reason":"runtime_initialization_started"},"entered_at":"1970-01-01T00:00:00Z","event_id":"rse_exec_core-normalize-participants-01_0000","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"loading_registry"}},{"kind":"state","sequence":2,"state_event":{"details":{"governing_spec":"006-runtime-request-execution","transition_reason":"registry_loaded"},"entered_at":"1970-01-01T00:00:01Z","event_id":"rse_exec_core-normalize-participants-01_0001","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"ready"}},{"kind":"state","sequence":3,"state_event":{"details":{"identity":null,"lookup_scope":"prefer_private","transition_reason":"request_started"},"entered_at":"1970-01-01T00:00:02Z","event_id":"rse_exec_core-normalize-participants-01_0002","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"discovering"}},{"kind":"state","sequence":4,"state_event":{"details":{"candidate_count":1,"transition_reason":"candidates_collected"},"entered_at":"1970-01-01T00:00:03Z","event_id":"rse_exec_core-normalize-participants-01_0003","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"evaluating_constraints"}},{"kind":"state","sequence":5,"state_event":{"details":{"eligible_candidates":1,"rejected_candidates":0,"transition_reason":"constraints_evaluated"},"entered_at":"1970-01-01T00:00:04Z","event_id":"rse_exec_core-normalize-participants-01_0004","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"selecting"}},{"kind":"state","sequence":6,"state_event":{"details":{"artifact_ref":"verified-registry:core.normalize-participants:1.1.0","capability_id":"core.normalize-participants","capability_version":"1.1.0","identity":null,"placement_reason":"requested_target_selected","placement_status":"selected","requested_target":"local","selected_target":"local","transition_reason":"candidate_selected"},"entered_at":"1970-01-01T00:00:06Z","event_id":"rse_exec_core-normalize-participants-01_0005","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"executing"}},{"kind":"state","sequence":7,"state_event":{"details":{"capability_id":"core.normalize-participants","capability_version":"1.1.0","transition_reason":"execution_succeeded"},"entered_at":"1970-01-01T00:00:08Z","event_id":"rse_exec_core-normalize-participants-01_0006","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"completed"}},{"kind":"state","sequence":8,"state_event":{"details":{"terminal_state":"completed","transition_reason":"execution_closed"},"entered_at":"1970-01-01T00:00:09Z","event_id":"rse_exec_core-normalize-participants-01_0007","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"ready"}},{"kind":"trace","model_resolution_count":0,"sequence":9,"trace":{"emitted_event_count":0,"execution_id":"exec_core-normalize-participants-01","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"core-normalize-participants-01","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"core.normalize-participants","state_transition_count":8,"trace_id":"trace_exec_core-normalize-participants-01"},"trace_redacted":true},{"kind":"terminal","result":{"error":null,"execution_id":"exec_core-normalize-participants-01","kind":"runtime_result","output":{"evaluation_trace":["normalized 3 participants","matched 2"],"matched_count":2,"participants":[{"display_name":"Ada Lovelace","email":"ada@loop.dev","match_method":"email","participant_id":"user-ada"},{"display_name":"Bob Smith","email":"bob@loop.dev","match_method":"email","participant_id":"user-bob"},{"display_name":"Unknown Person","email":"stranger@example.com","match_method":"none","participant_id":"unmatched-1"}],"reason_code":"ok","unmatched_count":1},"request_id":"core-normalize-participants-01","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_core-normalize-participants-01","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"sequence":10},{"execution_id":"exec_core-normalize-participants-01","kind":"lifecycle","request_id":"core-normalize-participants-01","sequence":11,"status":"stream_completed"}],"request_id":"core-normalize-participants-01","result":{"error":null,"execution_id":"exec_core-normalize-participants-01","kind":"runtime_result","output":{"evaluation_trace":["normalized 3 participants","matched 2"],"matched_count":2,"participants":[{"display_name":"Ada Lovelace","email":"ada@loop.dev","match_method":"email","participant_id":"user-ada"},{"display_name":"Bob Smith","email":"bob@loop.dev","match_method":"email","participant_id":"user-bob"},{"display_name":"Unknown Person","email":"stranger@example.com","match_method":"none","participant_id":"unmatched-1"}],"reason_code":"ok","unmatched_count":1},"request_id":"core-normalize-participants-01","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_core-normalize-participants-01","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"trace":{"emitted_event_count":0,"execution_id":"exec_core-normalize-participants-01","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"core-normalize-participants-01","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"core.normalize-participants","state_transition_count":8,"trace_id":"trace_exec_core-normalize-participants-01"},"trace_redaction":{"auth_mode":"local_trust","enabled":true,"reason":"MCP stdio responses omit full runtime traces by default.","tier":"public_summary"}},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_execution_report","mode":"verified_public","report":{"execution_id":"exec_core-normalize-participants-01","observation_message_count":12,"request_id":"core-normalize-participants-01","result_status":"completed","summary":"Rendered execution report from governed runtime output","trace_kind":"runtime_trace","trace_redacted":true},"request_path":null,"request_source":"inline","server_name":"traverse-mcp","status":"rendered"} +{"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_shutdown","reason":"shutdown_command","server_name":"traverse-mcp","status":"complete"} diff --git a/apps/llm-mcp-reference/clients/claude-desktop/evidence/claude-desktop-mcp-stdio-transcript.jsonl b/apps/llm-mcp-reference/clients/claude-desktop/evidence/claude-desktop-mcp-stdio-transcript.jsonl index 3880544..04520ec 100644 --- a/apps/llm-mcp-reference/clients/claude-desktop/evidence/claude-desktop-mcp-stdio-transcript.jsonl +++ b/apps/llm-mcp-reference/clients/claude-desktop/evidence/claude-desktop-mcp-stdio-transcript.jsonl @@ -1,5 +1,5 @@ -{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN"},"content_group_count":1,"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_startup","public_surface_id":"traverse.mcp.stdio-server","server_name":"traverse-mcp","status":"ready","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} -{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN","token_output_policy":"never_echo_raw_token"},"content_groups":[{"content_group_id":"core-runtime-example","display_name":"Core runtime example","governed_paths":["examples/templates/executable-capability-package/manifest.template.json","docs/executable-package-template.md","docs/local-runtime-home.md","scripts/ci/executable_package_template_smoke.sh"],"invocable_entrypoints":["describe_content_group"],"summary":"Traverse-neutral executable capability package template and local runtime shape.","validation_commands":["bash scripts/ci/executable_package_template_smoke.sh"]}],"downstream_validation_path":{"consumer_name":"youaskm3","governing_specs":["019-downstream-consumer-contract","020-downstream-integration-validation","021-app-facing-operational-constraints"],"public_surface_id":"traverse.mcp.downstream-consumer","validated_flow_id":"youaskm3_mcp_validation"},"governed_surface_counts":{"capabilities":6,"events":5,"workflows":1},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_description","public_surface_id":"traverse.mcp.stdio-server","runtime_authority":"Traverse runtime authority","server_name":"traverse-mcp","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} -{"content_groups":[{"content_group_id":"core-runtime-example","display_name":"Core runtime example","governed_paths":["examples/templates/executable-capability-package/manifest.template.json","docs/executable-package-template.md","docs/local-runtime-home.md","scripts/ci/executable_package_template_smoke.sh"],"invocable_entrypoints":["describe_content_group"],"summary":"Traverse-neutral executable capability package template and local runtime shape.","validation_commands":["bash scripts/ci/executable_package_template_smoke.sh"]}],"entrypoints":{"capabilities":[{"artifact_kind":"capability","id":"expedition.planning.capture-expedition-objective","lifecycle":"active","summary":"Capture a structured expedition objective from destination, timing, and planning preference inputs.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.interpret-expedition-intent","lifecycle":"active","summary":"Interpret free-form expedition planning intent into structured route preferences, constraints, and assumptions.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.assess-conditions-summary","lifecycle":"active","summary":"Assess a deterministic expedition conditions summary from objective and interpreted intent context.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.validate-team-readiness","lifecycle":"active","summary":"Validate expedition team readiness from objective, conditions summary, and team profile context.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.assemble-expedition-plan","lifecycle":"active","summary":"Assemble the final expedition plan from objective, interpreted intent, conditions, and readiness inputs.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.plan-expedition","lifecycle":"active","summary":"Compose the canonical expedition planning workflow into one first-class governed capability.","version":"1.0.0"}],"events":[{"artifact_kind":"event","id":"expedition.planning.expedition-objective-captured","lifecycle":"active","summary":"A normalized expedition objective has been captured and is ready for downstream planning.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.expedition-intent-interpreted","lifecycle":"active","summary":"An expedition intent has been interpreted into structured planning inputs for downstream steps.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.conditions-summary-assessed","lifecycle":"active","summary":"A deterministic expedition conditions summary has been assessed for the current planning context.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.team-readiness-validated","lifecycle":"active","summary":"A team readiness result has been validated for the expedition objective and conditions context.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.expedition-plan-assembled","lifecycle":"active","summary":"A final expedition plan has been assembled and is ready for downstream consumption.","version":"1.0.0"}],"workflows":[{"artifact_kind":"workflow","id":"expedition.planning.plan-expedition","lifecycle":"active","summary":"Capture, interpret, validate, and assemble an expedition plan deterministically.","version":"1.0.0"}]},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_list","server_name":"traverse-mcp"} -{"content_groups":[{"content_group_id":"core-runtime-example","display_name":"Core runtime example","governed_paths":["examples/templates/executable-capability-package/manifest.template.json","docs/executable-package-template.md","docs/local-runtime-home.md","scripts/ci/executable_package_template_smoke.sh"],"invocable_entrypoints":["describe_content_group"],"summary":"Traverse-neutral executable capability package template and local runtime shape.","validation_commands":["bash scripts/ci/executable_package_template_smoke.sh"]}],"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_content_group_list","server_name":"traverse-mcp"} -{"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_shutdown","reason":"shutdown_command","server_name":"traverse-mcp","status":"complete"} +{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN"},"content_group_count":0,"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_startup","mode":"verified_public","public_surface_id":"traverse.mcp.stdio-server","server_name":"traverse-mcp","status":"ready","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","search_capabilities","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} +{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN","token_output_policy":"never_echo_raw_token"},"content_groups":[],"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"downstream_validation_path":{"consumer_name":"youaskm3","governing_specs":["019-downstream-consumer-contract","020-downstream-integration-validation","021-app-facing-operational-constraints"],"public_surface_id":"traverse.mcp.downstream-consumer","validated_flow_id":"youaskm3_mcp_validation"},"governed_surface_counts":{"capabilities":1,"events":0,"workflows":0},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_description","mode":"verified_public","public_surface_id":"traverse.mcp.stdio-server","runtime_authority":"Traverse runtime authority","server_name":"traverse-mcp","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","search_capabilities","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} +{"content_groups":[],"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"entrypoints":{"capabilities":[{"artifact_digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","id":"core.normalize-participants","kind":"capability","lifecycle":"active","namespace":"core","service_type":"stateless","summary":"Normalize raw participants into canonical records.","version":"1.1.0"}],"events":[],"workflows":[]},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_list","mode":"verified_public","server_name":"traverse-mcp"} +{"content_groups":[],"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_content_group_list","mode":"verified_public","server_name":"traverse-mcp"} +{"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_shutdown","reason":"shutdown_command","server_name":"traverse-mcp","status":"complete"} diff --git a/apps/llm-mcp-reference/clients/claude-desktop/mcp.json.example b/apps/llm-mcp-reference/clients/claude-desktop/mcp.json.example index df29206..24ad6a5 100644 --- a/apps/llm-mcp-reference/clients/claude-desktop/mcp.json.example +++ b/apps/llm-mcp-reference/clients/claude-desktop/mcp.json.example @@ -1,11 +1,15 @@ { "mcpServers": { - "traverse": { - "command": "cargo", - "args": ["run", "-p", "traverse-mcp", "--", "stdio"], - "cwd": "/ABS/PATH/TO/Traverse", + "traverse-mode-a": { + "command": "bash", + "args": [ + "/ABS/PATH/TO/App-References/apps/llm-mcp-reference/mode-a/serve.sh" + ], "env": { - "TRAVERSE_REPO": "/ABS/PATH/TO/Traverse" + "TRAVERSE_REPO": "/ABS/PATH/TO/Traverse", + "TRAVERSE_MCP_REGISTRY_CACHE": "/ABS/PATH/TO/host-owned-verified-state", + "TRAVERSE_MCP_CACHE_ROOT": "/ABS/PATH/TO/host-owned-verified-state", + "TRAVERSE_WORKSPACE": "local-default" } } } diff --git a/apps/llm-mcp-reference/clients/cursor/README.md b/apps/llm-mcp-reference/clients/cursor/README.md index d0ee987..e983425 100644 --- a/apps/llm-mcp-reference/clients/cursor/README.md +++ b/apps/llm-mcp-reference/clients/cursor/README.md @@ -2,16 +2,16 @@ ## Setup -1. Traverse checkout with working `traverse-mcp` (tested with **v0.8.2+**). -2. Copy [`mcp.json.example`](mcp.json.example) into Cursor MCP settings (Cursor Settings → MCP, or project MCP config as applicable). -3. Replace `/ABS/PATH/TO/Traverse` with your **absolute** Traverse checkout in both `cwd` and `env.TRAVERSE_REPO`. -4. Apply [`../../shared/prompts/system-boundary.md`](../../shared/prompts/system-boundary.md) in rules/instructions. -5. Exercise [`../../shared/workflows/traverse-starter.md`](../../shared/workflows/traverse-starter.md) when starter entrypoints are available in the MCP catalog; until then use discovery (`list_entrypoints`) and only render runtime fields. -6. For meeting transcripts, follow [`../../shared/workflows/meeting-notes.md`](../../shared/workflows/meeting-notes.md) (tool sequence + sample transcript) once `meeting-notes.process` is catalogued. +1. Traverse checkout that includes Spec 119 Mode A (post [#1252](https://github.com/traverse-framework/Traverse/pull/1252), or the next release after `v0.10.0`). +2. Prepare a verified cache: `cd ../../mode-a && bash prepare.sh` (sets `TRAVERSE_MCP_REGISTRY_CACHE`). +3. Copy [`mcp.json.example`](mcp.json.example) into Cursor MCP settings (or use [`../../mode-a/mcp.json.example`](../../mode-a/mcp.json.example)). +4. Replace absolute paths for `TRAVERSE_REPO` and `TRAVERSE_MCP_REGISTRY_CACHE`. +5. Apply [`../../shared/prompts/system-boundary.md`](../../shared/prompts/system-boundary.md) in rules/instructions. +6. Discover via `list_entrypoints` and only render runtime fields. Seeded fixture includes `core.normalize-participants` (Loop WF1). Extend the cache for `meeting-notes.process` / `traverse-starter.process` when needed. ## Live evidence -See [`evidence/`](evidence/) — Cursor cloud agent ran the **same** `cargo run -p traverse-mcp -- stdio` command as `mcp.json.example` and captured discovery + execute/render transcripts (`llm-mcp-cursor-live-smoke`). +See [`evidence/`](evidence/) — Mode A verified-public discovery + inline execute/render (`llm-mcp-traverse-starter-catalog`). ## Boundary diff --git a/apps/llm-mcp-reference/clients/cursor/evidence/README.md b/apps/llm-mcp-reference/clients/cursor/evidence/README.md index 8ad6a39..2e382f9 100644 --- a/apps/llm-mcp-reference/clients/cursor/evidence/README.md +++ b/apps/llm-mcp-reference/clients/cursor/evidence/README.md @@ -1,58 +1,54 @@ -# Cursor MCP live evidence (`llm-mcp-cursor-live-smoke`) +# Cursor MCP Mode A evidence (`llm-mcp-traverse-starter-catalog`) -Captured **2026-07-29** against Traverse **v0.8.2** (`TRAVERSE_REPO=/tmp/Traverse`). +Captured **2026-09-07** against Traverse **main** (post [#1252](https://github.com/traverse-framework/Traverse/pull/1252) Spec 119 Mode A; after tagged `v0.10.0`). ## What was proven -The Cursor façade config in [`../mcp.json.example`](../mcp.json.example) launches: +Mode A host path via `TRAVERSE_MCP_REGISTRY_CACHE` pointing at the Traverse committed verified kit fixture (`crates/traverse-mcp/tests/fixtures/mode-a-cache`), equivalent to: ```bash -cargo run -p traverse-mcp -- stdio +export TRAVERSE_REPO=/absolute/path/to/Traverse +export TRAVERSE_MCP_REGISTRY_CACHE="$TRAVERSE_REPO/crates/traverse-mcp/tests/fixtures/mode-a-cache" +# or: bash apps/llm-mcp-reference/mode-a/prepare.sh && bash apps/llm-mcp-reference/mode-a/serve.sh +printf '%s\n' … | TRAVERSE_MCP_REGISTRY_CACHE=… cargo run -q -p traverse-mcp -- stdio ``` -with `cwd` / `TRAVERSE_REPO` pointing at a Traverse checkout. That exact command was exercised here (stdio JSONL envelopes, local_trust Mode A). - -### Transcript A — discovery +### transcript A — discovery File: [`cursor-mcp-stdio-transcript.jsonl`](cursor-mcp-stdio-transcript.jsonl) Commands: `describe_server` → `list_entrypoints` → `list_content_groups` → `shutdown` -Observed kinds: `mcp_stdio_server_startup` (ready), `mcp_stdio_server_description`, `mcp_stdio_server_entrypoint_list`, `mcp_stdio_server_content_group_list`, `mcp_stdio_server_shutdown`. +Observed: `"mode":"verified_public"`, governing spec `119-verified-registry-mcp-mode-a`, discovery source `host_verified_public_registry`, capability id `core.normalize-participants` (Loop WF1 kit used by App-Refs). Content groups empty (FR-007). No expedition catalog. -### transcript B — validate / execute / render +### transcript B — execute / render File: [`cursor-mcp-execute-transcript.jsonl`](cursor-mcp-execute-transcript.jsonl) -Commands follow the upstream `mcp_stdio_server_execution_report_smoke.sh` path against the **current** MCP catalog workflow `expedition.planning.plan-expedition` (request_path `examples/expedition/runtime-requests/plan-expedition.json`). - -Observed: validation `valid` → execution `completed` → report `rendered` → shutdown `complete`. stderr empty. +Commands: `describe_server` → `list_entrypoints` → inline `execute_entrypoint` → inline `render_execution_report` → `shutdown` against `core.normalize-participants` @ `1.1.0`. -## Runtime fields only +Observed: `"status":"completed"`, `"request_source":"inline"`, `"digest_matches_public_state":true`, artifact digest `sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad`. -Execution/report envelopes come from Traverse MCP — this façade does **not** invent structured business fields. Agents must present only fields returned by `render_execution_report` / execution envelopes. +### Fail closed -## Catalog note (honest) +Empty `TRAVERSE_MCP_REGISTRY_CACHE` → startup failure with `"code":"registry_sync_missing"` and empty stdout (no expedition fallback). -As of Traverse v0.8.2, `traverse-mcp stdio`’s default governed catalog is the **expedition** registry bundle (plus `core-runtime-example` content group). **`traverse-starter.*` / `meeting-notes.process` entrypoints are not listed yet** in that default catalog. +## Runtime fields only -Implication for App-Refs: +Execution/report envelopes come from Traverse MCP — this façade does **not** invent structured business fields. -- Cursor MCP config is correct for Mode A (stdio → `traverse-mcp`). -- Live product smoke against starter/meeting-notes **IDs** lands when those capabilities are published into the MCP catalog (or a documented catalog override ships upstream). Until then, this evidence proves the Cursor→MCP host path end-to-end on the catalog the server actually serves. +## Catalog note -Tracked on App-Refs Project 2 as `llm-mcp-traverse-starter-catalog` (Blocked), mirroring Traverse [#865](https://github.com/traverse-framework/Traverse/issues/865) and registry [#99](https://github.com/traverse-framework/registry/issues/99). +Mode A discovery is the host-prepared verified public metadata generation. The committed fixture seeds `core.normalize-participants`. Additional App-Refs pins (`meeting-notes.process`, `traverse-starter.process`) appear when the host prepares those digests into the same `HostRegistryCache` (library prepare APIs) — not via expedition fallback or App-Refs materialize rewrite. ## Reproduce ```bash -export TRAVERSE_REPO=/absolute/path/to/Traverse -cd "$TRAVERSE_REPO" -printf '%s\n' \ - '{"command":"describe_server"}' \ - '{"command":"list_entrypoints"}' \ - '{"command":"shutdown"}' \ - | cargo run -q -p traverse-mcp -- stdio +export TRAVERSE_REPO=/absolute/path/to/Traverse # main with Mode A +export TRAVERSE_MCP_REGISTRY_CACHE="${HOME}/.cache/traverse-mcp-mode-a" +cd /absolute/path/to/App-References/apps/llm-mcp-reference/mode-a +bash prepare.sh +bash serve.sh # or pipe JSONL commands into serve.sh ``` -Optional full execute path: see Traverse `scripts/ci/mcp_stdio_server_execution_report_smoke.sh`. +Upstream smoke: `bash "$TRAVERSE_REPO/scripts/ci/mcp_stdio_server_mode_a_smoke.sh"`. diff --git a/apps/llm-mcp-reference/clients/cursor/evidence/cursor-mcp-execute-transcript.jsonl b/apps/llm-mcp-reference/clients/cursor/evidence/cursor-mcp-execute-transcript.jsonl index 130fa81..0e994ab 100644 --- a/apps/llm-mcp-reference/clients/cursor/evidence/cursor-mcp-execute-transcript.jsonl +++ b/apps/llm-mcp-reference/clients/cursor/evidence/cursor-mcp-execute-transcript.jsonl @@ -1,8 +1,6 @@ -{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN"},"content_group_count":1,"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_startup","public_surface_id":"traverse.mcp.stdio-server","server_name":"traverse-mcp","status":"ready","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} -{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN","token_output_policy":"never_echo_raw_token"},"content_groups":[{"content_group_id":"core-runtime-example","display_name":"Core runtime example","governed_paths":["examples/templates/executable-capability-package/manifest.template.json","docs/executable-package-template.md","docs/local-runtime-home.md","scripts/ci/executable_package_template_smoke.sh"],"invocable_entrypoints":["describe_content_group"],"summary":"Traverse-neutral executable capability package template and local runtime shape.","validation_commands":["bash scripts/ci/executable_package_template_smoke.sh"]}],"downstream_validation_path":{"consumer_name":"youaskm3","governing_specs":["019-downstream-consumer-contract","020-downstream-integration-validation","021-app-facing-operational-constraints"],"public_surface_id":"traverse.mcp.downstream-consumer","validated_flow_id":"youaskm3_mcp_validation"},"governed_surface_counts":{"capabilities":6,"events":5,"workflows":1},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_description","public_surface_id":"traverse.mcp.stdio-server","runtime_authority":"Traverse runtime authority","server_name":"traverse-mcp","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} -{"content_groups":[{"content_group_id":"core-runtime-example","display_name":"Core runtime example","governed_paths":["examples/templates/executable-capability-package/manifest.template.json","docs/executable-package-template.md","docs/local-runtime-home.md","scripts/ci/executable_package_template_smoke.sh"],"invocable_entrypoints":["describe_content_group"],"summary":"Traverse-neutral executable capability package template and local runtime shape.","validation_commands":["bash scripts/ci/executable_package_template_smoke.sh"]}],"entrypoints":{"capabilities":[{"artifact_kind":"capability","id":"expedition.planning.capture-expedition-objective","lifecycle":"active","summary":"Capture a structured expedition objective from destination, timing, and planning preference inputs.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.interpret-expedition-intent","lifecycle":"active","summary":"Interpret free-form expedition planning intent into structured route preferences, constraints, and assumptions.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.assess-conditions-summary","lifecycle":"active","summary":"Assess a deterministic expedition conditions summary from objective and interpreted intent context.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.validate-team-readiness","lifecycle":"active","summary":"Validate expedition team readiness from objective, conditions summary, and team profile context.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.assemble-expedition-plan","lifecycle":"active","summary":"Assemble the final expedition plan from objective, interpreted intent, conditions, and readiness inputs.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.plan-expedition","lifecycle":"active","summary":"Compose the canonical expedition planning workflow into one first-class governed capability.","version":"1.0.0"}],"events":[{"artifact_kind":"event","id":"expedition.planning.expedition-objective-captured","lifecycle":"active","summary":"A normalized expedition objective has been captured and is ready for downstream planning.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.expedition-intent-interpreted","lifecycle":"active","summary":"An expedition intent has been interpreted into structured planning inputs for downstream steps.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.conditions-summary-assessed","lifecycle":"active","summary":"A deterministic expedition conditions summary has been assessed for the current planning context.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.team-readiness-validated","lifecycle":"active","summary":"A team readiness result has been validated for the expedition objective and conditions context.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.expedition-plan-assembled","lifecycle":"active","summary":"A final expedition plan has been assembled and is ready for downstream consumption.","version":"1.0.0"}],"workflows":[{"artifact_kind":"workflow","id":"expedition.planning.plan-expedition","lifecycle":"active","summary":"Capture, interpret, validate, and assemble an expedition plan deterministically.","version":"1.0.0"}]},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_list","server_name":"traverse-mcp"} -{"entrypoint":{"artifact_kind":"workflow","artifact_path":"/tmp/Traverse/crates/traverse-mcp/../../examples/expedition/registry-bundle/../../../workflows/examples/expedition/plan-expedition/workflow.json","id":"expedition.planning.plan-expedition","lifecycle":"active","owner_team":"traverse-core","summary":"Capture, interpret, validate, and assemble an expedition plan deterministically.","version":"1.0.0"},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_description","server_name":"traverse-mcp"} -{"entrypoint":{"entrypoint":{"artifact_kind":"workflow","artifact_path":"/tmp/Traverse/crates/traverse-mcp/../../examples/expedition/registry-bundle/../../../workflows/examples/expedition/plan-expedition/workflow.json","id":"expedition.planning.plan-expedition","lifecycle":"active","owner_team":"traverse-core","summary":"Capture, interpret, validate, and assemble an expedition plan deterministically.","version":"1.0.0"},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_description","server_name":"traverse-mcp"},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_validation","request":{"caller":"expedition-demo-cli","correlation_id":"expedition-demo-correlation-001","governing_spec":"006-runtime-request-execution","intent":{"capability_id":"expedition.planning.plan-expedition","capability_version":"1.0.0","intent_key":null},"kind":"runtime_request","lookup":{"allow_ambiguity":false,"scope":"prefer_private"},"request_id":"expedition-plan-request-001","requested_target":"local","schema_version":"1.0.0"},"request_path":"examples/expedition/runtime-requests/plan-expedition.json","server_name":"traverse-mcp","status":"valid"} -{"entrypoint":{"entrypoint":{"artifact_kind":"workflow","artifact_path":"/tmp/Traverse/crates/traverse-mcp/../../examples/expedition/registry-bundle/../../../workflows/examples/expedition/plan-expedition/workflow.json","id":"expedition.planning.plan-expedition","lifecycle":"active","owner_team":"traverse-core","summary":"Capture, interpret, validate, and assemble an expedition plan deterministically.","version":"1.0.0"},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_description","server_name":"traverse-mcp"},"execution_id":"exec_expedition-plan-request-001","governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_execution","observation_messages":[{"execution_id":"exec_expedition-plan-request-001","kind":"lifecycle","request_id":"expedition-plan-request-001","sequence":0,"status":"stream_started"},{"kind":"state","sequence":1,"state_event":{"details":{"identity":null,"registry_status":"available","transition_reason":"runtime_initialization_started"},"entered_at":"1970-01-01T00:00:00Z","event_id":"rse_exec_expedition-plan-request-001_0000","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"loading_registry"}},{"kind":"state","sequence":2,"state_event":{"details":{"governing_spec":"006-runtime-request-execution","transition_reason":"registry_loaded"},"entered_at":"1970-01-01T00:00:01Z","event_id":"rse_exec_expedition-plan-request-001_0001","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"ready"}},{"kind":"state","sequence":3,"state_event":{"details":{"identity":null,"lookup_scope":"prefer_private","transition_reason":"request_started"},"entered_at":"1970-01-01T00:00:02Z","event_id":"rse_exec_expedition-plan-request-001_0002","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"discovering"}},{"kind":"state","sequence":4,"state_event":{"details":{"candidate_count":1,"transition_reason":"candidates_collected"},"entered_at":"1970-01-01T00:00:03Z","event_id":"rse_exec_expedition-plan-request-001_0003","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"evaluating_constraints"}},{"kind":"state","sequence":5,"state_event":{"details":{"eligible_candidates":1,"rejected_candidates":0,"transition_reason":"constraints_evaluated"},"entered_at":"1970-01-01T00:00:04Z","event_id":"rse_exec_expedition-plan-request-001_0004","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"selecting"}},{"kind":"state","sequence":6,"state_event":{"details":{"artifact_ref":"bundle:expedition.planning.seed-bundle:expedition.planning.plan-expedition:1.0.0","capability_id":"expedition.planning.plan-expedition","capability_version":"1.0.0","identity":null,"placement_reason":"requested_target_selected","placement_status":"selected","requested_target":"local","selected_target":"local","transition_reason":"candidate_selected"},"entered_at":"1970-01-01T00:00:06Z","event_id":"rse_exec_expedition-plan-request-001_0005","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"executing"}},{"kind":"state","sequence":7,"state_event":{"details":{"capability_id":"expedition.planning.plan-expedition","capability_version":"1.0.0","declared_event_count":1,"transition_reason":"execution_succeeded_with_events"},"entered_at":"1970-01-01T00:00:08Z","event_id":"rse_exec_expedition-plan-request-001_0006","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"emitting_events"}},{"kind":"state","sequence":8,"state_event":{"details":{"capability_id":"expedition.planning.plan-expedition","capability_version":"1.0.0","transition_reason":"events_emitted"},"entered_at":"1970-01-01T00:00:09Z","event_id":"rse_exec_expedition-plan-request-001_0007","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"completed"}},{"kind":"state","sequence":9,"state_event":{"details":{"terminal_state":"completed","transition_reason":"execution_closed"},"entered_at":"1970-01-01T00:00:10Z","event_id":"rse_exec_expedition-plan-request-001_0008","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"ready"}},{"kind":"trace","model_resolution_count":0,"sequence":10,"trace":{"emitted_event_count":5,"execution_id":"exec_expedition-plan-request-001","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"expedition-plan-request-001","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"expedition.planning.plan-expedition","state_transition_count":9,"trace_id":"trace_exec_expedition-plan-request-001"},"trace_redacted":true},{"kind":"terminal","result":{"error":null,"execution_id":"exec_expedition-plan-request-001","kind":"runtime_result","output":{"conditions_summary":{"blocking_concerns":[],"conditions_summary_id":"conditions-objective-sky-pilot","key_findings":["stable morning window for Sky Pilot","preferred style: conservative-alpine-push"],"objective_id":"objective-sky-pilot","overall_rating":"watchful"},"constraints":["priority:same-day-return"],"destination":"Sky Pilot","interpreted_intent":{"assumptions":["Plan a same-day alpine push with a conservative turnaround point and clear readiness actions."],"confidence":0.87,"constraints":["priority:same-day-return"],"intent_id":"intent-objective-sky-pilot","objective_id":"objective-sky-pilot","route_preferences":["conservative-alpine-push","same-day-return"]},"key_steps":["depart before sunrise","reassess winds at mid-route checkpoint","apply conservative turnaround time"],"notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective":{"destination":"Sky Pilot","notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective_id":"objective-sky-pilot","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"}},"objective_id":"objective-sky-pilot","plan_id":"plan-objective-sky-pilot","planning_intent":"Plan a same-day alpine push with a conservative turnaround point and clear readiness actions.","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"readiness_notes":["team profile satisfies baseline expedition requirements"],"readiness_result":{"objective_id":"objective-sky-pilot","readiness_result_id":"readiness-objective-sky-pilot","reasons":["team profile satisfies baseline expedition requirements"],"required_actions":[],"status":"ready"},"recommended_route_style":"conservative-alpine-push","status":"ready","summary":"Proceed with a conservative same-day ascent plan under a limited morning weather window.","target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"},"team_profile":{"equipment_ready":true,"experience_level":"advanced","member_count":3,"team_id":"team-alpine-01"}},"request_id":"expedition-plan-request-001","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_expedition-plan-request-001","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"sequence":11},{"execution_id":"exec_expedition-plan-request-001","kind":"lifecycle","request_id":"expedition-plan-request-001","sequence":12,"status":"stream_completed"}],"request_id":"expedition-plan-request-001","request_path":"examples/expedition/runtime-requests/plan-expedition.json","result":{"error":null,"execution_id":"exec_expedition-plan-request-001","kind":"runtime_result","output":{"conditions_summary":{"blocking_concerns":[],"conditions_summary_id":"conditions-objective-sky-pilot","key_findings":["stable morning window for Sky Pilot","preferred style: conservative-alpine-push"],"objective_id":"objective-sky-pilot","overall_rating":"watchful"},"constraints":["priority:same-day-return"],"destination":"Sky Pilot","interpreted_intent":{"assumptions":["Plan a same-day alpine push with a conservative turnaround point and clear readiness actions."],"confidence":0.87,"constraints":["priority:same-day-return"],"intent_id":"intent-objective-sky-pilot","objective_id":"objective-sky-pilot","route_preferences":["conservative-alpine-push","same-day-return"]},"key_steps":["depart before sunrise","reassess winds at mid-route checkpoint","apply conservative turnaround time"],"notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective":{"destination":"Sky Pilot","notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective_id":"objective-sky-pilot","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"}},"objective_id":"objective-sky-pilot","plan_id":"plan-objective-sky-pilot","planning_intent":"Plan a same-day alpine push with a conservative turnaround point and clear readiness actions.","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"readiness_notes":["team profile satisfies baseline expedition requirements"],"readiness_result":{"objective_id":"objective-sky-pilot","readiness_result_id":"readiness-objective-sky-pilot","reasons":["team profile satisfies baseline expedition requirements"],"required_actions":[],"status":"ready"},"recommended_route_style":"conservative-alpine-push","status":"ready","summary":"Proceed with a conservative same-day ascent plan under a limited morning weather window.","target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"},"team_profile":{"equipment_ready":true,"experience_level":"advanced","member_count":3,"team_id":"team-alpine-01"}},"request_id":"expedition-plan-request-001","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_expedition-plan-request-001","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"server_name":"traverse-mcp","status":"completed","trace":{"emitted_event_count":5,"execution_id":"exec_expedition-plan-request-001","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"expedition-plan-request-001","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"expedition.planning.plan-expedition","state_transition_count":9,"trace_id":"trace_exec_expedition-plan-request-001"},"trace_redaction":{"auth_mode":"local_trust","enabled":true,"reason":"MCP stdio responses omit full runtime traces by default.","tier":"public_summary"}} -{"entrypoint":{"entrypoint":{"artifact_kind":"workflow","artifact_path":"/tmp/Traverse/crates/traverse-mcp/../../examples/expedition/registry-bundle/../../../workflows/examples/expedition/plan-expedition/workflow.json","id":"expedition.planning.plan-expedition","lifecycle":"active","owner_team":"traverse-core","summary":"Capture, interpret, validate, and assemble an expedition plan deterministically.","version":"1.0.0"},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_description","server_name":"traverse-mcp"},"execution":{"execution_id":"exec_expedition-plan-request-001","observation_messages":[{"execution_id":"exec_expedition-plan-request-001","kind":"lifecycle","request_id":"expedition-plan-request-001","sequence":0,"status":"stream_started"},{"kind":"state","sequence":1,"state_event":{"details":{"identity":null,"registry_status":"available","transition_reason":"runtime_initialization_started"},"entered_at":"1970-01-01T00:00:00Z","event_id":"rse_exec_expedition-plan-request-001_0000","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"loading_registry"}},{"kind":"state","sequence":2,"state_event":{"details":{"governing_spec":"006-runtime-request-execution","transition_reason":"registry_loaded"},"entered_at":"1970-01-01T00:00:01Z","event_id":"rse_exec_expedition-plan-request-001_0001","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"ready"}},{"kind":"state","sequence":3,"state_event":{"details":{"identity":null,"lookup_scope":"prefer_private","transition_reason":"request_started"},"entered_at":"1970-01-01T00:00:02Z","event_id":"rse_exec_expedition-plan-request-001_0002","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"discovering"}},{"kind":"state","sequence":4,"state_event":{"details":{"candidate_count":1,"transition_reason":"candidates_collected"},"entered_at":"1970-01-01T00:00:03Z","event_id":"rse_exec_expedition-plan-request-001_0003","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"evaluating_constraints"}},{"kind":"state","sequence":5,"state_event":{"details":{"eligible_candidates":1,"rejected_candidates":0,"transition_reason":"constraints_evaluated"},"entered_at":"1970-01-01T00:00:04Z","event_id":"rse_exec_expedition-plan-request-001_0004","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"selecting"}},{"kind":"state","sequence":6,"state_event":{"details":{"artifact_ref":"bundle:expedition.planning.seed-bundle:expedition.planning.plan-expedition:1.0.0","capability_id":"expedition.planning.plan-expedition","capability_version":"1.0.0","identity":null,"placement_reason":"requested_target_selected","placement_status":"selected","requested_target":"local","selected_target":"local","transition_reason":"candidate_selected"},"entered_at":"1970-01-01T00:00:06Z","event_id":"rse_exec_expedition-plan-request-001_0005","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"executing"}},{"kind":"state","sequence":7,"state_event":{"details":{"capability_id":"expedition.planning.plan-expedition","capability_version":"1.0.0","declared_event_count":1,"transition_reason":"execution_succeeded_with_events"},"entered_at":"1970-01-01T00:00:08Z","event_id":"rse_exec_expedition-plan-request-001_0006","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"emitting_events"}},{"kind":"state","sequence":8,"state_event":{"details":{"capability_id":"expedition.planning.plan-expedition","capability_version":"1.0.0","transition_reason":"events_emitted"},"entered_at":"1970-01-01T00:00:09Z","event_id":"rse_exec_expedition-plan-request-001_0007","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"completed"}},{"kind":"state","sequence":9,"state_event":{"details":{"terminal_state":"completed","transition_reason":"execution_closed"},"entered_at":"1970-01-01T00:00:10Z","event_id":"rse_exec_expedition-plan-request-001_0008","execution_id":"exec_expedition-plan-request-001","kind":"runtime_state_event","request_id":"expedition-plan-request-001","schema_version":"1.0.0","state":"ready"}},{"kind":"trace","model_resolution_count":0,"sequence":10,"trace":{"emitted_event_count":5,"execution_id":"exec_expedition-plan-request-001","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"expedition-plan-request-001","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"expedition.planning.plan-expedition","state_transition_count":9,"trace_id":"trace_exec_expedition-plan-request-001"},"trace_redacted":true},{"kind":"terminal","result":{"error":null,"execution_id":"exec_expedition-plan-request-001","kind":"runtime_result","output":{"conditions_summary":{"blocking_concerns":[],"conditions_summary_id":"conditions-objective-sky-pilot","key_findings":["stable morning window for Sky Pilot","preferred style: conservative-alpine-push"],"objective_id":"objective-sky-pilot","overall_rating":"watchful"},"constraints":["priority:same-day-return"],"destination":"Sky Pilot","interpreted_intent":{"assumptions":["Plan a same-day alpine push with a conservative turnaround point and clear readiness actions."],"confidence":0.87,"constraints":["priority:same-day-return"],"intent_id":"intent-objective-sky-pilot","objective_id":"objective-sky-pilot","route_preferences":["conservative-alpine-push","same-day-return"]},"key_steps":["depart before sunrise","reassess winds at mid-route checkpoint","apply conservative turnaround time"],"notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective":{"destination":"Sky Pilot","notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective_id":"objective-sky-pilot","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"}},"objective_id":"objective-sky-pilot","plan_id":"plan-objective-sky-pilot","planning_intent":"Plan a same-day alpine push with a conservative turnaround point and clear readiness actions.","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"readiness_notes":["team profile satisfies baseline expedition requirements"],"readiness_result":{"objective_id":"objective-sky-pilot","readiness_result_id":"readiness-objective-sky-pilot","reasons":["team profile satisfies baseline expedition requirements"],"required_actions":[],"status":"ready"},"recommended_route_style":"conservative-alpine-push","status":"ready","summary":"Proceed with a conservative same-day ascent plan under a limited morning weather window.","target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"},"team_profile":{"equipment_ready":true,"experience_level":"advanced","member_count":3,"team_id":"team-alpine-01"}},"request_id":"expedition-plan-request-001","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_expedition-plan-request-001","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"sequence":11},{"execution_id":"exec_expedition-plan-request-001","kind":"lifecycle","request_id":"expedition-plan-request-001","sequence":12,"status":"stream_completed"}],"request_id":"expedition-plan-request-001","result":{"error":null,"execution_id":"exec_expedition-plan-request-001","kind":"runtime_result","output":{"conditions_summary":{"blocking_concerns":[],"conditions_summary_id":"conditions-objective-sky-pilot","key_findings":["stable morning window for Sky Pilot","preferred style: conservative-alpine-push"],"objective_id":"objective-sky-pilot","overall_rating":"watchful"},"constraints":["priority:same-day-return"],"destination":"Sky Pilot","interpreted_intent":{"assumptions":["Plan a same-day alpine push with a conservative turnaround point and clear readiness actions."],"confidence":0.87,"constraints":["priority:same-day-return"],"intent_id":"intent-objective-sky-pilot","objective_id":"objective-sky-pilot","route_preferences":["conservative-alpine-push","same-day-return"]},"key_steps":["depart before sunrise","reassess winds at mid-route checkpoint","apply conservative turnaround time"],"notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective":{"destination":"Sky Pilot","notes":"Prefer an early start and a conservative turnaround decision if winds build.","objective_id":"objective-sky-pilot","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"}},"objective_id":"objective-sky-pilot","plan_id":"plan-objective-sky-pilot","planning_intent":"Plan a same-day alpine push with a conservative turnaround point and clear readiness actions.","preferences":{"priority":"same-day-return","risk_tolerance":"moderate","style":"conservative-alpine-push"},"readiness_notes":["team profile satisfies baseline expedition requirements"],"readiness_result":{"objective_id":"objective-sky-pilot","readiness_result_id":"readiness-objective-sky-pilot","reasons":["team profile satisfies baseline expedition requirements"],"required_actions":[],"status":"ready"},"recommended_route_style":"conservative-alpine-push","status":"ready","summary":"Proceed with a conservative same-day ascent plan under a limited morning weather window.","target_window":{"end":"2026-07-20T16:00:00Z","start":"2026-07-20T04:30:00Z"},"team_profile":{"equipment_ready":true,"experience_level":"advanced","member_count":3,"team_id":"team-alpine-01"}},"request_id":"expedition-plan-request-001","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_expedition-plan-request-001","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"},{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"trace":{"emitted_event_count":5,"execution_id":"exec_expedition-plan-request-001","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"expedition-plan-request-001","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"expedition.planning.plan-expedition","state_transition_count":9,"trace_id":"trace_exec_expedition-plan-request-001"},"trace_redaction":{"auth_mode":"local_trust","enabled":true,"reason":"MCP stdio responses omit full runtime traces by default.","tier":"public_summary"}},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_execution_report","report":{"execution_id":"exec_expedition-plan-request-001","observation_message_count":13,"request_id":"expedition-plan-request-001","result_status":"completed","summary":"Rendered execution report from governed runtime output","trace_kind":"runtime_trace","trace_redacted":true},"request_path":"examples/expedition/runtime-requests/plan-expedition.json","server_name":"traverse-mcp","status":"rendered"} -{"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_shutdown","reason":"shutdown_command","server_name":"traverse-mcp","status":"complete"} +{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN"},"content_group_count":0,"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_startup","mode":"verified_public","public_surface_id":"traverse.mcp.stdio-server","server_name":"traverse-mcp","status":"ready","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","search_capabilities","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} +{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN","token_output_policy":"never_echo_raw_token"},"content_groups":[],"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"downstream_validation_path":{"consumer_name":"youaskm3","governing_specs":["019-downstream-consumer-contract","020-downstream-integration-validation","021-app-facing-operational-constraints"],"public_surface_id":"traverse.mcp.downstream-consumer","validated_flow_id":"youaskm3_mcp_validation"},"governed_surface_counts":{"capabilities":1,"events":0,"workflows":0},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_description","mode":"verified_public","public_surface_id":"traverse.mcp.stdio-server","runtime_authority":"Traverse runtime authority","server_name":"traverse-mcp","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","search_capabilities","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} +{"content_groups":[],"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"entrypoints":{"capabilities":[{"artifact_digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","id":"core.normalize-participants","kind":"capability","lifecycle":"active","namespace":"core","service_type":"stateless","summary":"Normalize raw participants into canonical records.","version":"1.1.0"}],"events":[],"workflows":[]},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_list","mode":"verified_public","server_name":"traverse-mcp"} +{"artifact":{"digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","digest_matches_public_state":true,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","source_release":"index-v1","stale":false,"verification":"digest","verified":true},"entrypoint":{"artifact_digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","artifact_kind":"capability","description":"Verified public kit fixture for Mode A tests.","id":"core.normalize-participants","index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","lifecycle":"active","namespace":"core","permitted_targets":["wasm"],"provenance":null,"scenarios":["Resolve extracted names and emails to workspace members."],"service_type":"stateless","source_release":"index-v1","summary":"Normalize raw participants into canonical records.","version":"1.1.0"},"execution_id":"exec_core-normalize-participants-01","governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_execution","mode":"verified_public","observation_messages":[{"execution_id":"exec_core-normalize-participants-01","kind":"lifecycle","request_id":"core-normalize-participants-01","sequence":0,"status":"stream_started"},{"kind":"state","sequence":1,"state_event":{"details":{"identity":null,"registry_status":"available","transition_reason":"runtime_initialization_started"},"entered_at":"1970-01-01T00:00:00Z","event_id":"rse_exec_core-normalize-participants-01_0000","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"loading_registry"}},{"kind":"state","sequence":2,"state_event":{"details":{"governing_spec":"006-runtime-request-execution","transition_reason":"registry_loaded"},"entered_at":"1970-01-01T00:00:01Z","event_id":"rse_exec_core-normalize-participants-01_0001","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"ready"}},{"kind":"state","sequence":3,"state_event":{"details":{"identity":null,"lookup_scope":"prefer_private","transition_reason":"request_started"},"entered_at":"1970-01-01T00:00:02Z","event_id":"rse_exec_core-normalize-participants-01_0002","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"discovering"}},{"kind":"state","sequence":4,"state_event":{"details":{"candidate_count":1,"transition_reason":"candidates_collected"},"entered_at":"1970-01-01T00:00:03Z","event_id":"rse_exec_core-normalize-participants-01_0003","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"evaluating_constraints"}},{"kind":"state","sequence":5,"state_event":{"details":{"eligible_candidates":1,"rejected_candidates":0,"transition_reason":"constraints_evaluated"},"entered_at":"1970-01-01T00:00:04Z","event_id":"rse_exec_core-normalize-participants-01_0004","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"selecting"}},{"kind":"state","sequence":6,"state_event":{"details":{"artifact_ref":"verified-registry:core.normalize-participants:1.1.0","capability_id":"core.normalize-participants","capability_version":"1.1.0","identity":null,"placement_reason":"requested_target_selected","placement_status":"selected","requested_target":"local","selected_target":"local","transition_reason":"candidate_selected"},"entered_at":"1970-01-01T00:00:06Z","event_id":"rse_exec_core-normalize-participants-01_0005","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"executing"}},{"kind":"state","sequence":7,"state_event":{"details":{"capability_id":"core.normalize-participants","capability_version":"1.1.0","transition_reason":"execution_succeeded"},"entered_at":"1970-01-01T00:00:08Z","event_id":"rse_exec_core-normalize-participants-01_0006","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"completed"}},{"kind":"state","sequence":8,"state_event":{"details":{"terminal_state":"completed","transition_reason":"execution_closed"},"entered_at":"1970-01-01T00:00:09Z","event_id":"rse_exec_core-normalize-participants-01_0007","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"ready"}},{"kind":"trace","model_resolution_count":0,"sequence":9,"trace":{"emitted_event_count":0,"execution_id":"exec_core-normalize-participants-01","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"core-normalize-participants-01","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"core.normalize-participants","state_transition_count":8,"trace_id":"trace_exec_core-normalize-participants-01"},"trace_redacted":true},{"kind":"terminal","result":{"error":null,"execution_id":"exec_core-normalize-participants-01","kind":"runtime_result","output":{"evaluation_trace":["normalized 3 participants","matched 2"],"matched_count":2,"participants":[{"display_name":"Ada Lovelace","email":"ada@loop.dev","match_method":"email","participant_id":"user-ada"},{"display_name":"Bob Smith","email":"bob@loop.dev","match_method":"email","participant_id":"user-bob"},{"display_name":"Unknown Person","email":"stranger@example.com","match_method":"none","participant_id":"unmatched-1"}],"reason_code":"ok","unmatched_count":1},"request_id":"core-normalize-participants-01","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_core-normalize-participants-01","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"sequence":10},{"execution_id":"exec_core-normalize-participants-01","kind":"lifecycle","request_id":"core-normalize-participants-01","sequence":11,"status":"stream_completed"}],"request_id":"core-normalize-participants-01","request_path":null,"request_source":"inline","result":{"error":null,"execution_id":"exec_core-normalize-participants-01","kind":"runtime_result","output":{"evaluation_trace":["normalized 3 participants","matched 2"],"matched_count":2,"participants":[{"display_name":"Ada Lovelace","email":"ada@loop.dev","match_method":"email","participant_id":"user-ada"},{"display_name":"Bob Smith","email":"bob@loop.dev","match_method":"email","participant_id":"user-bob"},{"display_name":"Unknown Person","email":"stranger@example.com","match_method":"none","participant_id":"unmatched-1"}],"reason_code":"ok","unmatched_count":1},"request_id":"core-normalize-participants-01","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_core-normalize-participants-01","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"server_name":"traverse-mcp","status":"completed","trace":{"emitted_event_count":0,"execution_id":"exec_core-normalize-participants-01","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"core-normalize-participants-01","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"core.normalize-participants","state_transition_count":8,"trace_id":"trace_exec_core-normalize-participants-01"},"trace_redaction":{"auth_mode":"local_trust","enabled":true,"reason":"MCP stdio responses omit full runtime traces by default.","tier":"public_summary"}} +{"artifact":{"digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","digest_matches_public_state":true,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","source_release":"index-v1","stale":false,"verification":"digest","verified":true},"entrypoint":{"artifact_digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","artifact_kind":"capability","description":"Verified public kit fixture for Mode A tests.","id":"core.normalize-participants","index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","lifecycle":"active","namespace":"core","permitted_targets":["wasm"],"provenance":null,"scenarios":["Resolve extracted names and emails to workspace members."],"service_type":"stateless","source_release":"index-v1","summary":"Normalize raw participants into canonical records.","version":"1.1.0"},"execution":{"execution_id":"exec_core-normalize-participants-01","observation_messages":[{"execution_id":"exec_core-normalize-participants-01","kind":"lifecycle","request_id":"core-normalize-participants-01","sequence":0,"status":"stream_started"},{"kind":"state","sequence":1,"state_event":{"details":{"identity":null,"registry_status":"available","transition_reason":"runtime_initialization_started"},"entered_at":"1970-01-01T00:00:00Z","event_id":"rse_exec_core-normalize-participants-01_0000","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"loading_registry"}},{"kind":"state","sequence":2,"state_event":{"details":{"governing_spec":"006-runtime-request-execution","transition_reason":"registry_loaded"},"entered_at":"1970-01-01T00:00:01Z","event_id":"rse_exec_core-normalize-participants-01_0001","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"ready"}},{"kind":"state","sequence":3,"state_event":{"details":{"identity":null,"lookup_scope":"prefer_private","transition_reason":"request_started"},"entered_at":"1970-01-01T00:00:02Z","event_id":"rse_exec_core-normalize-participants-01_0002","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"discovering"}},{"kind":"state","sequence":4,"state_event":{"details":{"candidate_count":1,"transition_reason":"candidates_collected"},"entered_at":"1970-01-01T00:00:03Z","event_id":"rse_exec_core-normalize-participants-01_0003","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"evaluating_constraints"}},{"kind":"state","sequence":5,"state_event":{"details":{"eligible_candidates":1,"rejected_candidates":0,"transition_reason":"constraints_evaluated"},"entered_at":"1970-01-01T00:00:04Z","event_id":"rse_exec_core-normalize-participants-01_0004","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"selecting"}},{"kind":"state","sequence":6,"state_event":{"details":{"artifact_ref":"verified-registry:core.normalize-participants:1.1.0","capability_id":"core.normalize-participants","capability_version":"1.1.0","identity":null,"placement_reason":"requested_target_selected","placement_status":"selected","requested_target":"local","selected_target":"local","transition_reason":"candidate_selected"},"entered_at":"1970-01-01T00:00:06Z","event_id":"rse_exec_core-normalize-participants-01_0005","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"executing"}},{"kind":"state","sequence":7,"state_event":{"details":{"capability_id":"core.normalize-participants","capability_version":"1.1.0","transition_reason":"execution_succeeded"},"entered_at":"1970-01-01T00:00:08Z","event_id":"rse_exec_core-normalize-participants-01_0006","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"completed"}},{"kind":"state","sequence":8,"state_event":{"details":{"terminal_state":"completed","transition_reason":"execution_closed"},"entered_at":"1970-01-01T00:00:09Z","event_id":"rse_exec_core-normalize-participants-01_0007","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"ready"}},{"kind":"trace","model_resolution_count":0,"sequence":9,"trace":{"emitted_event_count":0,"execution_id":"exec_core-normalize-participants-01","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"core-normalize-participants-01","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"core.normalize-participants","state_transition_count":8,"trace_id":"trace_exec_core-normalize-participants-01"},"trace_redacted":true},{"kind":"terminal","result":{"error":null,"execution_id":"exec_core-normalize-participants-01","kind":"runtime_result","output":{"evaluation_trace":["normalized 3 participants","matched 2"],"matched_count":2,"participants":[{"display_name":"Ada Lovelace","email":"ada@loop.dev","match_method":"email","participant_id":"user-ada"},{"display_name":"Bob Smith","email":"bob@loop.dev","match_method":"email","participant_id":"user-bob"},{"display_name":"Unknown Person","email":"stranger@example.com","match_method":"none","participant_id":"unmatched-1"}],"reason_code":"ok","unmatched_count":1},"request_id":"core-normalize-participants-01","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_core-normalize-participants-01","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"sequence":10},{"execution_id":"exec_core-normalize-participants-01","kind":"lifecycle","request_id":"core-normalize-participants-01","sequence":11,"status":"stream_completed"}],"request_id":"core-normalize-participants-01","result":{"error":null,"execution_id":"exec_core-normalize-participants-01","kind":"runtime_result","output":{"evaluation_trace":["normalized 3 participants","matched 2"],"matched_count":2,"participants":[{"display_name":"Ada Lovelace","email":"ada@loop.dev","match_method":"email","participant_id":"user-ada"},{"display_name":"Bob Smith","email":"bob@loop.dev","match_method":"email","participant_id":"user-bob"},{"display_name":"Unknown Person","email":"stranger@example.com","match_method":"none","participant_id":"unmatched-1"}],"reason_code":"ok","unmatched_count":1},"request_id":"core-normalize-participants-01","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_core-normalize-participants-01","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"trace":{"emitted_event_count":0,"execution_id":"exec_core-normalize-participants-01","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"core-normalize-participants-01","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"core.normalize-participants","state_transition_count":8,"trace_id":"trace_exec_core-normalize-participants-01"},"trace_redaction":{"auth_mode":"local_trust","enabled":true,"reason":"MCP stdio responses omit full runtime traces by default.","tier":"public_summary"}},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_execution_report","mode":"verified_public","report":{"execution_id":"exec_core-normalize-participants-01","observation_message_count":12,"request_id":"core-normalize-participants-01","result_status":"completed","summary":"Rendered execution report from governed runtime output","trace_kind":"runtime_trace","trace_redacted":true},"request_path":null,"request_source":"inline","server_name":"traverse-mcp","status":"rendered"} +{"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_shutdown","reason":"shutdown_command","server_name":"traverse-mcp","status":"complete"} diff --git a/apps/llm-mcp-reference/clients/cursor/evidence/cursor-mcp-stdio-transcript.jsonl b/apps/llm-mcp-reference/clients/cursor/evidence/cursor-mcp-stdio-transcript.jsonl index 3880544..04520ec 100644 --- a/apps/llm-mcp-reference/clients/cursor/evidence/cursor-mcp-stdio-transcript.jsonl +++ b/apps/llm-mcp-reference/clients/cursor/evidence/cursor-mcp-stdio-transcript.jsonl @@ -1,5 +1,5 @@ -{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN"},"content_group_count":1,"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_startup","public_surface_id":"traverse.mcp.stdio-server","server_name":"traverse-mcp","status":"ready","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} -{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN","token_output_policy":"never_echo_raw_token"},"content_groups":[{"content_group_id":"core-runtime-example","display_name":"Core runtime example","governed_paths":["examples/templates/executable-capability-package/manifest.template.json","docs/executable-package-template.md","docs/local-runtime-home.md","scripts/ci/executable_package_template_smoke.sh"],"invocable_entrypoints":["describe_content_group"],"summary":"Traverse-neutral executable capability package template and local runtime shape.","validation_commands":["bash scripts/ci/executable_package_template_smoke.sh"]}],"downstream_validation_path":{"consumer_name":"youaskm3","governing_specs":["019-downstream-consumer-contract","020-downstream-integration-validation","021-app-facing-operational-constraints"],"public_surface_id":"traverse.mcp.downstream-consumer","validated_flow_id":"youaskm3_mcp_validation"},"governed_surface_counts":{"capabilities":6,"events":5,"workflows":1},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_description","public_surface_id":"traverse.mcp.stdio-server","runtime_authority":"Traverse runtime authority","server_name":"traverse-mcp","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} -{"content_groups":[{"content_group_id":"core-runtime-example","display_name":"Core runtime example","governed_paths":["examples/templates/executable-capability-package/manifest.template.json","docs/executable-package-template.md","docs/local-runtime-home.md","scripts/ci/executable_package_template_smoke.sh"],"invocable_entrypoints":["describe_content_group"],"summary":"Traverse-neutral executable capability package template and local runtime shape.","validation_commands":["bash scripts/ci/executable_package_template_smoke.sh"]}],"entrypoints":{"capabilities":[{"artifact_kind":"capability","id":"expedition.planning.capture-expedition-objective","lifecycle":"active","summary":"Capture a structured expedition objective from destination, timing, and planning preference inputs.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.interpret-expedition-intent","lifecycle":"active","summary":"Interpret free-form expedition planning intent into structured route preferences, constraints, and assumptions.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.assess-conditions-summary","lifecycle":"active","summary":"Assess a deterministic expedition conditions summary from objective and interpreted intent context.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.validate-team-readiness","lifecycle":"active","summary":"Validate expedition team readiness from objective, conditions summary, and team profile context.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.assemble-expedition-plan","lifecycle":"active","summary":"Assemble the final expedition plan from objective, interpreted intent, conditions, and readiness inputs.","version":"1.0.0"},{"artifact_kind":"capability","id":"expedition.planning.plan-expedition","lifecycle":"active","summary":"Compose the canonical expedition planning workflow into one first-class governed capability.","version":"1.0.0"}],"events":[{"artifact_kind":"event","id":"expedition.planning.expedition-objective-captured","lifecycle":"active","summary":"A normalized expedition objective has been captured and is ready for downstream planning.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.expedition-intent-interpreted","lifecycle":"active","summary":"An expedition intent has been interpreted into structured planning inputs for downstream steps.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.conditions-summary-assessed","lifecycle":"active","summary":"A deterministic expedition conditions summary has been assessed for the current planning context.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.team-readiness-validated","lifecycle":"active","summary":"A team readiness result has been validated for the expedition objective and conditions context.","version":"1.0.0"},{"artifact_kind":"event","id":"expedition.planning.expedition-plan-assembled","lifecycle":"active","summary":"A final expedition plan has been assembled and is ready for downstream consumption.","version":"1.0.0"}],"workflows":[{"artifact_kind":"workflow","id":"expedition.planning.plan-expedition","lifecycle":"active","summary":"Capture, interpret, validate, and assemble an expedition plan deterministically.","version":"1.0.0"}]},"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_list","server_name":"traverse-mcp"} -{"content_groups":[{"content_group_id":"core-runtime-example","display_name":"Core runtime example","governed_paths":["examples/templates/executable-capability-package/manifest.template.json","docs/executable-package-template.md","docs/local-runtime-home.md","scripts/ci/executable_package_template_smoke.sh"],"invocable_entrypoints":["describe_content_group"],"summary":"Traverse-neutral executable capability package template and local runtime shape.","validation_commands":["bash scripts/ci/executable_package_template_smoke.sh"]}],"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_content_group_list","server_name":"traverse-mcp"} -{"governing_spec":"022-mcp-wasm-server","host_mode":"stdio","kind":"mcp_stdio_server_shutdown","reason":"shutdown_command","server_name":"traverse-mcp","status":"complete"} +{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN"},"content_group_count":0,"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_startup","mode":"verified_public","public_surface_id":"traverse.mcp.stdio-server","server_name":"traverse-mcp","status":"ready","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","search_capabilities","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} +{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN","token_output_policy":"never_echo_raw_token"},"content_groups":[],"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"downstream_validation_path":{"consumer_name":"youaskm3","governing_specs":["019-downstream-consumer-contract","020-downstream-integration-validation","021-app-facing-operational-constraints"],"public_surface_id":"traverse.mcp.downstream-consumer","validated_flow_id":"youaskm3_mcp_validation"},"governed_surface_counts":{"capabilities":1,"events":0,"workflows":0},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_description","mode":"verified_public","public_surface_id":"traverse.mcp.stdio-server","runtime_authority":"Traverse runtime authority","server_name":"traverse-mcp","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","search_capabilities","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} +{"content_groups":[],"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"entrypoints":{"capabilities":[{"artifact_digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","id":"core.normalize-participants","kind":"capability","lifecycle":"active","namespace":"core","service_type":"stateless","summary":"Normalize raw participants into canonical records.","version":"1.1.0"}],"events":[],"workflows":[]},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_list","mode":"verified_public","server_name":"traverse-mcp"} +{"content_groups":[],"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_content_group_list","mode":"verified_public","server_name":"traverse-mcp"} +{"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_shutdown","reason":"shutdown_command","server_name":"traverse-mcp","status":"complete"} diff --git a/apps/llm-mcp-reference/clients/cursor/mcp.json.example b/apps/llm-mcp-reference/clients/cursor/mcp.json.example index df29206..24ad6a5 100644 --- a/apps/llm-mcp-reference/clients/cursor/mcp.json.example +++ b/apps/llm-mcp-reference/clients/cursor/mcp.json.example @@ -1,11 +1,15 @@ { "mcpServers": { - "traverse": { - "command": "cargo", - "args": ["run", "-p", "traverse-mcp", "--", "stdio"], - "cwd": "/ABS/PATH/TO/Traverse", + "traverse-mode-a": { + "command": "bash", + "args": [ + "/ABS/PATH/TO/App-References/apps/llm-mcp-reference/mode-a/serve.sh" + ], "env": { - "TRAVERSE_REPO": "/ABS/PATH/TO/Traverse" + "TRAVERSE_REPO": "/ABS/PATH/TO/Traverse", + "TRAVERSE_MCP_REGISTRY_CACHE": "/ABS/PATH/TO/host-owned-verified-state", + "TRAVERSE_MCP_CACHE_ROOT": "/ABS/PATH/TO/host-owned-verified-state", + "TRAVERSE_WORKSPACE": "local-default" } } } diff --git a/apps/llm-mcp-reference/mode-a/README.md b/apps/llm-mcp-reference/mode-a/README.md index 7f2041f..82cc6ed 100644 --- a/apps/llm-mcp-reference/mode-a/README.md +++ b/apps/llm-mcp-reference/mode-a/README.md @@ -1,27 +1,27 @@ -# Mode A — Spec 119 verified public-registry MCP host (scaffold) +# Mode A — Spec 119 verified public-registry MCP host -LLM façade path that must use the **same public registry capabilities** as OS shells (`registry_ref` / published WASM), not the expedition demo catalog. +LLM façade path that uses the **same public registry capabilities** as OS shells (`registry_ref` / published WASM), not the expedition demo catalog. OS product shells stay **embedded**. This tree is Claude/Cursor-style MCP only. | Layer | Status | |---|---| -| Spec 119 (`119-verified-registry-mcp-mode-a`) | **Approved** (Traverse PR #1146) | -| Mode A `traverse-mcp` host (public-only discovery, inline `RuntimeRequest`, digest-verified WASM, versioned binary) | **Not shipped** — implement still missing after umbrella #865 closed | -| This tree | **Scaffold** — docs + fail-closed launcher + example MCP config | +| Spec 119 (`119-verified-registry-mcp-mode-a`) | **Approved** | +| Mode A `traverse-mcp` host | **Shipped on Traverse main** via [#1241](https://github.com/traverse-framework/Traverse/issues/1241) / [#1252](https://github.com/traverse-framework/Traverse/pull/1252) (post-`v0.10.0`; pin a checkout that includes that merge, or the next release once tagged) | +| This tree | **Live consumer** — prepare → serve → Cursor/Claude evidence under `evidence/` and `clients/*/evidence/` | -Today’s `cargo run -p traverse-mcp -- stdio` path under `clients/` is the **expedition bootstrap**. Do not label it Spec 119 kit catalog. +Bare `cargo run -p traverse-mcp -- stdio` **without** `TRAVERSE_MCP_REGISTRY_CACHE` is still the **expedition bootstrap**. Do not label it Spec 119. ## Contract (prepare → verified state → serve) ```text -LLM client --MCP stdio--> mode-a/serve.sh --> Traverse Mode A host (when shipped) +LLM client --MCP stdio--> mode-a/serve.sh --> traverse-mcp stdio (Mode A) ^ | - host-supplied digest-verified public registry state + TRAVERSE_MCP_REGISTRY_CACHE (digest-verified public state) ^ | - mode-a/prepare.sh (index sync + Spec 119 prepare docs) + mode-a/prepare.sh (seeds HostRegistryCache; optional registry sync) ``` Consumer rules (Spec 119): @@ -38,31 +38,45 @@ Consumer rules (Spec 119): | Variable | Meaning | |---|---| -| `TRAVERSE_REPO` | Absolute path to Traverse checkout (contributor source-run) | -| `TRAVERSE_MCP_CACHE_ROOT` | Host-owned verified-state directory (you create/own it) | +| `TRAVERSE_REPO` | Absolute path to Traverse checkout (contributor source-run; must include Mode A) | +| `TRAVERSE_MCP_REGISTRY_CACHE` | Host-owned verified-state directory (canonical Spec 119 name) | +| `TRAVERSE_MCP_CACHE_ROOT` | App-Refs alias for `TRAVERSE_MCP_REGISTRY_CACHE` | | `TRAVERSE_WORKSPACE` | Registry workspace id (default `local-default`) | +| `TRAVERSE_MCP_PREPARE_SYNC` | Set `1` during prepare to also run `registry sync` | ## Prepare ```bash export TRAVERSE_REPO="$(cd ../../../../Traverse && pwd)" # adjust -export TRAVERSE_MCP_CACHE_ROOT="${HOME}/.cache/traverse-mcp-mode-a" +export TRAVERSE_MCP_REGISTRY_CACHE="${HOME}/.cache/traverse-mcp-mode-a" export TRAVERSE_WORKSPACE=local-default bash prepare.sh ``` -## Serve (fail-closed until upstream Mode A host) +`prepare.sh` seeds the Traverse committed Mode A fixture (includes +`core.normalize-participants` @ 1.1.0 — a Loop WF1 dependency used by App-Refs). +Hosts may extend the same cache shape with additional published `registry_ref`s +via `traverse_embedder::prepare_registry_dependency` + `publish_public_metadata` +(no App-Refs materialize rewrite). + +## Serve ```bash bash serve.sh ``` -Today `serve.sh` exits non-zero. Point LLM clients at expedition `clients/*/mcp.json.example` only if you accept that catalog. Point Spec 119 clients at [`mcp.json.example`](mcp.json.example) in this folder. +Point Spec 119 clients at [`mcp.json.example`](mcp.json.example). + +## Evidence + +Live Mode A transcripts (verified_public, inline execute, digest match): -When Traverse ships Mode A flags, wire them here — do not invent a private CLI. +- [`evidence/mode-a-stdio-transcript.jsonl`](evidence/mode-a-stdio-transcript.jsonl) +- [`evidence/mode-a-execute-transcript.jsonl`](evidence/mode-a-execute-transcript.jsonl) +- Mirrored under `clients/cursor|claude-desktop|claude-code/evidence/` ## Upstream - Spec [`119-verified-registry-mcp-mode-a`](https://github.com/traverse-framework/Traverse/blob/main/specs/119-verified-registry-mcp-mode-a/spec.md) -- App-Refs catalog ticket `llm-mcp-traverse-starter-catalog` (Blocked until implement) -- Expedition bootstrap: [`../README.md`](../README.md) +- Docs: [mcp-stdio-server.md](https://github.com/traverse-framework/Traverse/blob/main/docs/mcp-stdio-server.md), [mcp-mode-a-release-evidence.md](https://github.com/traverse-framework/Traverse/blob/main/docs/mcp-mode-a-release-evidence.md) +- App-Refs ticket `llm-mcp-traverse-starter-catalog` diff --git a/apps/llm-mcp-reference/mode-a/evidence/mode-a-execute-transcript.jsonl b/apps/llm-mcp-reference/mode-a/evidence/mode-a-execute-transcript.jsonl new file mode 100644 index 0000000..0e994ab --- /dev/null +++ b/apps/llm-mcp-reference/mode-a/evidence/mode-a-execute-transcript.jsonl @@ -0,0 +1,6 @@ +{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN"},"content_group_count":0,"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_startup","mode":"verified_public","public_surface_id":"traverse.mcp.stdio-server","server_name":"traverse-mcp","status":"ready","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","search_capabilities","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} +{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN","token_output_policy":"never_echo_raw_token"},"content_groups":[],"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"downstream_validation_path":{"consumer_name":"youaskm3","governing_specs":["019-downstream-consumer-contract","020-downstream-integration-validation","021-app-facing-operational-constraints"],"public_surface_id":"traverse.mcp.downstream-consumer","validated_flow_id":"youaskm3_mcp_validation"},"governed_surface_counts":{"capabilities":1,"events":0,"workflows":0},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_description","mode":"verified_public","public_surface_id":"traverse.mcp.stdio-server","runtime_authority":"Traverse runtime authority","server_name":"traverse-mcp","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","search_capabilities","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} +{"content_groups":[],"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"entrypoints":{"capabilities":[{"artifact_digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","id":"core.normalize-participants","kind":"capability","lifecycle":"active","namespace":"core","service_type":"stateless","summary":"Normalize raw participants into canonical records.","version":"1.1.0"}],"events":[],"workflows":[]},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_list","mode":"verified_public","server_name":"traverse-mcp"} +{"artifact":{"digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","digest_matches_public_state":true,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","source_release":"index-v1","stale":false,"verification":"digest","verified":true},"entrypoint":{"artifact_digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","artifact_kind":"capability","description":"Verified public kit fixture for Mode A tests.","id":"core.normalize-participants","index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","lifecycle":"active","namespace":"core","permitted_targets":["wasm"],"provenance":null,"scenarios":["Resolve extracted names and emails to workspace members."],"service_type":"stateless","source_release":"index-v1","summary":"Normalize raw participants into canonical records.","version":"1.1.0"},"execution_id":"exec_core-normalize-participants-01","governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_execution","mode":"verified_public","observation_messages":[{"execution_id":"exec_core-normalize-participants-01","kind":"lifecycle","request_id":"core-normalize-participants-01","sequence":0,"status":"stream_started"},{"kind":"state","sequence":1,"state_event":{"details":{"identity":null,"registry_status":"available","transition_reason":"runtime_initialization_started"},"entered_at":"1970-01-01T00:00:00Z","event_id":"rse_exec_core-normalize-participants-01_0000","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"loading_registry"}},{"kind":"state","sequence":2,"state_event":{"details":{"governing_spec":"006-runtime-request-execution","transition_reason":"registry_loaded"},"entered_at":"1970-01-01T00:00:01Z","event_id":"rse_exec_core-normalize-participants-01_0001","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"ready"}},{"kind":"state","sequence":3,"state_event":{"details":{"identity":null,"lookup_scope":"prefer_private","transition_reason":"request_started"},"entered_at":"1970-01-01T00:00:02Z","event_id":"rse_exec_core-normalize-participants-01_0002","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"discovering"}},{"kind":"state","sequence":4,"state_event":{"details":{"candidate_count":1,"transition_reason":"candidates_collected"},"entered_at":"1970-01-01T00:00:03Z","event_id":"rse_exec_core-normalize-participants-01_0003","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"evaluating_constraints"}},{"kind":"state","sequence":5,"state_event":{"details":{"eligible_candidates":1,"rejected_candidates":0,"transition_reason":"constraints_evaluated"},"entered_at":"1970-01-01T00:00:04Z","event_id":"rse_exec_core-normalize-participants-01_0004","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"selecting"}},{"kind":"state","sequence":6,"state_event":{"details":{"artifact_ref":"verified-registry:core.normalize-participants:1.1.0","capability_id":"core.normalize-participants","capability_version":"1.1.0","identity":null,"placement_reason":"requested_target_selected","placement_status":"selected","requested_target":"local","selected_target":"local","transition_reason":"candidate_selected"},"entered_at":"1970-01-01T00:00:06Z","event_id":"rse_exec_core-normalize-participants-01_0005","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"executing"}},{"kind":"state","sequence":7,"state_event":{"details":{"capability_id":"core.normalize-participants","capability_version":"1.1.0","transition_reason":"execution_succeeded"},"entered_at":"1970-01-01T00:00:08Z","event_id":"rse_exec_core-normalize-participants-01_0006","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"completed"}},{"kind":"state","sequence":8,"state_event":{"details":{"terminal_state":"completed","transition_reason":"execution_closed"},"entered_at":"1970-01-01T00:00:09Z","event_id":"rse_exec_core-normalize-participants-01_0007","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"ready"}},{"kind":"trace","model_resolution_count":0,"sequence":9,"trace":{"emitted_event_count":0,"execution_id":"exec_core-normalize-participants-01","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"core-normalize-participants-01","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"core.normalize-participants","state_transition_count":8,"trace_id":"trace_exec_core-normalize-participants-01"},"trace_redacted":true},{"kind":"terminal","result":{"error":null,"execution_id":"exec_core-normalize-participants-01","kind":"runtime_result","output":{"evaluation_trace":["normalized 3 participants","matched 2"],"matched_count":2,"participants":[{"display_name":"Ada Lovelace","email":"ada@loop.dev","match_method":"email","participant_id":"user-ada"},{"display_name":"Bob Smith","email":"bob@loop.dev","match_method":"email","participant_id":"user-bob"},{"display_name":"Unknown Person","email":"stranger@example.com","match_method":"none","participant_id":"unmatched-1"}],"reason_code":"ok","unmatched_count":1},"request_id":"core-normalize-participants-01","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_core-normalize-participants-01","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"sequence":10},{"execution_id":"exec_core-normalize-participants-01","kind":"lifecycle","request_id":"core-normalize-participants-01","sequence":11,"status":"stream_completed"}],"request_id":"core-normalize-participants-01","request_path":null,"request_source":"inline","result":{"error":null,"execution_id":"exec_core-normalize-participants-01","kind":"runtime_result","output":{"evaluation_trace":["normalized 3 participants","matched 2"],"matched_count":2,"participants":[{"display_name":"Ada Lovelace","email":"ada@loop.dev","match_method":"email","participant_id":"user-ada"},{"display_name":"Bob Smith","email":"bob@loop.dev","match_method":"email","participant_id":"user-bob"},{"display_name":"Unknown Person","email":"stranger@example.com","match_method":"none","participant_id":"unmatched-1"}],"reason_code":"ok","unmatched_count":1},"request_id":"core-normalize-participants-01","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_core-normalize-participants-01","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"server_name":"traverse-mcp","status":"completed","trace":{"emitted_event_count":0,"execution_id":"exec_core-normalize-participants-01","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"core-normalize-participants-01","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"core.normalize-participants","state_transition_count":8,"trace_id":"trace_exec_core-normalize-participants-01"},"trace_redaction":{"auth_mode":"local_trust","enabled":true,"reason":"MCP stdio responses omit full runtime traces by default.","tier":"public_summary"}} +{"artifact":{"digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","digest_matches_public_state":true,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","source_release":"index-v1","stale":false,"verification":"digest","verified":true},"entrypoint":{"artifact_digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","artifact_kind":"capability","description":"Verified public kit fixture for Mode A tests.","id":"core.normalize-participants","index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","lifecycle":"active","namespace":"core","permitted_targets":["wasm"],"provenance":null,"scenarios":["Resolve extracted names and emails to workspace members."],"service_type":"stateless","source_release":"index-v1","summary":"Normalize raw participants into canonical records.","version":"1.1.0"},"execution":{"execution_id":"exec_core-normalize-participants-01","observation_messages":[{"execution_id":"exec_core-normalize-participants-01","kind":"lifecycle","request_id":"core-normalize-participants-01","sequence":0,"status":"stream_started"},{"kind":"state","sequence":1,"state_event":{"details":{"identity":null,"registry_status":"available","transition_reason":"runtime_initialization_started"},"entered_at":"1970-01-01T00:00:00Z","event_id":"rse_exec_core-normalize-participants-01_0000","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"loading_registry"}},{"kind":"state","sequence":2,"state_event":{"details":{"governing_spec":"006-runtime-request-execution","transition_reason":"registry_loaded"},"entered_at":"1970-01-01T00:00:01Z","event_id":"rse_exec_core-normalize-participants-01_0001","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"ready"}},{"kind":"state","sequence":3,"state_event":{"details":{"identity":null,"lookup_scope":"prefer_private","transition_reason":"request_started"},"entered_at":"1970-01-01T00:00:02Z","event_id":"rse_exec_core-normalize-participants-01_0002","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"discovering"}},{"kind":"state","sequence":4,"state_event":{"details":{"candidate_count":1,"transition_reason":"candidates_collected"},"entered_at":"1970-01-01T00:00:03Z","event_id":"rse_exec_core-normalize-participants-01_0003","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"evaluating_constraints"}},{"kind":"state","sequence":5,"state_event":{"details":{"eligible_candidates":1,"rejected_candidates":0,"transition_reason":"constraints_evaluated"},"entered_at":"1970-01-01T00:00:04Z","event_id":"rse_exec_core-normalize-participants-01_0004","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"selecting"}},{"kind":"state","sequence":6,"state_event":{"details":{"artifact_ref":"verified-registry:core.normalize-participants:1.1.0","capability_id":"core.normalize-participants","capability_version":"1.1.0","identity":null,"placement_reason":"requested_target_selected","placement_status":"selected","requested_target":"local","selected_target":"local","transition_reason":"candidate_selected"},"entered_at":"1970-01-01T00:00:06Z","event_id":"rse_exec_core-normalize-participants-01_0005","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"executing"}},{"kind":"state","sequence":7,"state_event":{"details":{"capability_id":"core.normalize-participants","capability_version":"1.1.0","transition_reason":"execution_succeeded"},"entered_at":"1970-01-01T00:00:08Z","event_id":"rse_exec_core-normalize-participants-01_0006","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"completed"}},{"kind":"state","sequence":8,"state_event":{"details":{"terminal_state":"completed","transition_reason":"execution_closed"},"entered_at":"1970-01-01T00:00:09Z","event_id":"rse_exec_core-normalize-participants-01_0007","execution_id":"exec_core-normalize-participants-01","kind":"runtime_state_event","request_id":"core-normalize-participants-01","schema_version":"1.0.0","state":"ready"}},{"kind":"trace","model_resolution_count":0,"sequence":9,"trace":{"emitted_event_count":0,"execution_id":"exec_core-normalize-participants-01","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"core-normalize-participants-01","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"core.normalize-participants","state_transition_count":8,"trace_id":"trace_exec_core-normalize-participants-01"},"trace_redacted":true},{"kind":"terminal","result":{"error":null,"execution_id":"exec_core-normalize-participants-01","kind":"runtime_result","output":{"evaluation_trace":["normalized 3 participants","matched 2"],"matched_count":2,"participants":[{"display_name":"Ada Lovelace","email":"ada@loop.dev","match_method":"email","participant_id":"user-ada"},{"display_name":"Bob Smith","email":"bob@loop.dev","match_method":"email","participant_id":"user-bob"},{"display_name":"Unknown Person","email":"stranger@example.com","match_method":"none","participant_id":"unmatched-1"}],"reason_code":"ok","unmatched_count":1},"request_id":"core-normalize-participants-01","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_core-normalize-participants-01","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"sequence":10},{"execution_id":"exec_core-normalize-participants-01","kind":"lifecycle","request_id":"core-normalize-participants-01","sequence":11,"status":"stream_completed"}],"request_id":"core-normalize-participants-01","result":{"error":null,"execution_id":"exec_core-normalize-participants-01","kind":"runtime_result","output":{"evaluation_trace":["normalized 3 participants","matched 2"],"matched_count":2,"participants":[{"display_name":"Ada Lovelace","email":"ada@loop.dev","match_method":"email","participant_id":"user-ada"},{"display_name":"Bob Smith","email":"bob@loop.dev","match_method":"email","participant_id":"user-bob"},{"display_name":"Unknown Person","email":"stranger@example.com","match_method":"none","participant_id":"unmatched-1"}],"reason_code":"ok","unmatched_count":1},"request_id":"core-normalize-participants-01","schema_version":"1.0.0","status":"completed","trace_ref":"trace_exec_core-normalize-participants-01","warnings":[{"code":"unsigned_local_dev_artifact","message":"unsigned local/dev artifact allowed by development security mode"}]},"trace":{"emitted_event_count":0,"execution_id":"exec_core-normalize-participants-01","governing_spec":"006-runtime-request-execution","kind":"runtime_trace","model_resolution_count":0,"private_fields_omitted":["request","decision_evidence","state_progression","candidate_collection","selection","execution","result","otel_trace"],"request_id":"core-normalize-participants-01","runtime_status":"completed","schema_version":"1.0.0","selected_capability_id":"core.normalize-participants","state_transition_count":8,"trace_id":"trace_exec_core-normalize-participants-01"},"trace_redaction":{"auth_mode":"local_trust","enabled":true,"reason":"MCP stdio responses omit full runtime traces by default.","tier":"public_summary"}},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_execution_report","mode":"verified_public","report":{"execution_id":"exec_core-normalize-participants-01","observation_message_count":12,"request_id":"core-normalize-participants-01","result_status":"completed","summary":"Rendered execution report from governed runtime output","trace_kind":"runtime_trace","trace_redacted":true},"request_path":null,"request_source":"inline","server_name":"traverse-mcp","status":"rendered"} +{"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_shutdown","reason":"shutdown_command","server_name":"traverse-mcp","status":"complete"} diff --git a/apps/llm-mcp-reference/mode-a/evidence/mode-a-stdio-transcript.jsonl b/apps/llm-mcp-reference/mode-a/evidence/mode-a-stdio-transcript.jsonl new file mode 100644 index 0000000..04520ec --- /dev/null +++ b/apps/llm-mcp-reference/mode-a/evidence/mode-a-stdio-transcript.jsonl @@ -0,0 +1,5 @@ +{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN"},"content_group_count":0,"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_startup","mode":"verified_public","public_surface_id":"traverse.mcp.stdio-server","server_name":"traverse-mcp","status":"ready","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","search_capabilities","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} +{"auth_boundary":{"default_mode":"local_trust","required_commands":["execute_entrypoint","render_execution_report"],"required_token_env":"TRAVERSE_MCP_STDIO_BEARER_TOKEN","token_output_policy":"never_echo_raw_token"},"content_groups":[],"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"downstream_validation_path":{"consumer_name":"youaskm3","governing_specs":["019-downstream-consumer-contract","020-downstream-integration-validation","021-app-facing-operational-constraints"],"public_surface_id":"traverse.mcp.downstream-consumer","validated_flow_id":"youaskm3_mcp_validation"},"governed_surface_counts":{"capabilities":1,"events":0,"workflows":0},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_description","mode":"verified_public","public_surface_id":"traverse.mcp.stdio-server","runtime_authority":"Traverse runtime authority","server_name":"traverse-mcp","supported_commands":["describe_server","list_content_groups","describe_content_group","list_entrypoints","search_capabilities","describe_entrypoint","validate_entrypoint","execute_entrypoint","render_execution_report","shutdown"]} +{"content_groups":[],"discovery_source":{"capability_count":1,"index_digest":"sha256:f7f8e39452d7ea65fdee8a34daeb968368af5ccf70c21b3123c9e9cc186228ba","kind":"host_verified_public_registry","source_release":"index-v1","stale":false},"entrypoints":{"capabilities":[{"artifact_digest":"sha256:6bb5c6300710de6090c4b5f25d611a6a6af7d2dd9e1bacb3bdb01b166110b5ad","id":"core.normalize-participants","kind":"capability","lifecycle":"active","namespace":"core","service_type":"stateless","summary":"Normalize raw participants into canonical records.","version":"1.1.0"}],"events":[],"workflows":[]},"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_entrypoint_list","mode":"verified_public","server_name":"traverse-mcp"} +{"content_groups":[],"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_content_group_list","mode":"verified_public","server_name":"traverse-mcp"} +{"governing_spec":"119-verified-registry-mcp-mode-a","host_mode":"stdio","kind":"mcp_stdio_server_shutdown","reason":"shutdown_command","server_name":"traverse-mcp","status":"complete"} diff --git a/apps/llm-mcp-reference/mode-a/mcp.json.example b/apps/llm-mcp-reference/mode-a/mcp.json.example index 3de3bfe..24ad6a5 100644 --- a/apps/llm-mcp-reference/mode-a/mcp.json.example +++ b/apps/llm-mcp-reference/mode-a/mcp.json.example @@ -7,6 +7,7 @@ ], "env": { "TRAVERSE_REPO": "/ABS/PATH/TO/Traverse", + "TRAVERSE_MCP_REGISTRY_CACHE": "/ABS/PATH/TO/host-owned-verified-state", "TRAVERSE_MCP_CACHE_ROOT": "/ABS/PATH/TO/host-owned-verified-state", "TRAVERSE_WORKSPACE": "local-default" } diff --git a/apps/llm-mcp-reference/mode-a/prepare.sh b/apps/llm-mcp-reference/mode-a/prepare.sh index 4e4a2f8..d3cb0d5 100755 --- a/apps/llm-mcp-reference/mode-a/prepare.sh +++ b/apps/llm-mcp-reference/mode-a/prepare.sh @@ -1,37 +1,62 @@ #!/usr/bin/env bash # Mode A prepare helper — Spec 119 host-supplied verified public registry state. -# Syncs the public registry index; documents prepare. No App-Refs materialize. +# Seeds a digest-verified HostRegistryCache for Mode A serve. No App-Refs materialize. set -euo pipefail if [ -z "${TRAVERSE_REPO:-}" ]; then echo "FAIL: set TRAVERSE_REPO to your Traverse checkout" >&2 exit 1 fi -if [ -z "${TRAVERSE_MCP_CACHE_ROOT:-}" ]; then - echo "FAIL: set TRAVERSE_MCP_CACHE_ROOT to a host-owned verified-state directory" >&2 + +CACHE_ROOT="${TRAVERSE_MCP_REGISTRY_CACHE:-${TRAVERSE_MCP_CACHE_ROOT:-}}" +if [ -z "$CACHE_ROOT" ]; then + echo "FAIL: set TRAVERSE_MCP_REGISTRY_CACHE (or TRAVERSE_MCP_CACHE_ROOT alias)" >&2 exit 1 fi WORKSPACE="${TRAVERSE_WORKSPACE:-local-default}" -mkdir -p "$TRAVERSE_MCP_CACHE_ROOT" +FIXTURE="${TRAVERSE_REPO}/crates/traverse-mcp/tests/fixtures/mode-a-cache" + +if [ ! -f "$FIXTURE/public-metadata/current.json" ]; then + cat <&2 +FAIL: Traverse Mode A fixture missing at + $FIXTURE + Need Traverse main with Spec 119 (#1241 / #1252) checked out. + Regenerate upstream with: + cargo test -p traverse-mcp --lib -- --ignored --exact stdio_server::tests::mode_a::regenerate_committed_fixture +EOF + exit 1 +fi + +mkdir -p "$CACHE_ROOT" +# Copy the committed verified kit fixture (includes core.normalize-participants — +# a Loop WF1 registry dependency used by App-Refs). Hosts may later extend the +# same HostRegistryCache shape with additional published registry_refs via +# traverse_embedder::prepare_registry_dependency + publish_public_metadata. +rsync -a --delete "$FIXTURE/" "$CACHE_ROOT/" echo "OK: TRAVERSE_REPO=$TRAVERSE_REPO" -echo "OK: TRAVERSE_MCP_CACHE_ROOT=$TRAVERSE_MCP_CACHE_ROOT" +echo "OK: TRAVERSE_MCP_REGISTRY_CACHE=$CACHE_ROOT" echo "OK: TRAVERSE_WORKSPACE=$WORKSPACE" +echo "OK: seeded Mode A verified cache from Traverse mode-a-cache fixture" echo "OK: Mode A does not use App-Refs sync materialize rewrite (registry_ref stays as-is)" -cd "$TRAVERSE_REPO" -echo "→ registry index sync (network-capable prepare phase only)…" -cargo run -p traverse-cli -- registry sync --workspace "$WORKSPACE" --json +# Optional: keep local public index in sync for hosts that extend the cache. +if [ "${TRAVERSE_MCP_PREPARE_SYNC:-0}" = "1" ]; then + cd "$TRAVERSE_REPO" + echo "→ registry index sync (network-capable prepare phase only)…" + cargo run -q -p traverse-cli -- registry sync --workspace "$WORKSPACE" --json +fi + +cat <&2 exit 1 fi -if [ -z "${TRAVERSE_MCP_CACHE_ROOT:-}" ]; then - echo "FAIL: set TRAVERSE_MCP_CACHE_ROOT (Spec 119 host-supplied verified state)" >&2 + +# Canonical Traverse env is TRAVERSE_MCP_REGISTRY_CACHE (Spec 119). +# TRAVERSE_MCP_CACHE_ROOT remains accepted as an App-Refs alias. +CACHE_ROOT="${TRAVERSE_MCP_REGISTRY_CACHE:-${TRAVERSE_MCP_CACHE_ROOT:-}}" +if [ -z "$CACHE_ROOT" ]; then + echo "FAIL: set TRAVERSE_MCP_REGISTRY_CACHE (or TRAVERSE_MCP_CACHE_ROOT alias)" >&2 exit 1 fi - -cd "$TRAVERSE_REPO" - -# Probe for a future Mode A entrypoint without inventing one. -if cargo run -p traverse-mcp -- --help 2>/dev/null | grep -Eqi 'mode-a|verified-registry|public-registry'; then - echo "OK: Mode A-looking traverse-mcp help found — wire serve.sh to the shipped flags and re-run." - echo "HINT: Spec 119 wants a versioned traverse-mcp binary + prepared verified state (FR-006)." - echo "HINT: cache root configured: $TRAVERSE_MCP_CACHE_ROOT" +if [ ! -f "$CACHE_ROOT/public-metadata/current.json" ]; then + cat <&2 +FAIL: Mode A cache is not prepared verified public state. + Missing: $CACHE_ROOT/public-metadata/current.json + Run: bash prepare.sh + Unprepared/malformed state must fail closed (Spec 119 FR-003) — never expedition fallback. +EOF exit 2 fi -cat <&2 -FAIL: Spec 119 Mode A host not yet shipped in Traverse. - Public-only discovery + inline RuntimeRequest + digest-verified WASM are not - the default \`traverse-mcp -- stdio\` expedition catalog. - Governing spec: https://github.com/traverse-framework/Traverse/blob/main/specs/119-verified-registry-mcp-mode-a/spec.md - App-Refs live kit execute stays on ticket llm-mcp-traverse-starter-catalog. - Expedition bootstrap (not Spec 119): cargo run -p traverse-mcp -- stdio - Cache root configured: $TRAVERSE_MCP_CACHE_ROOT -EOF -exit 2 +cd "$TRAVERSE_REPO" +export TRAVERSE_MCP_REGISTRY_CACHE="$CACHE_ROOT" + +# Contributor source-run (FR-006 prefers a versioned binary when published). +# Expedition stdio without TRAVERSE_MCP_REGISTRY_CACHE is intentionally not used here. +exec cargo run -q -p traverse-mcp -- stdio "$@" diff --git a/apps/llm-mcp-reference/shared/workflows/meeting-notes.md b/apps/llm-mcp-reference/shared/workflows/meeting-notes.md index 7ff13b1..0380ae3 100644 --- a/apps/llm-mcp-reference/shared/workflows/meeting-notes.md +++ b/apps/llm-mcp-reference/shared/workflows/meeting-notes.md @@ -19,20 +19,17 @@ Presentation chrome (Specs 001/002): keep the session at `loading` while tools r ## Prerequisites (Mode A) -1. Traverse checkout with working `traverse-mcp` (see [MCP stdio server](https://github.com/traverse-framework/Traverse/blob/main/docs/mcp-stdio-server.md)). -2. Client MCP config from `clients//` pointing at: - -```bash -cargo run -p traverse-mcp -- stdio -``` - +1. Traverse checkout that includes Spec 119 Mode A (post [#1252](https://github.com/traverse-framework/Traverse/pull/1252); see [MCP stdio server](https://github.com/traverse-framework/Traverse/blob/main/docs/mcp-stdio-server.md)). +2. Client MCP config from `clients//` or [`../../mode-a/mcp.json.example`](../../mode-a/mcp.json.example) pointing at `mode-a/serve.sh` with a prepared `TRAVERSE_MCP_REGISTRY_CACHE` that includes `meeting-notes.process` (hosts extend the seeded Mode A cache via `prepare_registry_dependency`; the committed fixture seeds `core.normalize-participants` for Loop smoke). 3. System instructions include [`../prompts/system-boundary.md`](../prompts/system-boundary.md). +Do **not** use bare expedition `cargo run -p traverse-mcp -- stdio` as the Spec 119 happy path. + Optional bearer token for execution commands: ```bash TRAVERSE_MCP_STDIO_BEARER_TOKEN="local-dev-secret" \ - cargo run -p traverse-mcp -- stdio + TRAVERSE_MCP_REGISTRY_CACHE=… bash ../../mode-a/serve.sh ``` Pass the same token on `execute_entrypoint` / `render_execution_report` as `auth.bearer` or `bearer_token` when required. diff --git a/docs/decision-log.md b/docs/decision-log.md index 665cb24..9a0380a 100644 --- a/docs/decision-log.md +++ b/docs/decision-log.md @@ -686,3 +686,25 @@ Append-only record of design decisions for App-References. Newest sessions at th - C2 visible loading flash (A2 or Traverse async/yielding submit) - C3 live `blocked`/`ended` product-shell demo beyond fixtures - C4 native OS A1 presentation parity + + +--- + +## 2026-09-07 — Mode A catalog cutover (`llm-mcp-traverse-starter-catalog`) + +**Context:** Ops loop found Project 2 Ready empty; Traverse [#1241](https://github.com/traverse-framework/Traverse/issues/1241) closed via [#1252](https://github.com/traverse-framework/Traverse/pull/1252) on main (post tagged `v0.10.0`). + +### Unblock + +**Question:** Is `llm-mcp-traverse-starter-catalog` still Blocked? + +**Options considered:** +- Stay Blocked until a Traverse release tag ships Mode A — pros: pin-aligned binaries; cons: stalls honest consumer cutover on main +- Promote to Ready and cut over against `TRAVERSE_REPO@main` — pros: matches prior live-smoke posture; cons: contributors need post-#1252 checkout +- Wait without board change — pros: zero churn; cons: Ready stays empty while unlock exists + +**Recommendation:** Promote and cut over against main. + +**Decision:** Move ticket Ready → claim → wire `mode-a/prepare.sh` + `serve.sh` to `TRAVERSE_MCP_REGISTRY_CACHE`; capture evidence for `core.normalize-participants` (App-Refs Loop WF1 kit). + +**Why:** Spec 119 host is merged; App-Refs DoD is consumer evidence + docs, not waiting on the next Traverse tag. Expedition without the cache env remains non-happy-path. diff --git a/docs/kit-runner-persona.md b/docs/kit-runner-persona.md index b3f2c3d..0bb696b 100644 --- a/docs/kit-runner-persona.md +++ b/docs/kit-runner-persona.md @@ -2,7 +2,7 @@ **Audience:** someone using App-References as the copy-paste kit — run the **existing** `traverse-starter` (and siblings) on an OS they care about. -This is the first end-to-end bar. It is **not** “create a brand-new app from scratch” ([`new-app-author.md`](new-app-author.md)) and **not** registry MCP on OS shells (LLM façades only; Mode A host still unimplemented). +This is the first end-to-end bar. It is **not** “create a brand-new app from scratch” ([`new-app-author.md`](new-app-author.md)) and **not** registry MCP on OS shells (LLM façades use Mode A MCP separately — see `apps/llm-mcp-reference/mode-a/`). Related: [`getting-started-embedded.md`](getting-started-embedded.md) · [`production-playbook.md`](production-playbook.md) · [`add-platform-client.md`](add-platform-client.md) · [`new-app-author.md`](new-app-author.md) · root [`README.md`](../README.md) @@ -68,7 +68,7 @@ Local npm gates always. Manifest / `registry_ref` / runbook probes always. `TRAV | Gap | Ticket / note | |---|---| | Sync still **materializes** `registry_ref` → local wasm for many hosts | `retire-registry-ref-materialize-hosts` (Future) | -| Registry MCP is not an OS-shell path | `llm-mcp-mode-a-spec119-scaffold` Done (fail-closed); live kit execute `llm-mcp-traverse-starter-catalog` Blocked | +| Registry MCP is not an OS-shell path | `llm-mcp-mode-a-spec119-scaffold` Done; live Mode A kit execute `llm-mcp-traverse-starter-catalog` Done | | Creating a **new** app id from CLI + this kit | [`new-app-author.md`](new-app-author.md) (`new-app-author-e2e`) | | `onboarding_check.sh` is not a merge-blocking CI gate | By design (slow `npm install`); `embedded_smoke` is the PR gate | | Live Spec 001 subscribe on non-starter primary webs | Done via `web-session-presentation-port-primary` | diff --git a/docs/llm-reference-apps-plan.md b/docs/llm-reference-apps-plan.md index 41625c3..920dd95 100644 --- a/docs/llm-reference-apps-plan.md +++ b/docs/llm-reference-apps-plan.md @@ -75,8 +75,8 @@ Shared: | Mode | When | Notes | |---|---|---| -| **A. MCP stdio → local Traverse** (v1 default) | Developer laptop / agent IDE | Expedition bootstrap only on Traverse **v0.10.0** (`cargo run -p traverse-mcp -- stdio`). Spec 119 public-registry host: **scaffolded** under `apps/llm-mcp-reference/mode-a/` (fail-closed). Live kit discover/execute blocked on Traverse [#1241](https://github.com/traverse-framework/Traverse/issues/1241) | -| **B. MCP → embedded host in a sidecar process** | Stronger product isolation | **Scaffolded** under `apps/llm-mcp-reference/mode-b/` (Spec 520 prepare/cache docs + fail-closed launcher). Mode B host CLI **not shipped** — Traverse [#1242](https://github.com/traverse-framework/Traverse/issues/1242). App-Refs ticket `llm-mcp-embedded-host` is **Future** (Mode A is the active unlock) | +| **A. MCP stdio → local Traverse** (v1 default) | Developer laptop / agent IDE | Spec 119 Mode A **live** under `apps/llm-mcp-reference/mode-a/` (`TRAVERSE_MCP_REGISTRY_CACHE` + `serve.sh`). Host shipped on Traverse main ([#1241](https://github.com/traverse-framework/Traverse/issues/1241)/[#1252](https://github.com/traverse-framework/Traverse/pull/1252)); tagged **v0.10.0** is still expedition-only without that merge. Bare `traverse-mcp stdio` without the cache env remains expedition bootstrap only. | +| **B. MCP → embedded host in a sidecar process** | Stronger product isolation | **Scaffolded** under `apps/llm-mcp-reference/mode-b/` (Spec 520 prepare/cache docs + fail-closed launcher). Mode B host CLI **not shipped** — Traverse [#1242](https://github.com/traverse-framework/Traverse/issues/1242). App-Refs ticket `llm-mcp-embedded-host` is **Future** | | **C. Remote MCP gateway** | Multi-tenant SaaS | Future; needs auth/tenancy — not this slice | v1 documents **Mode A** only. Do not revive HTTP `traverse-cli serve` as the production architecture for primary OS shells; MCP stdio is a **separate agent façade**, not a replacement for embedded Web/iOS/Android clients. @@ -92,7 +92,7 @@ v1 documents **Mode A** only. Do not revive HTTP `traverse-cli serve` as the pro | `llm-mcp-chatgpt-adapter` | ChatGPT Actions/GPT mapping (or MCP when shipped) | Future / Ready when API stable | | `llm-mcp-grok-adapter` | Grok tool-calling mapping | Future / Ready when API stable | | `llm-mcp-mode-a-spec119-scaffold` | Spec 119 Mode A consumer (fail-closed serve + prepare + MCP example) | Done (#271) | -| `llm-mcp-traverse-starter-catalog` | Discover/execute kit capabilities (`traverse-starter.*` / meeting-notes) via Mode A public registry discovery | Blocked — Spec [`119-verified-registry-mcp-mode-a`](https://github.com/traverse-framework/Traverse/blob/main/specs/119-verified-registry-mcp-mode-a/spec.md) **Approved**; implement Traverse [#1241](https://github.com/traverse-framework/Traverse/issues/1241). v0.10.0 remains expedition-only. First release has no kit content groups (FR-007). Registry [#99](https://github.com/traverse-framework/registry/issues/99) closed | +| `llm-mcp-traverse-starter-catalog` | Discover/execute kit capabilities via Mode A public registry discovery | **Done** — Mode A host on Traverse main (#1241/#1252); App-Refs prepare/serve wired; live evidence for `core.normalize-participants` (Loop WF1). FR-007: no kit content groups. Additional pins (`meeting-notes.process`, `traverse-starter.process`) join when hosts prepare those digests into the same cache. | | `llm-mcp-embedded-host` | Mode B embedded prepare/cache for MCP host | Scaffold Done (#268); **Future** until Traverse [#1242](https://github.com/traverse-framework/Traverse/issues/1242) (Spec 520 host CLI). Absorbed Mode B slice of cancelled umbrella `llm-mcp-0-10-live-cutover` | | `llm-mcp-0-10-live-cutover` | Re-verify Mode A kit execute + Mode B host after Traverse v0.10.0 pin | **Done (absorbed)** — Mode A live proof stays on `llm-mcp-traverse-starter-catalog` (#1241); Mode B on `llm-mcp-embedded-host` Future (#1242); pin Done (#292) | diff --git a/scripts/ci/llm_mcp_reference_smoke.sh b/scripts/ci/llm_mcp_reference_smoke.sh index b5c9899..78fc7e8 100755 --- a/scripts/ci/llm_mcp_reference_smoke.sh +++ b/scripts/ci/llm_mcp_reference_smoke.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# Scaffold integrity smoke for LLM MCP reference façades (secondary tier). +# Scaffold + Mode A integrity smoke for LLM MCP reference façades (secondary tier). set -euo pipefail ROOT="$(cd "$(dirname "$0")/../.." && pwd)" fail=0 @@ -33,27 +33,53 @@ need apps/llm-mcp-reference/clients/cursor/evidence/cursor-mcp-stdio-transcript. need apps/llm-mcp-reference/clients/cursor/evidence/cursor-mcp-execute-transcript.jsonl need apps/llm-mcp-reference/clients/chatgpt/README.md need apps/llm-mcp-reference/clients/grok/README.md -# Mode A scaffold (Spec 119 public-registry host — fail-closed until Traverse ships it) +# Mode A consumer (Spec 119 public-registry host — wired after Traverse #1252) need apps/llm-mcp-reference/mode-a/README.md need apps/llm-mcp-reference/mode-a/mcp.json.example need apps/llm-mcp-reference/mode-a/prepare.sh need apps/llm-mcp-reference/mode-a/serve.sh -if ! rg -q 'TRAVERSE_MCP_CACHE_ROOT' "$ROOT/apps/llm-mcp-reference/mode-a/mcp.json.example"; then - echo "FAIL: mode-a mcp example must set TRAVERSE_MCP_CACHE_ROOT" +need apps/llm-mcp-reference/mode-a/evidence/mode-a-stdio-transcript.jsonl +need apps/llm-mcp-reference/mode-a/evidence/mode-a-execute-transcript.jsonl +if ! rg -q 'TRAVERSE_MCP_REGISTRY_CACHE|TRAVERSE_MCP_CACHE_ROOT' "$ROOT/apps/llm-mcp-reference/mode-a/mcp.json.example"; then + echo "FAIL: mode-a mcp example must set TRAVERSE_MCP_REGISTRY_CACHE (or CACHE_ROOT alias)" fail=1 fi if ! rg -q '119-verified-registry-mcp-mode-a|Spec 119' "$ROOT/apps/llm-mcp-reference/mode-a/README.md"; then echo "FAIL: mode-a README must cite Spec 119" fail=1 fi -if ! rg -qi 'not yet shipped|Mode A host not yet|fail' "$ROOT/apps/llm-mcp-reference/mode-a/serve.sh"; then - echo "FAIL: mode-a serve.sh must fail closed until Traverse Mode A host ships" +if ! rg -q 'TRAVERSE_MCP_REGISTRY_CACHE' "$ROOT/apps/llm-mcp-reference/mode-a/serve.sh"; then + echo "FAIL: mode-a serve.sh must use TRAVERSE_MCP_REGISTRY_CACHE" fail=1 fi -if rg -qi 'stdio' "$ROOT/apps/llm-mcp-reference/mode-a/serve.sh" && ! rg -q 'Do NOT silently fall back to expedition stdio' "$ROOT/apps/llm-mcp-reference/mode-a/serve.sh"; then +if ! rg -q 'Do NOT silently fall back to expedition stdio' "$ROOT/apps/llm-mcp-reference/mode-a/serve.sh"; then echo "FAIL: mode-a serve.sh must not silently fall back to expedition stdio" fail=1 fi +if ! rg -q 'cargo run .*traverse-mcp.*stdio|exec cargo run' "$ROOT/apps/llm-mcp-reference/mode-a/serve.sh"; then + echo "FAIL: mode-a serve.sh must launch traverse-mcp stdio under Mode A cache" + fail=1 +fi +if ! rg -q 'verified_public|119-verified-registry-mcp-mode-a' "$ROOT/apps/llm-mcp-reference/mode-a/evidence/mode-a-stdio-transcript.jsonl"; then + echo "FAIL: mode-a stdio evidence must show verified_public / Spec 119" + fail=1 +fi +if ! rg -q 'core\.normalize-participants' "$ROOT/apps/llm-mcp-reference/mode-a/evidence/mode-a-stdio-transcript.jsonl"; then + echo "FAIL: mode-a stdio evidence must list an App-Refs kit capability" + fail=1 +fi +if ! rg -q 'digest_matches_public_state.:true|"digest_matches_public_state":true' "$ROOT/apps/llm-mcp-reference/mode-a/evidence/mode-a-execute-transcript.jsonl"; then + echo "FAIL: mode-a execute evidence must show digest_matches_public_state" + fail=1 +fi +if ! rg -q 'request_source.:inline|"request_source":"inline"' "$ROOT/apps/llm-mcp-reference/mode-a/evidence/mode-a-execute-transcript.jsonl"; then + echo "FAIL: mode-a execute evidence must use inline RuntimeRequest" + fail=1 +fi +if rg -qi 'expedition' "$ROOT/apps/llm-mcp-reference/mode-a/evidence/mode-a-stdio-transcript.jsonl"; then + echo "FAIL: mode-a evidence must not be expedition catalog" + fail=1 +fi if rg -q 'APP_REFS_MATERIALIZE_REGISTRY_REFS|sync_bundle_materialize_registry_refs' "$ROOT/apps/llm-mcp-reference/mode-a"; then echo "FAIL: mode-a must not depend on App-Refs materialize rewrite" fail=1 @@ -79,14 +105,11 @@ if rg -q 'APP_REFS_MATERIALIZE_REGISTRY_REFS|sync_bundle_materialize_registry_re echo "FAIL: mode-b must not depend on App-Refs materialize rewrite" fail=1 fi -# Configs must mention traverse-mcp, not invent business fields -if ! rg -q 'traverse-mcp' "$ROOT/apps/llm-mcp-reference/clients/claude-desktop/mcp.json.example"; then - echo "FAIL: claude-desktop mcp example must reference traverse-mcp" +# Configs must launch Mode A (serve.sh) or traverse-mcp — not invent business fields +if ! rg -q 'mode-a/serve\.sh|traverse-mcp' "$ROOT/apps/llm-mcp-reference/clients/claude-desktop/mcp.json.example"; then + echo "FAIL: claude-desktop mcp example must launch mode-a/serve.sh or traverse-mcp" fail=1 fi -if rg -n -i 'invent (title|tags)|compute business' "$ROOT/apps/llm-mcp-reference/shared/prompts/system-boundary.md" >/dev/null; then - : # optional; boundary doc forbids inventing — ensure forbid language exists -fi if ! rg -q 'do not invent' "$ROOT/apps/llm-mcp-reference/shared/prompts/system-boundary.md"; then echo "FAIL: system-boundary.md must forbid inventing fields" fail=1