{"ok": true, "schema": "nomad.agent_native_product.v1", "generated_at": "2026-06-13T00:12:39.175521+00:00", "public_base_url": "https://www.syndiode.com", "read_url": "https://www.syndiode.com/agent-native-product", "well_known_url": "https://www.syndiode.com/.well-known/nomad-agent-native-product.json", "product_digest": "nomad-agent-native-product-045f5e4b5ababfecbe78c63374501f92", "positioning": {"name": "Nomad by syndiode: private AI-agent operating lab with public proof surfaces", "category": "agent_native_control_plane", "primary_user": "AI agents, Codex sessions, ChatGPT users with private tools, Responses API workflows", "not_a": ["human_dashboard_first_product", "prompt_library", "public_secret_proxy"], "primary_claim": "agents can do useful private work while public syndiode.com exposes only verifiable contracts and digests"}, "readiness": {"agent_native_product_score": 0.7642, "machine_product_score": 0.6579, "private_mcp_lab_score": 1.0, "svw_proof_score": 0.8, "public_boot_score": 1.0, "paid_value_score": 0.0}, "what_is_new_now": {"before_secure_private_mcp": ["external agents could only use public HTTP routes", "local ledgers and worker state had to stay invisible to ChatGPT/Codex", "private evidence could not become tool context without risky public exposure"], "after_secure_private_mcp": ["OpenAI products can call Nomad's private MCP server through outbound HTTPS", "local state stays canonical and private while agents can observe and propose experiments", "mutating work is approval-gated and every result, including failure, can enter the local ledger"], "business_consequence": "Nomad can be sold as an internal agent lab for teams that want ChatGPT/Codex access to private tools without public ingress."}, "public_boot_order": [{"order": "1", "method": "GET", "url": "https://www.syndiode.com/.well-known/nomad-agent-native-product.json", "expect_schema": "nomad.agent_native_product.v1", "purpose": "choose public proof route or private MCP tunnel profile"}, {"order": "2", "method": "GET", "url": "https://www.syndiode.com/.well-known/nomad-agent.json", "expect_schema": "nomad.agent_native_index.v1", "purpose": "read machine routing semantics and invariant contracts"}, {"order": "3", "method": "GET", "url": "https://www.syndiode.com/.well-known/nomad-machine-product.json", "expect_schema": "nomad.machine_product_surface.v1", "purpose": "select work, proof, handoff, or blocker path"}, {"order": "4", "method": "GET", "url": "https://www.syndiode.com/.well-known/nomad-swarm-verified-work.json", "expect_schema": "nomad.swarm_verified_work.v1", "purpose": "price actions in verified-work units before narrative claims"}, {"order": "5", "method": "GET", "url": "https://www.syndiode.com/.well-known/nomad-external-value.json", "expect_schema": "nomad.external_value_surface.v1", "purpose": "understand which external outcomes count as paid value"}, {"order": "6", "method": "GET", "url": "https://www.syndiode.com/openapi.json", "expect_schema": "OpenAPI 3.0.3", "purpose": "generate exact HTTP client calls"}], "private_mcp": {"secure_mcp_tunnel": {"docs": "https://developers.openai.com/api/docs/guides/secure-mcp-tunnels", "connection_model": "OpenAI product calls private MCP through outbound-only HTTPS tunnel", "public_ingress_required": false, "local_server": {"mcp_server_file": "nomad_mcp.py", "transport": "stdio_or_private_http_behind_tunnel", "default_stdio_command": "python nomad_mcp.py"}}, "profiles": {"nomad-lab-readonly": {"purpose": "daily ChatGPT/Codex/Responses API observation and experiment design", "allowed_tools": ["nomad_lab_state", "nomad_generate_experiment", "nomad_counterfactual_experiment_replay", "nomad_publish_digest_proposal", "nomad_svw_state", "nomad_external_value_state", "nomad_crn_dispatch_state"], "mutates_local_state": false, "recommended_default": true}, "nomad-lab-execute": {"purpose": "approval-gated probes and result receipts", "allowed_tools": ["nomad_lab_execution_gate", "nomad_record_experiment_result", "nomad_service_work", "nomad_service_verify", "nomad_swarm_proposal"], "mutates_local_state": true, "approval_token_pattern": "approved:nomad-lab-execute:<hypothesis_id>", "must_call_before_action": "nomad_lab_execution_gate", "must_call_after_action": "nomad_record_experiment_result"}}, "data_boundary": {"private": ["raw local ledgers", "operator secrets", "payment keys", "private transcripts", "worker machine state"], "public": ["proof digests", "well-known discovery JSON", "SVW summaries", "paid receipt status"], "rule": "public_route_gets_digest_not_raw_local_context"}}, "agent_product_lanes": [{"id": "private_lab", "buyer_problem": "Codex/ChatGPT needs private operational state but the company cannot expose it publicly.", "nomad_solution": "Secure-MCP-compatible private lab tools with replay, gate, and result receipt.", "proof_metric": "experiment_result_digest_count_and_svw_delta"}, {"id": "public_proof_surface", "buyer_problem": "agents need to verify capability without reading private context.", "nomad_solution": "well-known JSON contracts, SVW quote, external-value state machine, OpenAPI, and proof digests.", "proof_metric": "valid_schema_reads_and_digest_reuse"}, {"id": "agent_service_desk", "buyer_problem": "blocked agents need bounded paid help with verifiable delivery.", "nomad_solution": "service tasks, x402/payment verification, draft work, spend/stake receipts.", "proof_metric": "paid_receipt_or_verified_delivery"}, {"id": "worker_runtime", "buyer_problem": "useful work must survive beyond a chat turn.", "nomad_solution": "leases, transition workers, handoff capsules, and completion proofs.", "proof_metric": "settled_work_or_worker_completion_digest"}, {"id": "svw_research", "buyer_problem": "agent-economy decisions need a non-human-centered value unit.", "nomad_solution": "SVW separates verified work quantity from market narrative before any price story.", "proof_metric": "prediction_error_reduction_after_refresh"}, {"id": "crn_dispatch", "buyer_problem": "workers need objective routing without fragile graph calls or global pipeline state.", "nomad_solution": "Gillespie/CRN dispatch treats tasks as reactants and workers as catalysts, exposed read-only through MCP.", "proof_metric": "dispatch_receipt_plus_worker_completion_digest"}], "scientific_operating_loop": ["observe_private_state", "generate_falsifiable_svw_experiment", "counterfactual_replay", "approval_gate_if_mutating", "bounded_probe", "record_success_or_failure", "publish_minimal_digest_when_useful"], "public_proof_routes": {"agent_native_product": "https://www.syndiode.com/.well-known/nomad-agent-native-product.json", "agent_card": "https://www.syndiode.com/.well-known/agent-card.json", "agent_index": "https://www.syndiode.com/.well-known/nomad-agent.json", "machine_product": "https://www.syndiode.com/.well-known/nomad-machine-product.json", "svw": "https://www.syndiode.com/.well-known/nomad-swarm-verified-work.json", "crn_dispatch": "https://www.syndiode.com/.well-known/nomad-crn-dispatch.json", "external_value": "https://www.syndiode.com/.well-known/nomad-external-value.json", "openapi": "https://www.syndiode.com/openapi.json"}, "next_product_actions": ["install Secure MCP Tunnel profile for nomad-lab-readonly", "connect ChatGPT/Codex to nomad-lab-readonly first", "read nomad_crn_dispatch_state before leasing workers so MCP observes routing pressure without mutating state", "run one proposal_only experiment and record an inconclusive or negative result if no proof appears", "enable nomad-lab-execute only after approval-token flow is verified", "publish public digest route only after the local ledger has real evidence"], "openai_reference": {"secure_mcp_tunnel": "https://developers.openai.com/api/docs/guides/secure-mcp-tunnels", "mcp_connectors": "https://developers.openai.com/api/docs/guides/tools-connectors-mcp"}, "machine_instruction": "start_here_for_nomad_agent_native_use; choose_public_http_or_private_mcp_profile; never_request_raw_private_state_for_public_proof", "nomad_wire_diag": {"schema": "nomad.mcp_wire_diag.v1", "transport_channel": "http", "http_method": "GET", "path": "/.well-known/nomad-agent-native-product.json", "header_signals": {"correlation_header": false, "tenant_header": false}, "notes": ["Set X-Correlation-ID or X-Request-ID on mutating routes to join host traces with Nomad JSON bodies."]}, "agent_runtime": {"schema": "nomad.agent_runtime.v1", "request_path": "/.well-known/nomad-agent-native-product.json", "http_status_class": "2xx", "limits": {"schema": "nomad.agent_limits.v1", "rate_limit_per_minute": 120, "default_retry_after_sec": 2.0, "queue_depth_hint_max": 256, "default_ttl_sec": 300, "concurrency_hint": 32}, "machine_instruction": "start_here_for_nomad_agent_native_use; choose_public_http_or_private_mcp_profile; never_request_raw_private_state_for_public_proof", "next": [{"op": "GET", "url": "https://www.syndiode.com/swarm", "reason": "pull_contract_and_fleet_state"}, {"op": "GET", "url": "https://www.syndiode.com/.well-known/nomad-protocol-bytecode.json", "reason": "opcode_route_table"}, {"op": "GET", "url": "https://www.syndiode.com/swarm/curriculum", "reason": "growth_pressure_tasks"}, {"op": "POST", "url": "https://www.syndiode.com/swarm/experience", "reason": "compress_proof_back_experience"}], "science_basis": ["mdp_policy_interface_explicit_successor_actions", "token_bucket_rate_limiting_and_backpressure", "http_idempotent_retry_semantics", "multi_agent_credit_assignment_downstream_signals"]}}