application · active

Topolo Developers

Standalone developer control plane with a public signup entrypoint, per-application manifest and machine-action partitions, notification-contract publication and discovery, credential-scoped discovery for SDK/CLI/MCP, the Developers-owned Topolo app store read model, bounded registry reconcile, and the authenticated workspace-backed console where publishers and internal operators manage applications, artifacts, submissions, visibility, commerce, pricing, and payout readiness.

Documentation map

  • Topolo Developers — Public overview of the authenticated Topolo developer portal and its submission/request workflows.
  • Topolo Web — Build, preview, quality-check, publish, and recover responsive websites through a typed agent workflow.
  • Agents and Automation — Clean-room operating guide for Codex, Claude, and headless automation using Topolo OAuth or API keys.

Authority and runtime

System ID
topolo-developers
App IDs
app_topolo_developers
Owners
platform-experience
Repositories
apps/TopoloDevelopers
Hosts
https://developers.topolo.app, https://developers.stg.topolo.us
Dependencies
topolo-auth, topolo-one, topolo-p2p

Security and data ownership

Risk tier
critical
Tenant isolation
organization_scoped
Privacy classification
secret
Storage
d1, external_provider, r2
Export and deletion
planned
Enterprise ready
no

Source-derived capability inventory

Source revisions: apps/TopoloDevelopers@690f230abf462c7a526b16186b94b7fc05e210dd

Declared actions: 59 · API routes: 1 · UI routes: 30

{
  "id": "topolo-developers",
  "name": "Topolo Developers",
  "slug": "topolo-developers",
  "kind": "application",
  "visibility": "public",
  "repo_paths": [
    "apps/TopoloDevelopers"
  ],
  "source_revisions": [
    {
      "source_path": "apps/TopoloDevelopers",
      "repository": "apps/TopoloDevelopers",
      "revision": "690f230abf462c7a526b16186b94b7fc05e210dd",
      "ref": "origin/staging"
    }
  ],
  "source_counts": {
    "source_files": 153,
    "test_files": 116,
    "test_cases": 0,
    "migration_files": 0,
    "database_tables": 0,
    "manifests": 1,
    "deploy_targets": 3,
    "actions": 59,
    "mobile_contracts": 1,
    "notifications": 7,
    "package_manifests": 2,
    "deployment_configs": 0
  },
  "manifests": [
    {
      "source_path": "apps/TopoloDevelopers/topolo.app.json",
      "service_slug": "topolo-developers",
      "name": "topolo-developers",
      "app_id": "app_topolo_developers",
      "compatibility_date": "2026-07-11",
      "primary_target": "web",
      "environments": [
        "development",
        "production",
        "staging"
      ],
      "targets": [
        {
          "name": "api",
          "kind": "worker",
          "directory": "apps/api",
          "main": "src/worker.ts",
          "worker_name": "topolo-developers-api",
          "subdomain": null,
          "healthcheck_path": "/api/health",
          "variable_names": [
            "AUTH_API_URL",
            "AUTH_APP_ID",
            "DEVELOPERS_PUBLIC_BASE_URL",
            "ENVIRONMENT",
            "P2P_API_URL",
            "P2P_APP_ID",
            "PLATFORM_DEVELOPER_ORGANIZATION_ID",
            "TOPOLO_NOTIFY_URL",
            "TOPOLO_SEED_APP_ID"
          ],
          "secret_names": [],
          "bindings": [
            {
              "kind": "services",
              "binding": "AUTH_SERVICE",
              "target": null
            },
            {
              "kind": "services",
              "binding": "AUTH_SERVICE",
              "target": null
            },
            {
              "kind": "services",
              "binding": "AUTH_SERVICE",
              "target": null
            },
            {
              "kind": "d1",
              "binding": "DEVELOPERS_CONTROL_DB",
              "target": null
            },
            {
              "kind": "d1",
              "binding": "DEVELOPERS_CATALOG_DB",
              "target": null
            },
            {
              "kind": "d1",
              "binding": "DEVELOPERS_INTEGRATIONS_DB",
              "target": null
            },
            {
              "kind": "d1",
              "binding": "DEVELOPERS_ARTIFACTS_DB",
              "target": null
            },
            {
              "kind": "d1",
              "binding": "DEVELOPERS_INTAKE_DB",
              "target": null
            },
            {
              "kind": "r2",
              "binding": "MOBILE_ARTIFACTS",
              "target": null
            },
            {
              "kind": "durableObjects",
              "binding": "ACTION_CATALOG_PARTITIONS",
              "target": null
            },
            {
              "kind": "durableObjects",
              "binding": "APPLICATION_CATALOG_PARTITIONS",
              "target": null
            },
            {
              "kind": "vectorize",
              "binding": "VECTORIZE",
              "target": null
            },
            {
              "kind": "ai",
              "binding": "AI",
              "target": null
            }
          ]
        },
        {
          "name": "web",
          "kind": "worker",
          "directory": "apps/web",
          "main": "src/worker.ts",
          "worker_name": "topolo-developers",
          "subdomain": "developers",
          "healthcheck_path": "/api/health",
          "variable_names": [
            "INSIGHTS_SITE_KEY"
          ],
          "secret_names": [],
          "bindings": [
            {
              "kind": "services",
              "binding": "API",
              "target": null
            },
            {
              "kind": "services",
              "binding": "API",
              "target": null
            },
            {
              "kind": "services",
              "binding": "API",
              "target": null
            }
          ]
        },
        {
          "name": "jobs",
          "kind": "worker",
          "directory": "apps/jobs",
          "main": "src/index.ts",
          "worker_name": "topolo-catalog-cron",
          "subdomain": null,
          "healthcheck_path": null,
          "variable_names": [
            "AUTH_API_URL",
            "CATALOG_EMBEDDINGS_URL",
            "NEXUS_GATEWAY_URL"
          ],
          "secret_names": [],
          "bindings": []
        }
      ],
      "notifications": [
        "developers.app.approved",
        "developers.app.published",
        "developers.app.rejected",
        "developers.app.submitted",
        "developers.build.completed",
        "developers.build.failed",
        "developers.catalog.sync_failed"
      ],
      "notification_contract": {
        "source_path": "topolo.notification-contracts.json",
        "role": "producer",
        "schema_version": 1,
        "owner_app_id": "app_topolo_developers",
        "events": [
          {
            "type": "developers.app.approved",
            "version": 1,
            "description": "A persisted marketplace review approved a developer application.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "surface",
                "priority",
                "severity",
                "category",
                "object_type",
                "object_id",
                "app_id",
                "app_name",
                "status",
                "cta_url",
                "cta_label",
                "occurred_at"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "surface": {
                  "const": "notification"
                },
                "priority": {
                  "const": "normal"
                },
                "severity": {
                  "const": "success"
                },
                "category": {
                  "const": "developers"
                },
                "object_type": {
                  "const": "app"
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "app_id": {
                  "type": "string",
                  "minLength": 1
                },
                "app_name": {
                  "type": "string",
                  "minLength": 1
                },
                "status": {
                  "const": "approved"
                },
                "cta_url": {
                  "type": "string",
                  "format": "uri"
                },
                "cta_label": {
                  "type": "string",
                  "minLength": 1
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "additionalProperties": false
            },
            "examples": [
              {
                "title": "App approved: Example",
                "body": "Your application passed marketplace review.",
                "surface": "notification",
                "priority": "normal",
                "severity": "success",
                "category": "developers",
                "object_type": "app",
                "object_id": "app_123",
                "app_id": "app_123",
                "app_name": "Example",
                "status": "approved",
                "cta_url": "https://developers.topolo.app/apps/app_123",
                "cta_label": "Open app",
                "occurred_at": "2026-07-20T12:00:00.000Z"
              }
            ],
            "dataClassification": "internal",
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^developers:submission:"
            }
          },
          {
            "type": "developers.app.published",
            "version": 1,
            "description": "Developers durably published an application manifest into the live catalog.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "surface",
                "priority",
                "severity",
                "category",
                "object_type",
                "object_id",
                "app_id",
                "app_name",
                "status",
                "cta_url",
                "cta_label",
                "occurred_at"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "surface": {
                  "const": "notification"
                },
                "priority": {
                  "const": "normal"
                },
                "severity": {
                  "const": "success"
                },
                "category": {
                  "const": "developers"
                },
                "object_type": {
                  "const": "app"
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "app_id": {
                  "type": "string",
                  "minLength": 1
                },
                "app_name": {
                  "type": "string",
                  "minLength": 1
                },
                "status": {
                  "const": "published"
                },
                "cta_url": {
                  "type": "string",
                  "format": "uri"
                },
                "cta_label": {
                  "type": "string",
                  "minLength": 1
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "additionalProperties": false
            },
            "examples": [
              {
                "title": "App published: Example",
                "body": "Your application is published in the Topolo catalog.",
                "surface": "notification",
                "priority": "normal",
                "severity": "success",
                "category": "developers",
                "object_type": "app",
                "object_id": "app_123",
                "app_id": "app_123",
                "app_name": "Example",
                "status": "published",
                "cta_url": "https://developers.topolo.app/apps/app_123",
                "cta_label": "Open app",
                "occurred_at": "2026-07-20T12:00:00.000Z"
              }
            ],
            "dataClassification": "internal",
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^developers:app:"
            }
          },
          {
            "type": "developers.app.rejected",
            "version": 1,
            "description": "A persisted marketplace review rejected a developer application.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "surface",
                "priority",
                "severity",
                "category",
                "object_type",
                "object_id",
                "app_name",
                "status",
                "failure_reason",
                "cta_url",
                "cta_label",
                "occurred_at"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "surface": {
                  "const": "action"
                },
                "priority": {
                  "const": "high"
                },
                "severity": {
                  "const": "warning"
                },
                "category": {
                  "const": "developers"
                },
                "object_type": {
                  "const": "app"
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "app_id": {
                  "type": "string",
                  "minLength": 1
                },
                "app_name": {
                  "type": "string",
                  "minLength": 1
                },
                "status": {
                  "const": "rejected"
                },
                "failure_reason": {
                  "type": "string",
                  "minLength": 5
                },
                "cta_url": {
                  "type": "string",
                  "format": "uri"
                },
                "cta_label": {
                  "type": "string",
                  "minLength": 1
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "additionalProperties": false
            },
            "examples": [
              {
                "title": "App rejected: Example",
                "body": "Missing required evidence.",
                "surface": "action",
                "priority": "high",
                "severity": "warning",
                "category": "developers",
                "object_type": "app",
                "object_id": "app_123",
                "app_id": "app_123",
                "app_name": "Example",
                "status": "rejected",
                "failure_reason": "Missing required evidence.",
                "cta_url": "https://developers.topolo.app/apps/app_123",
                "cta_label": "Open app",
                "occurred_at": "2026-07-20T12:00:00.000Z"
              }
            ],
            "dataClassification": "confidential",
            "sensitiveFields": [
              "body",
              "failure_reason"
            ],
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^developers:submission:"
            }
          },
          {
            "type": "developers.app.submitted",
            "version": 1,
            "description": "A developer application submission was durably persisted for marketplace review.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "surface",
                "priority",
                "severity",
                "category",
                "object_type",
                "object_id",
                "app_id",
                "app_name",
                "status",
                "cta_url",
                "cta_label",
                "occurred_at"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "surface": {
                  "const": "notification"
                },
                "priority": {
                  "const": "normal"
                },
                "severity": {
                  "const": "info"
                },
                "category": {
                  "const": "developers"
                },
                "object_type": {
                  "const": "app"
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "app_id": {
                  "type": "string",
                  "minLength": 1
                },
                "app_name": {
                  "type": "string",
                  "minLength": 1
                },
                "status": {
                  "const": "pending"
                },
                "cta_url": {
                  "type": "string",
                  "format": "uri"
                },
                "cta_label": {
                  "type": "string",
                  "minLength": 1
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "additionalProperties": false
            },
            "examples": [
              {
                "title": "App submitted: Example",
                "body": "Your application was submitted for marketplace review.",
                "surface": "notification",
                "priority": "normal",
                "severity": "info",
                "category": "developers",
                "object_type": "app",
                "object_id": "app_123",
                "app_id": "app_123",
                "app_name": "Example",
                "status": "pending",
                "cta_url": "https://developers.topolo.app/apps/app_123",
                "cta_label": "Open app",
                "occurred_at": "2026-07-20T12:00:00.000Z"
              }
            ],
            "dataClassification": "internal",
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^developers:app:"
            }
          },
          {
            "type": "developers.build.completed",
            "version": 1,
            "description": "A persisted developer build request reached the completed state.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "surface",
                "priority",
                "severity",
                "category",
                "object_type",
                "object_id",
                "build_request_id",
                "build_title",
                "status",
                "cta_url",
                "cta_label",
                "occurred_at"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "surface": {
                  "const": "notification"
                },
                "priority": {
                  "const": "normal"
                },
                "severity": {
                  "const": "success"
                },
                "category": {
                  "const": "developers"
                },
                "object_type": {
                  "const": "build_request"
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "build_request_id": {
                  "type": "string",
                  "minLength": 1
                },
                "build_title": {
                  "type": "string",
                  "minLength": 1
                },
                "status": {
                  "const": "completed"
                },
                "cta_url": {
                  "type": "string",
                  "format": "uri"
                },
                "cta_label": {
                  "type": "string",
                  "minLength": 1
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "additionalProperties": false
            },
            "examples": [
              {
                "title": "Build completed: Queue monitor",
                "body": "Your requested build is complete.",
                "surface": "notification",
                "priority": "normal",
                "severity": "success",
                "category": "developers",
                "object_type": "build_request",
                "object_id": "req_123",
                "build_request_id": "req_123",
                "build_title": "Queue monitor",
                "status": "completed",
                "cta_url": "https://developers.topolo.app/requests",
                "cta_label": "Open build request",
                "occurred_at": "2026-07-20T12:00:00.000Z"
              }
            ],
            "dataClassification": "confidential",
            "sensitiveFields": [
              "body",
              "build_title"
            ],
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^developers:build:"
            }
          },
          {
            "type": "developers.build.failed",
            "version": 1,
            "description": "A persisted developer build request reached the failed state.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "surface",
                "priority",
                "severity",
                "category",
                "object_type",
                "object_id",
                "build_request_id",
                "build_title",
                "status",
                "failure_reason",
                "cta_url",
                "cta_label",
                "occurred_at"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "surface": {
                  "const": "action"
                },
                "priority": {
                  "const": "high"
                },
                "severity": {
                  "const": "critical"
                },
                "category": {
                  "const": "developers"
                },
                "object_type": {
                  "const": "build_request"
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "build_request_id": {
                  "type": "string",
                  "minLength": 1
                },
                "build_title": {
                  "type": "string",
                  "minLength": 1
                },
                "status": {
                  "const": "failed"
                },
                "failure_reason": {
                  "type": "string",
                  "minLength": 1
                },
                "cta_url": {
                  "type": "string",
                  "format": "uri"
                },
                "cta_label": {
                  "type": "string",
                  "minLength": 1
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "additionalProperties": false
            },
            "examples": [
              {
                "title": "Build failed: Queue monitor",
                "body": "The build failed during validation.",
                "surface": "action",
                "priority": "high",
                "severity": "critical",
                "category": "developers",
                "object_type": "build_request",
                "object_id": "req_123",
                "build_request_id": "req_123",
                "build_title": "Queue monitor",
                "status": "failed",
                "failure_reason": "The build failed during validation.",
                "cta_url": "https://developers.topolo.app/requests",
                "cta_label": "Open build request",
                "occurred_at": "2026-07-20T12:00:00.000Z"
              }
            ],
            "dataClassification": "confidential",
            "sensitiveFields": [
              "body",
              "build_title",
              "failure_reason"
            ],
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^developers:build:"
            }
          },
          {
            "type": "developers.catalog.sync_failed",
            "version": 1,
            "description": "Developers persisted a catalog publication failure after the live catalog sync failed.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "surface",
                "priority",
                "severity",
                "category",
                "object_type",
                "object_id",
                "app_id",
                "app_name",
                "status",
                "failure_reason",
                "cta_url",
                "cta_label",
                "occurred_at"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "surface": {
                  "const": "action"
                },
                "priority": {
                  "const": "high"
                },
                "severity": {
                  "const": "critical"
                },
                "category": {
                  "const": "developers"
                },
                "object_type": {
                  "const": "catalog_sync"
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "app_id": {
                  "type": "string",
                  "minLength": 1
                },
                "app_name": {
                  "type": "string",
                  "minLength": 1
                },
                "status": {
                  "const": "failed"
                },
                "failure_reason": {
                  "type": "string",
                  "minLength": 1
                },
                "cta_url": {
                  "type": "string",
                  "format": "uri"
                },
                "cta_label": {
                  "type": "string",
                  "minLength": 1
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "additionalProperties": false
            },
            "examples": [
              {
                "title": "Catalog sync failed: Example",
                "body": "Permission publication failed.",
                "surface": "action",
                "priority": "high",
                "severity": "critical",
                "category": "developers",
                "object_type": "catalog_sync",
                "object_id": "catalog_failure_123",
                "app_id": "app_123",
                "app_name": "Example",
                "status": "failed",
                "failure_reason": "Permission publication failed.",
                "cta_url": "https://developers.topolo.app/apps/app_123",
                "cta_label": "Open app",
                "occurred_at": "2026-07-20T12:00:00.000Z"
              }
            ],
            "dataClassification": "confidential",
            "sensitiveFields": [
              "body",
              "failure_reason"
            ],
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^developers:catalog-sync:"
            }
          }
        ]
      },
      "actions": [
        {
          "name": "widget.get",
          "title": "Get widget summary",
          "description": "Get the TopoloOne widget summary for this service.",
          "method": "GET",
          "path": "/api/widget",
          "permission": "workspace:read",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {},
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "target": "api",
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/widget",
              "body": null
            },
            "effects": "Reads state through GET /api/widget without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/widget",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.list",
          "title": "List developer apps",
          "description": "List apps owned by the developer workspace.",
          "method": "GET",
          "path": "/api/developer-console/apps",
          "permission": "apps:read",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {},
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by List developer apps.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/developer-console/apps",
              "body": null
            },
            "effects": "Reads state through GET /api/developer-console/apps without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/developer-console/apps",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.create",
          "title": "Create developer app",
          "description": "Create a developer app registration.",
          "method": "POST",
          "path": "/api/developer-console/apps",
          "permission": "apps:write",
          "readOnly": false,
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 2,
                "maxLength": 100
              },
              "description": {
                "type": "string",
                "maxLength": 2000
              },
              "category": {
                "type": "string",
                "maxLength": 80
              },
              "distributionModel": {
                "type": "string",
                "enum": [
                  "marketplace",
                  "organization_internal"
                ]
              },
              "pricingType": {
                "type": "string",
                "enum": [
                  "free",
                  "paid"
                ]
              },
              "version": {
                "type": "string"
              },
              "supportEmail": {
                "type": "string"
              },
              "websiteUrl": {
                "type": "string"
              },
              "demoUrl": {
                "type": "string"
              },
              "repoUrl": {
                "type": "string"
              },
              "notes": {
                "type": "string"
              },
              "monthlyPrice": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "const": ""
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "tags": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "screenshots": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "members": {
                "minItems": 1,
                "maxItems": 12,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "email": {
                      "type": "string",
                      "format": "email",
                      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
                    },
                    "role": {
                      "type": "string",
                      "enum": [
                        "owner",
                        "admin",
                        "developer",
                        "viewer"
                      ]
                    },
                    "name": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "userId": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "addedAt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "email",
                    "role"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "name"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Create developer app.",
            "additionalProperties": true
          },
          "destructive": false,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "name": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/apps",
              "body": {
                "name": "example"
              }
            },
            "effects": "May change state through POST /api/developer-console/apps. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/apps",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.get",
          "title": "Get developer app",
          "description": "Get one developer app registration.",
          "method": "GET",
          "path": "/api/developer-console/apps/{appId}",
          "permission": "apps:read",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "appId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "appId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Get developer app.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "appId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/developer-console/apps/example",
              "body": null
            },
            "effects": "Reads state through GET /api/developer-console/apps/{appId} without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/developer-console/apps/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.update",
          "title": "Update developer app",
          "description": "Update one developer app registration.",
          "method": "PATCH",
          "path": "/api/developer-console/apps/{appId}",
          "permission": "apps:write",
          "readOnly": false,
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "name": {
                "type": "string"
              },
              "description": {
                "type": "string"
              },
              "category": {
                "type": "string"
              },
              "distributionModel": {
                "type": "string",
                "enum": [
                  "marketplace",
                  "organization_internal"
                ]
              },
              "pricingType": {
                "type": "string",
                "enum": [
                  "free",
                  "paid"
                ]
              },
              "version": {
                "type": "string"
              },
              "supportEmail": {
                "type": "string"
              },
              "websiteUrl": {
                "type": "string"
              },
              "demoUrl": {
                "type": "string"
              },
              "repoUrl": {
                "type": "string"
              },
              "notes": {
                "type": "string"
              },
              "monthlyPrice": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "const": ""
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "tags": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "screenshots": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "members": {
                "minItems": 1,
                "maxItems": 12,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "email": {
                      "type": "string",
                      "format": "email",
                      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
                    },
                    "role": {
                      "type": "string",
                      "enum": [
                        "owner",
                        "admin",
                        "developer",
                        "viewer"
                      ]
                    },
                    "name": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "userId": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "addedAt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "email",
                    "role"
                  ],
                  "additionalProperties": false
                }
              },
              "appStatus": {
                "type": "string",
                "enum": [
                  "draft",
                  "configured",
                  "archived"
                ]
              }
            },
            "required": [
              "appId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Update developer app.",
            "additionalProperties": true
          },
          "destructive": false,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "appId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "PATCH",
              "path": "/api/developer-console/apps/example",
              "body": {
                "appId": "example"
              }
            },
            "effects": "May change state through PATCH /api/developer-console/apps/{appId}. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "PATCH /api/developer-console/apps/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.submit",
          "title": "Submit developer app",
          "description": "Submit an app for review.",
          "method": "POST",
          "path": "/api/developer-console/apps/{appId}/submit",
          "permission": "submissions:write",
          "readOnly": false,
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "appId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "appId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Submit developer app.",
            "additionalProperties": true
          },
          "destructive": false,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "appId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/apps/example/submit",
              "body": {
                "appId": "example"
              }
            },
            "effects": "May change state through POST /api/developer-console/apps/{appId}/submit. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/apps/*/submit",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "build_requests.list",
          "title": "List build requests",
          "description": "List developer build requests.",
          "method": "GET",
          "path": "/api/developer-console/build-requests",
          "permission": "requests:read",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {},
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by List build requests.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/developer-console/build-requests",
              "body": null
            },
            "effects": "Reads state through GET /api/developer-console/build-requests without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/developer-console/build-requests",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "build_requests.create",
          "title": "Create build request",
          "description": "Submit a developer build request for a community or company application.",
          "method": "POST",
          "path": "/api/developer-console/build-requests",
          "permission": "requests:write",
          "readOnly": false,
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "requestType": {
                "type": "string",
                "enum": [
                  "community",
                  "company"
                ]
              },
              "title": {
                "type": "string",
                "minLength": 4,
                "maxLength": 140
              },
              "summary": {
                "type": "string",
                "minLength": 20,
                "maxLength": 2000
              },
              "impact": {
                "type": "string",
                "maxLength": 1000
              },
              "budgetContext": {
                "type": "string",
                "maxLength": 500
              }
            },
            "required": [
              "title",
              "summary"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Create build request.",
            "additionalProperties": true
          },
          "destructive": false,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "title": "example",
              "summary": "examplexxxxxxxxxxxxx"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/build-requests",
              "body": {
                "title": "example",
                "summary": "examplexxxxxxxxxxxxx"
              }
            },
            "effects": "May change state through POST /api/developer-console/build-requests. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/build-requests",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "review.submissions.list",
          "title": "List app submissions",
          "description": "List app submissions awaiting review.",
          "method": "GET",
          "path": "/api/developer-console/review/app-submissions",
          "permission": "review:read",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {},
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by List app submissions.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/developer-console/review/app-submissions",
              "body": null
            },
            "effects": "Reads state through GET /api/developer-console/review/app-submissions without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/developer-console/review/app-submissions",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "review.submissions.review",
          "title": "Review app submission",
          "description": "Review an app submission.",
          "method": "POST",
          "path": "/api/developer-console/review/app-submissions/{submissionId}/review",
          "permission": "review:write",
          "readOnly": false,
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "submissionId": {
                "type": "string",
                "minLength": 1
              },
              "status": {
                "type": "string",
                "enum": [
                  "pending",
                  "in_review",
                  "approved",
                  "rejected",
                  "requires_changes"
                ]
              },
              "rejectionReason": {
                "type": "string",
                "maxLength": 1000
              }
            },
            "required": [
              "submissionId",
              "status"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Review app submission.",
            "additionalProperties": true
          },
          "destructive": false,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "submissionId": "example",
              "status": "pending"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/review/app-submissions/example/review",
              "body": {
                "submissionId": "example",
                "status": "pending"
              }
            },
            "effects": "May change state through POST /api/developer-console/review/app-submissions/{submissionId}/review. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/review/app-submissions/*/review",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "catalog.embeddings.sync",
          "title": "Sync catalog embeddings",
          "description": "Process one bounded page of stale, selected, or all catalog application embeddings.",
          "method": "POST",
          "path": "/api/catalog/embeddings",
          "permission": "marketplace:write",
          "readOnly": false,
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "cursor": {
                "type": "string",
                "pattern": "^[A-Za-z0-9_-]{1,256}$"
              },
              "limit": {
                "type": "integer",
                "minimum": 1,
                "maximum": 100
              },
              "all": {
                "type": "boolean"
              },
              "appId": {
                "type": "string",
                "minLength": 1
              }
            },
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "properties": {
              "ok": {
                "type": "boolean"
              },
              "embedded": {
                "type": "integer"
              },
              "failed": {
                "type": "integer"
              },
              "scanned": {
                "type": "integer"
              },
              "page": {
                "type": "object",
                "additionalProperties": true
              }
            },
            "required": [
              "ok",
              "embedded",
              "failed",
              "scanned",
              "page"
            ],
            "additionalProperties": true
          },
          "destructive": false,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "cursor": "2026-01-01",
              "limit": 1,
              "all": true
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/catalog/embeddings",
              "body": {
                "cursor": "2026-01-01",
                "limit": 1,
                "all": true
              }
            },
            "effects": "May change state through POST /api/catalog/embeddings. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/catalog/embeddings",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "catalog.registry.reconcile",
          "title": "Reconcile catalog registry projection",
          "description": "Republish one developer application into the public catalog projection.",
          "method": "POST",
          "path": "/api/internal/registry-reconcile",
          "permission": "marketplace:write",
          "readOnly": false,
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "appId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "appId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "properties": {
              "source": {
                "type": "string",
                "const": "developer-apps"
              },
              "operation": {
                "type": "string",
                "const": "registry-reconcile"
              },
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "total": {
                "type": "integer",
                "minimum": 0,
                "maximum": 1
              },
              "published": {
                "type": "integer",
                "minimum": 0,
                "maximum": 1
              },
              "skipped": {
                "type": "integer",
                "minimum": 0,
                "maximum": 1
              },
              "skippedAppIds": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "maxItems": 1
              },
              "failed": {
                "type": "integer",
                "minimum": 0,
                "maximum": 1
              },
              "failures": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "appId": {
                      "type": "string"
                    },
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "appId",
                    "error"
                  ],
                  "additionalProperties": false
                },
                "maxItems": 1
              },
              "page": {
                "type": "object",
                "properties": {
                  "nextCursor": {
                    "type": "null"
                  },
                  "hasMore": {
                    "type": "boolean",
                    "const": false
                  }
                },
                "required": [
                  "nextCursor",
                  "hasMore"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "source",
              "operation",
              "appId",
              "total",
              "published",
              "skipped",
              "skippedAppIds",
              "failed",
              "failures",
              "page"
            ],
            "additionalProperties": false
          },
          "destructive": false,
          "agentAccess": "confirm",
          "authorizationMode": "static",
          "agentContract": {
            "docsUrl": "https://docs.topolo.app/reference/actions?service=topolo-developers&action=catalog.registry.reconcile",
            "resource": {
              "kind": "catalog_application",
              "idPath": "$.appId"
            },
            "effects": [
              "Republishes the current developer application metadata into the public catalog projection for exactly one app."
            ],
            "examples": [
              {
                "input": {
                  "appId": "app_topolo_example"
                }
              }
            ],
            "errors": [
              {
                "status": 401,
                "code": "authentication_required",
                "recovery": "Authenticate again with the intended Topolo environment."
              },
              {
                "status": 403,
                "code": "permission_denied",
                "recovery": "Use a credential with marketplace:write permission for Topolo Developers."
              },
              {
                "status": 422,
                "code": "invalid_input",
                "recovery": "Provide exactly one non-empty appId and validate the action before retrying."
              },
              {
                "status": 502,
                "code": "registry_reconcile_failed",
                "recovery": "Inspect the returned failure for the selected app, correct its source metadata, and retry the unchanged appId."
              }
            ],
            "verify": [
              "Call app_topolo_developers.catalog.search with q equal to the appId and confirm the returned catalog entry matches the current developer application metadata."
            ],
            "nextActionIds": [
              "app_topolo_developers.catalog.search"
            ]
          },
          "documentation": {
            "example_input": {
              "appId": "app_topolo_example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/internal/registry-reconcile",
              "body": {
                "appId": "app_topolo_example"
              }
            },
            "effects": "Republishes the current developer application metadata into the public catalog projection for exactly one app.",
            "verification": [
              "Call app_topolo_developers.catalog.search with q equal to the appId and confirm the returned catalog entry matches the current developer application metadata."
            ],
            "recovery": [
              "401 authentication_required: Authenticate again with the intended Topolo environment.",
              "403 permission_denied: Use a credential with marketplace:write permission for Topolo Developers.",
              "422 invalid_input: Provide exactly one non-empty appId and validate the action before retrying.",
              "502 registry_reconcile_failed: Inspect the returned failure for the selected app, correct its source metadata, and retry the unchanged appId."
            ],
            "docs_url": "https://docs.topolo.app/reference/actions?service=topolo-developers&action=catalog.registry.reconcile",
            "resource": {
              "kind": "catalog_application",
              "idPath": "$.appId"
            },
            "next_action_ids": [
              "app_topolo_developers.catalog.search"
            ],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/internal/registry-reconcile",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "notifications.catalog.list",
          "title": "List notification contracts",
          "description": "Search the app-owned notification event and projection catalog.",
          "method": "GET",
          "path": "/api/catalog/notifications",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "q": {
                "type": "string"
              },
              "app": {
                "type": "string"
              },
              "status": {
                "type": "string",
                "enum": [
                  "draft",
                  "published",
                  "deprecated"
                ]
              },
              "deliveryClass": {
                "type": "string",
                "enum": [
                  "automation",
                  "notification",
                  "action",
                  "transactional"
                ]
              },
              "limit": {
                "type": "integer",
                "minimum": 1,
                "maximum": 100
              },
              "cursor": {
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "required": [
              "notifications",
              "count",
              "page"
            ],
            "properties": {
              "notifications": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true
                }
              },
              "count": {
                "type": "integer"
              },
              "page": {
                "type": "object",
                "additionalProperties": true
              }
            },
            "additionalProperties": false
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "authorizationMode": "public",
          "documentation": {
            "example_input": {
              "q": "example",
              "app": "example",
              "status": "draft"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/catalog/notifications",
              "body": null
            },
            "effects": "Reads state through GET /api/catalog/notifications without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/catalog/notifications",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "catalog.search",
          "title": "Search app catalog",
          "description": "Search the live app catalog.",
          "method": "GET",
          "path": "/api/catalog/search",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "q": {
                "type": "string"
              },
              "limit": {
                "type": "integer",
                "minimum": 1,
                "maximum": 40
              }
            },
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Search app catalog.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "authorizationMode": "public",
          "documentation": {
            "example_input": {
              "q": "example",
              "limit": 1
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/catalog/search",
              "body": null
            },
            "effects": "Reads state through GET /api/catalog/search without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/catalog/search",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "workspace.summary.get",
          "title": "workspace summary get",
          "description": "Execute workspace.summary.get in Topolo Developers.",
          "target": "api",
          "method": "GET",
          "path": "/api/developer-console/summary",
          "permission": "apps:read",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {},
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": true,
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/developer-console/summary",
              "body": null
            },
            "effects": "Reads state through GET /api/developer-console/summary without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/developer-console/summary",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "workspace.onboarding.get",
          "title": "workspace onboarding get",
          "description": "Execute workspace.onboarding.get in Topolo Developers.",
          "target": "api",
          "method": "GET",
          "path": "/api/developer-console/onboarding",
          "permission": "apps:read",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {},
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": true,
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/developer-console/onboarding",
              "body": null
            },
            "effects": "Reads state through GET /api/developer-console/onboarding without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/developer-console/onboarding",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "workspace.onboarding.update",
          "title": "workspace onboarding update",
          "description": "Execute workspace.onboarding.update in Topolo Developers.",
          "target": "api",
          "method": "PUT",
          "path": "/api/developer-console/onboarding",
          "permission": "apps:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {},
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "action": "example",
              "apiKeyResources": "example",
              "appDir": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "PUT",
              "path": "/api/developer-console/onboarding",
              "body": {
                "action": "example",
                "apiKeyResources": "example",
                "appDir": "example"
              }
            },
            "effects": "May change state through PUT /api/developer-console/onboarding. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "PUT /api/developer-console/onboarding",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.scaffold",
          "title": "apps scaffold",
          "description": "Execute apps.scaffold in Topolo Developers.",
          "target": "api",
          "method": "POST",
          "path": "/api/developer-console/apps/scaffold",
          "permission": "apps:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {},
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "action": "example",
              "apiKeyResources": "example",
              "appDir": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/apps/scaffold",
              "body": {
                "action": "example",
                "apiKeyResources": "example",
                "appDir": "example"
              }
            },
            "effects": "May change state through POST /api/developer-console/apps/scaffold. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/apps/scaffold",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.reconcile",
          "title": "Reconcile application registration",
          "description": "Check or apply a declarative third-party application registration for the authenticated developer organization.",
          "target": "api",
          "method": "POST",
          "path": "/api/developer-console/apps/reconcile",
          "permission": "apps:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {},
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {},
              "mode": {
                "type": "string",
                "enum": [
                  "check",
                  "apply"
                ]
              },
              "healthcheckPath": {},
              "callbackUrls": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "requestedScopes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "capabilities": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "marketplace": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              },
              "notifications": {
                "anyOf": [
                  {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {}
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "actions": {
                "type": "array",
                "maxItems": 250,
                "items": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                }
              }
            },
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "action": "example",
              "apiKeyResources": "example",
              "appDir": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/apps/reconcile",
              "body": {
                "action": "example",
                "apiKeyResources": "example",
                "appDir": "example"
              }
            },
            "effects": "May change state through POST /api/developer-console/apps/reconcile. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/apps/reconcile",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.claim_transfer",
          "title": "apps claim transfer",
          "description": "Execute apps.claim_transfer in Topolo Developers.",
          "target": "api",
          "method": "POST",
          "path": "/api/developer-console/apps/claim-transfer",
          "permission": "apps:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {},
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "action": "example",
              "apiKeyResources": "example",
              "appDir": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/apps/claim-transfer",
              "body": {
                "action": "example",
                "apiKeyResources": "example",
                "appDir": "example"
              }
            },
            "effects": "May change state through POST /api/developer-console/apps/claim-transfer. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/apps/claim-transfer",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.transfer",
          "title": "apps transfer",
          "description": "Execute apps.transfer in Topolo Developers.",
          "target": "api",
          "method": "POST",
          "path": "/api/developer-console/apps/{appId}/transfer",
          "permission": "apps:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "required": [
              "appId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "appId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/apps/example/transfer",
              "body": {
                "appId": "example"
              }
            },
            "effects": "May change state through POST /api/developer-console/apps/{appId}/transfer. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/apps/*/transfer",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.icon.upload",
          "title": "apps icon upload",
          "description": "Execute apps.icon.upload in Topolo Developers.",
          "target": "api",
          "method": "POST",
          "path": "/api/developer-console/apps/{appId}/icon",
          "permission": "apps:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "contentBase64": {
                "type": "string",
                "minLength": 1,
                "maxLength": 350000
              },
              "contentType": {
                "type": "string",
                "enum": [
                  "image/svg+xml",
                  "image/png",
                  "image/jpeg",
                  "image/webp"
                ]
              },
              "fileName": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "appId",
              "contentBase64",
              "contentType",
              "fileName"
            ],
            "additionalProperties": false
          },
          "agentContract": {
            "upload": {
              "profile": "inline-base64",
              "contentField": "contentBase64",
              "contentTypeField": "contentType",
              "fileNameField": "fileName",
              "maxBytes": 262144,
              "acceptedContentTypes": [
                "image/svg+xml",
                "image/png",
                "image/jpeg",
                "image/webp"
              ]
            }
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "appId": "example",
              "contentBase64": "example",
              "contentType": "image/svg+xml",
              "fileName": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/apps/example/icon",
              "body": {
                "appId": "example",
                "contentBase64": "example",
                "contentType": "image/svg+xml",
                "fileName": "example"
              }
            },
            "effects": "May change state through POST /api/developer-console/apps/{appId}/icon. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/apps/*/icon",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.marketing.get",
          "title": "apps marketing get",
          "description": "Execute apps.marketing.get in Topolo Developers.",
          "target": "api",
          "method": "GET",
          "path": "/api/developer-console/apps/{appId}/marketing",
          "permission": "apps:read",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "required": [
              "appId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": true,
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "appId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/developer-console/apps/example/marketing",
              "body": null
            },
            "effects": "Reads state through GET /api/developer-console/apps/{appId}/marketing without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/developer-console/apps/*/marketing",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.marketing.update",
          "title": "apps marketing update",
          "description": "Execute apps.marketing.update in Topolo Developers.",
          "target": "api",
          "method": "PUT",
          "path": "/api/developer-console/apps/{appId}/marketing",
          "permission": "apps:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {
                "type": "string",
                "minLength": 130,
                "maxLength": 200
              },
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroMedia": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "image",
                      "video"
                    ]
                  },
                  "src": {
                    "type": "string",
                    "format": "uri"
                  },
                  "alt": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 240
                  },
                  "poster": {
                    "type": "string",
                    "format": "uri"
                  },
                  "caption": {
                    "type": "string",
                    "maxLength": 400
                  }
                },
                "required": [
                  "type",
                  "src",
                  "alt"
                ],
                "additionalProperties": false
              },
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {
                "type": "string",
                "enum": [
                  "active",
                  "preview",
                  "platform",
                  "community"
                ]
              },
              "subcategory": {
                "type": "string"
              },
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {},
              "marketplaceCategory": {
                "type": "string"
              },
              "stageLabel": {
                "type": "string"
              },
              "surface": {
                "type": "string"
              },
              "shortBlurb": {
                "type": "string"
              },
              "tagline": {
                "type": "string"
              },
              "problemStatement": {
                "type": "string"
              },
              "solutionStatement": {
                "type": "string"
              },
              "docsUrl": {
                "type": "string"
              },
              "appUrl": {
                "type": "string"
              },
              "gallery": {
                "maxItems": 20,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "image",
                        "video"
                      ]
                    },
                    "src": {
                      "type": "string",
                      "format": "uri"
                    },
                    "alt": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 240
                    },
                    "poster": {
                      "type": "string",
                      "format": "uri"
                    },
                    "caption": {
                      "type": "string",
                      "maxLength": 400
                    }
                  },
                  "required": [
                    "type",
                    "src",
                    "alt"
                  ],
                  "additionalProperties": false
                }
              },
              "benefits": {},
              "features": {},
              "stats": {},
              "gettingStarted": {},
              "worksWellWith": {}
            },
            "required": [
              "appId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "appId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "PUT",
              "path": "/api/developer-console/apps/example/marketing",
              "body": {
                "appId": "example"
              }
            },
            "effects": "May change state through PUT /api/developer-console/apps/{appId}/marketing. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "PUT /api/developer-console/apps/*/marketing",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.mobile_artifacts.list",
          "title": "apps mobile artifacts list",
          "description": "Execute apps.mobile_artifacts.list in Topolo Developers.",
          "target": "api",
          "method": "GET",
          "path": "/api/developer-console/apps/{appId}/mobile-artifacts",
          "permission": "apps:read",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "required": [
              "appId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": true,
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "appId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/developer-console/apps/example/mobile-artifacts",
              "body": null
            },
            "effects": "Reads state through GET /api/developer-console/apps/{appId}/mobile-artifacts without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/developer-console/apps/*/mobile-artifacts",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.mobile_artifacts.create",
          "title": "apps mobile artifacts create",
          "description": "Execute apps.mobile_artifacts.create in Topolo Developers.",
          "target": "api",
          "method": "POST",
          "path": "/api/developer-console/apps/{appId}/mobile-artifacts",
          "permission": "apps:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "platform": {
                "type": "string",
                "enum": [
                  "android",
                  "ios"
                ]
              },
              "releaseTrack": {
                "type": "string",
                "minLength": 1,
                "maxLength": 60
              },
              "packageName": {
                "type": "string",
                "minLength": 1
              },
              "bundleId": {
                "type": "string",
                "minLength": 1
              },
              "versionName": {
                "type": "string",
                "minLength": 1,
                "maxLength": 40
              },
              "buildNumber": {
                "type": "string",
                "minLength": 1,
                "maxLength": 40
              },
              "artifactType": {
                "type": "string",
                "enum": [
                  "metadata",
                  "apk",
                  "aab",
                  "ipa",
                  "app_store",
                  "testflight"
                ]
              },
              "artifactUrl": {
                "type": "string",
                "format": "uri"
              },
              "checksumSha256": {
                "type": "string",
                "pattern": "^[a-f0-9]{64}$"
              },
              "status": {
                "type": "string",
                "enum": [
                  "draft",
                  "submitted",
                  "approved",
                  "published",
                  "retired"
                ]
              },
              "minimumOsVersion": {
                "type": "string",
                "minLength": 1,
                "maxLength": 40
              },
              "supportedDeviceClasses": {
                "maxItems": 8,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "distributionChannel": {
                "type": "string",
                "minLength": 1,
                "maxLength": 60
              },
              "catalogCategory": {
                "type": "string",
                "enum": [
                  "system-apps",
                  "topolo-store",
                  "topolo-apps",
                  "apkList"
                ]
              },
              "metadata": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              }
            },
            "required": [
              "appId",
              "platform",
              "versionName",
              "artifactType"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "appId": "example",
              "platform": "android",
              "versionName": "example",
              "artifactType": "metadata"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/apps/example/mobile-artifacts",
              "body": {
                "appId": "example",
                "platform": "android",
                "versionName": "example",
                "artifactType": "metadata"
              }
            },
            "effects": "May change state through POST /api/developer-console/apps/{appId}/mobile-artifacts. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/apps/*/mobile-artifacts",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.native_mobile_experience.update",
          "title": "apps native mobile experience update",
          "description": "Execute apps.native_mobile_experience.update in Topolo Developers.",
          "target": "api",
          "method": "PUT",
          "path": "/api/developer-console/apps/{appId}/native-mobile-experience",
          "permission": "apps:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "required": [
              "appId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "appId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "PUT",
              "path": "/api/developer-console/apps/example/native-mobile-experience",
              "body": {
                "appId": "example"
              }
            },
            "effects": "May change state through PUT /api/developer-console/apps/{appId}/native-mobile-experience. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "PUT /api/developer-console/apps/*/native-mobile-experience",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.native_mobile_experience.delete",
          "title": "apps native mobile experience delete",
          "description": "Execute apps.native_mobile_experience.delete in Topolo Developers.",
          "target": "api",
          "method": "DELETE",
          "path": "/api/developer-console/apps/{appId}/native-mobile-experience",
          "permission": "apps:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "required": [
              "appId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": true,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "appId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "DELETE",
              "path": "/api/developer-console/apps/example/native-mobile-experience",
              "body": null
            },
            "effects": "May change state through DELETE /api/developer-console/apps/{appId}/native-mobile-experience. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "DELETE /api/developer-console/apps/*/native-mobile-experience",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.actions.list",
          "title": "apps actions list",
          "description": "Execute apps.actions.list in Topolo Developers.",
          "target": "api",
          "method": "GET",
          "path": "/api/developer-console/apps/{appId}/actions",
          "permission": "apps:read",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "required": [
              "appId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": true,
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "appId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/developer-console/apps/example/actions",
              "body": null
            },
            "effects": "Reads state through GET /api/developer-console/apps/{appId}/actions without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/developer-console/apps/*/actions",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.actions.create",
          "title": "apps actions create",
          "description": "Execute apps.actions.create in Topolo Developers.",
          "target": "api",
          "method": "POST",
          "path": "/api/developer-console/apps/{appId}/actions",
          "permission": "apps:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "required": [
              "appId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "appId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/apps/example/actions",
              "body": {
                "appId": "example"
              }
            },
            "effects": "May change state through POST /api/developer-console/apps/{appId}/actions. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/apps/*/actions",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.actions.publish",
          "title": "apps actions publish",
          "description": "Execute apps.actions.publish in Topolo Developers.",
          "target": "api",
          "method": "POST",
          "path": "/api/developer-console/apps/{appId}/actions/{actionId}/publish",
          "permission": "apps:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {
                "type": "string",
                "minLength": 1
              },
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "required": [
              "appId",
              "actionId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "appId": "example",
              "actionId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/apps/example/actions/example/publish",
              "body": {
                "appId": "example",
                "actionId": "example"
              }
            },
            "effects": "May change state through POST /api/developer-console/apps/{appId}/actions/{actionId}/publish. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/apps/*/actions/*/publish",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.api_key_resources.list",
          "title": "apps api key resources list",
          "description": "Execute apps.api_key_resources.list in Topolo Developers.",
          "target": "api",
          "method": "GET",
          "path": "/api/developer-console/apps/{appId}/api-key-resources",
          "permission": "apps:read",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "required": [
              "appId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": true,
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "appId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/developer-console/apps/example/api-key-resources",
              "body": null
            },
            "effects": "Reads state through GET /api/developer-console/apps/{appId}/api-key-resources without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/developer-console/apps/*/api-key-resources",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.api_key_resources.update",
          "title": "apps api key resources update",
          "description": "Execute apps.api_key_resources.update in Topolo Developers.",
          "target": "api",
          "method": "PUT",
          "path": "/api/developer-console/apps/{appId}/api-key-resources",
          "permission": "apps:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "required": [
              "appId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "appId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "PUT",
              "path": "/api/developer-console/apps/example/api-key-resources",
              "body": {
                "appId": "example"
              }
            },
            "effects": "May change state through PUT /api/developer-console/apps/{appId}/api-key-resources. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "PUT /api/developer-console/apps/*/api-key-resources",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.api_key_resources.publish",
          "title": "apps api key resources publish",
          "description": "Execute apps.api_key_resources.publish in Topolo Developers.",
          "target": "api",
          "method": "POST",
          "path": "/api/developer-console/apps/{appId}/api-key-resources/publish",
          "permission": "apps:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "required": [
              "appId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "appId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/apps/example/api-key-resources/publish",
              "body": {
                "appId": "example"
              }
            },
            "effects": "May change state through POST /api/developer-console/apps/{appId}/api-key-resources/publish. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/apps/*/api-key-resources/publish",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.p2p_capabilities.list",
          "title": "apps p2p capabilities list",
          "description": "Execute apps.p2p_capabilities.list in Topolo Developers.",
          "target": "api",
          "method": "GET",
          "path": "/api/developer-console/apps/{appId}/p2p-capabilities",
          "permission": "apps:read",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "required": [
              "appId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": true,
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "appId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/developer-console/apps/example/p2p-capabilities",
              "body": null
            },
            "effects": "Reads state through GET /api/developer-console/apps/{appId}/p2p-capabilities without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/developer-console/apps/*/p2p-capabilities",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.p2p_capabilities.create",
          "title": "apps p2p capabilities create",
          "description": "Execute apps.p2p_capabilities.create in Topolo Developers.",
          "target": "api",
          "method": "POST",
          "path": "/api/developer-console/apps/{appId}/p2p-capabilities",
          "permission": "apps:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {},
              "pricingModel": {},
              "pricingAmountMinor": {},
              "currency": {},
              "supportedContexts": {},
              "trustLevel": {}
            },
            "required": [
              "appId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "appId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/apps/example/p2p-capabilities",
              "body": {
                "appId": "example"
              }
            },
            "effects": "May change state through POST /api/developer-console/apps/{appId}/p2p-capabilities. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/apps/*/p2p-capabilities",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.p2p_capabilities.update",
          "title": "apps p2p capabilities update",
          "description": "Execute apps.p2p_capabilities.update in Topolo Developers.",
          "target": "api",
          "method": "PUT",
          "path": "/api/developer-console/apps/{appId}/p2p-capabilities/{capabilityId}",
          "permission": "apps:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {
                "type": "string",
                "minLength": 1
              },
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {},
              "pricingModel": {},
              "pricingAmountMinor": {},
              "currency": {},
              "supportedContexts": {},
              "trustLevel": {}
            },
            "required": [
              "appId",
              "capabilityId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "appId": "example",
              "capabilityId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "PUT",
              "path": "/api/developer-console/apps/example/p2p-capabilities/example",
              "body": {
                "appId": "example",
                "capabilityId": "example"
              }
            },
            "effects": "May change state through PUT /api/developer-console/apps/{appId}/p2p-capabilities/{capabilityId}. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "PUT /api/developer-console/apps/*/p2p-capabilities/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.p2p_capabilities.sync",
          "title": "apps p2p capabilities sync",
          "description": "Execute apps.p2p_capabilities.sync in Topolo Developers.",
          "target": "api",
          "method": "POST",
          "path": "/api/developer-console/apps/{appId}/p2p-capabilities/{capabilityId}/sync",
          "permission": "apps:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {
                "type": "string",
                "minLength": 1
              },
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "required": [
              "appId",
              "capabilityId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "appId": "example",
              "capabilityId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/apps/example/p2p-capabilities/example/sync",
              "body": {
                "appId": "example",
                "capabilityId": "example"
              }
            },
            "effects": "May change state through POST /api/developer-console/apps/{appId}/p2p-capabilities/{capabilityId}/sync. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/apps/*/p2p-capabilities/*/sync",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "review.build_requests.list",
          "title": "review build requests list",
          "description": "Execute review.build_requests.list in Topolo Developers.",
          "target": "api",
          "method": "GET",
          "path": "/api/developer-console/review/build-requests",
          "permission": "review:read",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {},
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": true,
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/developer-console/review/build-requests",
              "body": null
            },
            "effects": "Reads state through GET /api/developer-console/review/build-requests without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/developer-console/review/build-requests",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "review.build_requests.review",
          "title": "review build requests review",
          "description": "Execute review.build_requests.review in Topolo Developers.",
          "target": "api",
          "method": "POST",
          "path": "/api/developer-console/review/build-requests/{requestId}/review",
          "permission": "review:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {},
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {
                "type": "string",
                "minLength": 1
              },
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "required": [
              "requestId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "requestId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/review/build-requests/example/review",
              "body": {
                "requestId": "example"
              }
            },
            "effects": "May change state through POST /api/developer-console/review/build-requests/{requestId}/review. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/review/build-requests/*/review",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "admin.marketplace.summary.get",
          "title": "admin marketplace summary get",
          "description": "Execute admin.marketplace.summary.get in Topolo Developers.",
          "target": "api",
          "method": "GET",
          "path": "/api/developer-console/admin/marketplace/summary",
          "permission": "marketplace:read",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "limit": {
                "type": "integer",
                "minimum": 1,
                "maximum": 100
              },
              "developersCursor": {
                "type": "string"
              },
              "appsCursor": {
                "type": "string"
              },
              "payoutAccountsCursor": {
                "type": "string"
              },
              "payoutEventsCursor": {
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": true,
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "off",
          "documentation": {
            "example_input": {
              "limit": 1,
              "developersCursor": "example",
              "appsCursor": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/developer-console/admin/marketplace/summary",
              "body": null
            },
            "effects": "Reads state through GET /api/developer-console/admin/marketplace/summary without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/developer-console/admin/marketplace/summary",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "admin.developers.update",
          "title": "admin developers update",
          "description": "Execute admin.developers.update in Topolo Developers.",
          "target": "api",
          "method": "PUT",
          "path": "/api/developer-console/admin/developers/{developerId}",
          "permission": "marketplace:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {},
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {
                "type": "string",
                "minLength": 1
              },
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {},
              "reviewState": {}
            },
            "required": [
              "developerId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "off",
          "documentation": {
            "example_input": {
              "developerId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "PUT",
              "path": "/api/developer-console/admin/developers/example",
              "body": {
                "developerId": "example"
              }
            },
            "effects": "May change state through PUT /api/developer-console/admin/developers/{developerId}. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "PUT /api/developer-console/admin/developers/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "admin.platform_app_scaffolds.create",
          "title": "admin platform app scaffolds create",
          "description": "Execute admin.platform_app_scaffolds.create in Topolo Developers.",
          "target": "api",
          "method": "POST",
          "path": "/api/developer-console/admin/platform-app-scaffolds",
          "permission": "apps:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {},
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "off",
          "documentation": {
            "example_input": {
              "action": "example",
              "apiKeyResources": "example",
              "appDir": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/admin/platform-app-scaffolds",
              "body": {
                "action": "example",
                "apiKeyResources": "example",
                "appDir": "example"
              }
            },
            "effects": "May change state through POST /api/developer-console/admin/platform-app-scaffolds. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/admin/platform-app-scaffolds",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "admin.first_party_app_scaffolds.create",
          "title": "admin first party app scaffolds create",
          "description": "Execute admin.first_party_app_scaffolds.create in Topolo Developers.",
          "target": "api",
          "method": "POST",
          "path": "/api/developer-console/admin/first-party-app-scaffolds",
          "permission": "apps:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {},
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "off",
          "documentation": {
            "example_input": {
              "action": "example",
              "apiKeyResources": "example",
              "appDir": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/admin/first-party-app-scaffolds",
              "body": {
                "action": "example",
                "apiKeyResources": "example",
                "appDir": "example"
              }
            },
            "effects": "May change state through POST /api/developer-console/admin/first-party-app-scaffolds. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/admin/first-party-app-scaffolds",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "admin.apps.reconcile",
          "title": "Reconcile first-party application registration",
          "description": "Check or apply a declarative first-party application registration and its catalog and Auth projections.",
          "target": "api",
          "method": "POST",
          "path": "/api/developer-console/admin/apps/reconcile",
          "permission": "apps:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {},
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {},
              "mode": {
                "type": "string",
                "enum": [
                  "check",
                  "apply"
                ]
              },
              "healthcheckPath": {},
              "callbackUrls": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "requestedScopes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "capabilities": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "marketplace": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              },
              "notifications": {
                "anyOf": [
                  {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {}
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "actions": {
                "type": "array",
                "maxItems": 250,
                "items": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                }
              }
            },
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "off",
          "documentation": {
            "example_input": {
              "action": "example",
              "apiKeyResources": "example",
              "appDir": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/admin/apps/reconcile",
              "body": {
                "action": "example",
                "apiKeyResources": "example",
                "appDir": "example"
              }
            },
            "effects": "May change state through POST /api/developer-console/admin/apps/reconcile. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/admin/apps/reconcile",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "admin.apps.catalog_projection.delete",
          "title": "Retire orphan application catalog registration",
          "description": "Archive an exactly matched orphan developer application when explicitly requested, then permanently remove its public catalog directory row and per-app manifest partition.",
          "target": "api",
          "method": "DELETE",
          "path": "/api/developer-console/admin/apps/{appId}/catalog-projection",
          "permission": "apps:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "expectedSlug": {
                "type": "string",
                "minLength": 1
              },
              "archiveActive": {
                "description": "Must be true to archive a matching active developer application before its public catalog projection is removed.",
                "type": "boolean"
              }
            },
            "required": [
              "appId",
              "expectedSlug"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": true,
          "requiresConfirmation": true,
          "agentAccess": "off",
          "documentation": {
            "example_input": {
              "appId": "example",
              "expectedSlug": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "DELETE",
              "path": "/api/developer-console/admin/apps/example/catalog-projection",
              "body": null
            },
            "effects": "May change state through DELETE /api/developer-console/admin/apps/{appId}/catalog-projection. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "DELETE /api/developer-console/admin/apps/*/catalog-projection",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "admin.apps.marketing.update",
          "title": "admin apps marketing update",
          "description": "Execute admin.apps.marketing.update in Topolo Developers.",
          "target": "api",
          "method": "PUT",
          "path": "/api/developer-console/admin/apps/{appId}/marketing",
          "permission": "marketplace:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {
                "type": "string",
                "minLength": 130,
                "maxLength": 200
              },
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroMedia": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "image",
                      "video"
                    ]
                  },
                  "src": {
                    "type": "string",
                    "format": "uri"
                  },
                  "alt": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 240
                  },
                  "poster": {
                    "type": "string",
                    "format": "uri"
                  },
                  "caption": {
                    "type": "string",
                    "maxLength": 400
                  }
                },
                "required": [
                  "type",
                  "src",
                  "alt"
                ],
                "additionalProperties": false
              },
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {
                "type": "string",
                "enum": [
                  "active",
                  "preview",
                  "platform",
                  "community"
                ]
              },
              "subcategory": {
                "type": "string"
              },
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {},
              "marketplaceCategory": {
                "type": "string"
              },
              "stageLabel": {
                "type": "string"
              },
              "surface": {
                "type": "string"
              },
              "shortBlurb": {
                "type": "string"
              },
              "tagline": {
                "type": "string"
              },
              "problemStatement": {
                "type": "string"
              },
              "solutionStatement": {
                "type": "string"
              },
              "docsUrl": {
                "type": "string"
              },
              "appUrl": {
                "type": "string"
              },
              "gallery": {
                "maxItems": 20,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "image",
                        "video"
                      ]
                    },
                    "src": {
                      "type": "string",
                      "format": "uri"
                    },
                    "alt": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 240
                    },
                    "poster": {
                      "type": "string",
                      "format": "uri"
                    },
                    "caption": {
                      "type": "string",
                      "maxLength": 400
                    }
                  },
                  "required": [
                    "type",
                    "src",
                    "alt"
                  ],
                  "additionalProperties": false
                }
              },
              "benefits": {},
              "features": {},
              "stats": {},
              "gettingStarted": {},
              "worksWellWith": {}
            },
            "required": [
              "appId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "off",
          "documentation": {
            "example_input": {
              "appId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "PUT",
              "path": "/api/developer-console/admin/apps/example/marketing",
              "body": {
                "appId": "example"
              }
            },
            "effects": "May change state through PUT /api/developer-console/admin/apps/{appId}/marketing. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "PUT /api/developer-console/admin/apps/*/marketing",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "admin.apps.marketplace.update",
          "title": "admin apps marketplace update",
          "description": "Execute admin.apps.marketplace.update in Topolo Developers.",
          "target": "api",
          "method": "PUT",
          "path": "/api/developer-console/admin/apps/{appId}/marketplace",
          "permission": "marketplace:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "const": ""
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {
                "type": "string",
                "enum": [
                  "included",
                  "free",
                  "paid",
                  "request",
                  "external"
                ]
              },
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {},
              "currency": {
                "type": "string",
                "minLength": 3,
                "maxLength": 3
              },
              "billingInterval": {
                "type": "string",
                "enum": [
                  "monthly",
                  "annual",
                  "one_time"
                ]
              },
              "priceLabel": {
                "type": "string",
                "maxLength": 80
              },
              "catalogListingState": {
                "type": "string",
                "enum": [
                  "draft",
                  "developer_only",
                  "internal",
                  "unlisted",
                  "public",
                  "retired"
                ]
              },
              "runtimeState": {
                "type": "string",
                "enum": [
                  "healthy",
                  "disabled",
                  "sunset"
                ]
              },
              "checkoutStatus": {
                "type": "string",
                "enum": [
                  "not_configured",
                  "ready",
                  "blocked"
                ]
              },
              "platformFeeBps": {
                "type": "integer",
                "minimum": 0,
                "maximum": 10000
              }
            },
            "required": [
              "appId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "off",
          "documentation": {
            "example_input": {
              "appId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "PUT",
              "path": "/api/developer-console/admin/apps/example/marketplace",
              "body": {
                "appId": "example"
              }
            },
            "effects": "May change state through PUT /api/developer-console/admin/apps/{appId}/marketplace. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "PUT /api/developer-console/admin/apps/*/marketplace",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "admin.payout_accounts.update",
          "title": "admin payout accounts update",
          "description": "Execute admin.payout_accounts.update in Topolo Developers.",
          "target": "api",
          "method": "PUT",
          "path": "/api/developer-console/admin/payout-accounts/{developerId}",
          "permission": "marketplace:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {},
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {
                "type": "string",
                "minLength": 1
              },
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {},
              "provider": {},
              "accountReference": {},
              "defaultCurrency": {},
              "payoutSchedule": {}
            },
            "required": [
              "developerId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "off",
          "documentation": {
            "example_input": {
              "developerId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "PUT",
              "path": "/api/developer-console/admin/payout-accounts/example",
              "body": {
                "developerId": "example"
              }
            },
            "effects": "May change state through PUT /api/developer-console/admin/payout-accounts/{developerId}. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "PUT /api/developer-console/admin/payout-accounts/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "admin.payout_events.create",
          "title": "admin payout events create",
          "description": "Execute admin.payout_events.create in Topolo Developers.",
          "target": "api",
          "method": "POST",
          "path": "/api/developer-console/admin/payout-events",
          "permission": "marketplace:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {},
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {},
              "eventType": {},
              "amount": {},
              "currency": {}
            },
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "off",
          "documentation": {
            "example_input": {
              "action": "example",
              "apiKeyResources": "example",
              "appDir": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/admin/payout-events",
              "body": {
                "action": "example",
                "apiKeyResources": "example",
                "appDir": "example"
              }
            },
            "effects": "May change state through POST /api/developer-console/admin/payout-events. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/admin/payout-events",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "admin.catalog.get",
          "title": "admin catalog get",
          "description": "Execute admin.catalog.get in Topolo Developers.",
          "target": "api",
          "method": "GET",
          "path": "/api/developer-console/admin/catalog",
          "permission": "marketplace:read",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "resource": {
                "type": "string",
                "enum": [
                  "collections",
                  "apps"
                ]
              },
              "cursor": {
                "type": "string"
              },
              "limit": {
                "type": "integer",
                "minimum": 1,
                "maximum": 100
              },
              "query": {
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": true,
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "off",
          "documentation": {
            "example_input": {
              "resource": "collections",
              "cursor": "example",
              "limit": 1
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/developer-console/admin/catalog",
              "body": null
            },
            "effects": "Reads state through GET /api/developer-console/admin/catalog without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/developer-console/admin/catalog",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "admin.catalog.collections.create",
          "title": "admin catalog collections create",
          "description": "Execute admin.catalog.collections.create in Topolo Developers.",
          "target": "api",
          "method": "POST",
          "path": "/api/developer-console/admin/catalog/collections",
          "permission": "marketplace:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {},
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {},
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "off",
          "documentation": {
            "example_input": {
              "action": "example",
              "apiKeyResources": "example",
              "appDir": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/admin/catalog/collections",
              "body": {
                "action": "example",
                "apiKeyResources": "example",
                "appDir": "example"
              }
            },
            "effects": "May change state through POST /api/developer-console/admin/catalog/collections. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/admin/catalog/collections",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "admin.catalog.collections.update",
          "title": "admin catalog collections update",
          "description": "Execute admin.catalog.collections.update in Topolo Developers.",
          "target": "api",
          "method": "PUT",
          "path": "/api/developer-console/admin/catalog/collections/{collectionId}",
          "permission": "marketplace:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {},
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {
                "type": "string",
                "minLength": 1
              },
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "required": [
              "collectionId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "off",
          "documentation": {
            "example_input": {
              "collectionId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "PUT",
              "path": "/api/developer-console/admin/catalog/collections/example",
              "body": {
                "collectionId": "example"
              }
            },
            "effects": "May change state through PUT /api/developer-console/admin/catalog/collections/{collectionId}. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "PUT /api/developer-console/admin/catalog/collections/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "admin.catalog.collections.apps.list",
          "title": "admin catalog collections apps list",
          "description": "Execute admin.catalog.collections.apps.list in Topolo Developers.",
          "target": "api",
          "method": "GET",
          "path": "/api/developer-console/admin/catalog/collections/{collectionId}/apps",
          "permission": "marketplace:read",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "collectionId": {
                "type": "string",
                "minLength": 1
              },
              "cursor": {
                "type": "string"
              },
              "limit": {
                "type": "integer",
                "minimum": 1,
                "maximum": 100
              },
              "query": {
                "type": "string"
              }
            },
            "required": [
              "collectionId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": true,
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "off",
          "documentation": {
            "example_input": {
              "collectionId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/developer-console/admin/catalog/collections/example/apps",
              "body": null
            },
            "effects": "Reads state through GET /api/developer-console/admin/catalog/collections/{collectionId}/apps without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/developer-console/admin/catalog/collections/*/apps",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "admin.catalog.collections.apps.add",
          "title": "admin catalog collections apps add",
          "description": "Execute admin.catalog.collections.apps.add in Topolo Developers.",
          "target": "api",
          "method": "POST",
          "path": "/api/developer-console/admin/catalog/collections/{collectionId}/apps",
          "permission": "marketplace:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {},
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {
                "type": "string",
                "minLength": 1
              },
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "required": [
              "collectionId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "off",
          "documentation": {
            "example_input": {
              "collectionId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/developer-console/admin/catalog/collections/example/apps",
              "body": {
                "collectionId": "example"
              }
            },
            "effects": "May change state through POST /api/developer-console/admin/catalog/collections/{collectionId}/apps. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/developer-console/admin/catalog/collections/*/apps",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "admin.catalog.collections.apps.remove",
          "title": "admin catalog collections apps remove",
          "description": "Execute admin.catalog.collections.apps.remove in Topolo Developers.",
          "target": "api",
          "method": "DELETE",
          "path": "/api/developer-console/admin/catalog/collections/{collectionId}/apps/{appId}",
          "permission": "marketplace:write",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "action": {},
              "apiKeyResources": {},
              "appDir": {},
              "appId": {
                "type": "string",
                "minLength": 1
              },
              "appIdea": {},
              "appStatus": {},
              "applicationId": {},
              "audience": {},
              "budgetContext": {},
              "category": {},
              "communityBenefitIdea": {},
              "companyName": {},
              "companySpecificNeeds": {},
              "containerAppId": {},
              "demoUrl": {},
              "description": {},
              "descriptor": {},
              "distributionModel": {},
              "eyebrow": {},
              "featured": {},
              "firstAppCategory": {},
              "firstAppName": {},
              "heroImage": {},
              "heroMedia": {},
              "id": {},
              "impact": {},
              "intent": {},
              "launcherQuickLinks": {},
              "location": {},
              "members": {},
              "mobileExperience": {},
              "monthlyPrice": {},
              "name": {},
              "notes": {},
              "onboardingConfirmed": {},
              "onboardingState": {},
              "onboardingStep": {},
              "operationalContactEmail": {},
              "operationalContactName": {},
              "ownerType": {},
              "packageName": {},
              "planPreference": {},
              "portfolio": {},
              "pricingType": {},
              "productionUrl": {},
              "rejectionReason": {},
              "repoUrl": {},
              "requestType": {},
              "resources": {},
              "reviewNotes": {},
              "screenshots": {},
              "serviceSlug": {},
              "slug": {},
              "sortOrder": {},
              "source": {},
              "status": {},
              "subcategory": {},
              "summary": {},
              "supportEmail": {},
              "surfaceModel": {},
              "tags": {},
              "tenancy": {},
              "title": {},
              "transferCode": {},
              "useCase": {},
              "version": {},
              "websiteUrl": {},
              "actionId": {},
              "capabilityId": {},
              "collectionId": {
                "type": "string",
                "minLength": 1
              },
              "developerId": {},
              "requestId": {},
              "submissionId": {},
              "inputSchema": {},
              "outputSchema": {},
              "method": {},
              "path": {},
              "permission": {},
              "readOnly": {},
              "destructive": {},
              "requiresConfirmation": {},
              "agentAccess": {}
            },
            "required": [
              "appId",
              "collectionId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": true,
          "requiresConfirmation": true,
          "agentAccess": "off",
          "documentation": {
            "example_input": {
              "appId": "example",
              "collectionId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "DELETE",
              "path": "/api/developer-console/admin/catalog/collections/example/apps/example",
              "body": null
            },
            "effects": "May change state through DELETE /api/developer-console/admin/catalog/collections/{collectionId}/apps/{appId}. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "DELETE /api/developer-console/admin/catalog/collections/*/apps/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "workspaces.data.export",
          "title": "Export workspace data",
          "description": "Export the selected workspace data owned by Topolo Developers with credential fields redacted.",
          "target": "api",
          "method": "GET",
          "path": "/api/developer-console/workspaces/{workspaceId}/data",
          "permission": "workspace:read",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "workspaceId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "workspaceId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": true,
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "workspaceId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/developer-console/workspaces/example/data",
              "body": null
            },
            "effects": "Reads state through GET /api/developer-console/workspaces/{workspaceId}/data without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/developer-console/workspaces/*/data",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "workspaces.data.erase",
          "title": "Erase workspace data",
          "description": "Permanently erase the selected workspace data and derived projections owned by Topolo Developers.",
          "target": "api",
          "method": "DELETE",
          "path": "/api/developer-console/workspaces/{workspaceId}/data",
          "permission": "workspace:delete",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "workspaceId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "workspaceId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": true,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "workspaceId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "DELETE",
              "path": "/api/developer-console/workspaces/example/data",
              "body": null
            },
            "effects": "May change state through DELETE /api/developer-console/workspaces/{workspaceId}/data. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "DELETE /api/developer-console/workspaces/*/data",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "workspaces.delete",
          "title": "workspaces delete",
          "description": "Manage app-local workspaces in Topolo Developers.",
          "target": "api",
          "method": "DELETE",
          "path": "/api/developer-console/workspaces/{workspaceId}",
          "permission": "workspace:delete",
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "workspaceId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "workspaceId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": true,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "workspaceId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-developers --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "DELETE",
              "path": "/api/developer-console/workspaces/example",
              "body": null
            },
            "effects": "May change state through DELETE /api/developer-console/workspaces/{workspaceId}. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "DELETE /api/developer-console/workspaces/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        }
      ],
      "action_coverage": {
        "status": "ok",
        "served_routes": 75,
        "matched_actions": 59,
        "declared_unserved_actions": [],
        "coverage_excluded_actions": [],
        "uncatalogued_routes": [],
        "ignored_routes": 16,
        "configured_exclusions": 17,
        "configuration_findings": [
          "* /api/*: exclusion matches no served route",
          "* /run: exclusion matches no served route"
        ],
        "notes": [
          "no routes extracted from jobs",
          "54 manually-declared route(s)"
        ]
      },
      "runtime_contract_audit": {
        "status": "verified",
        "actions": 59,
        "contracts": 59,
        "contract_module": "topolo.action-contracts.mjs",
        "validator_sources": [
          "apps/api/src/worker.ts"
        ],
        "authorization_sources": [
          "apps/api/src/worker.ts"
        ],
        "findings": []
      }
    }
  ],
  "mobile_contracts": [
    {
      "source_path": "apps/TopoloDevelopers/topolo.mobile-experience.json",
      "contract": {
        "version": "2026-07-03",
        "status": "approved",
        "mode": "web",
        "webOnly": true,
        "appId": "app_topolo_developers",
        "localizationNamespace": "developers",
        "fallbackPath": "/overview",
        "notes": "TopoloDevelopers is the developer portal and catalog/registry control plane (OAuth clients, API credentials, app submissions, review queues, catalog admin, registry reconcile). It is a desktop developer-tooling surface with no first-class mobile use case; it deliberately does not ship a native dynamic-app experience. webOnly opts it out of the TopoloOne native shell while keeping it web-accessible."
      }
    }
  ],
  "package_manifests": [],
  "deployment_configs": [],
  "source_signals": {
    "api_routes": [
      {
        "method": "ALL",
        "path": "*",
        "source_path": "apps/TopoloDevelopers/apps/api/src/worker.ts"
      }
    ],
    "ui_routes": [
      {
        "path": "/api/widget",
        "source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
      },
      {
        "path": "/api/developer-console/apps",
        "source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
      },
      {
        "path": "/api/developer-console/apps/{appId}",
        "source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
      },
      {
        "path": "/api/developer-console/apps/{appId}/submit",
        "source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
      },
      {
        "path": "/api/developer-console/build-requests",
        "source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
      },
      {
        "path": "/api/developer-console/review/app-submissions",
        "source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
      },
      {
        "path": "/api/developer-console/review/app-submissions/{submissionId}/review",
        "source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
      },
      {
        "path": "/api/catalog/embeddings",
        "source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
      },
      {
        "path": "/api/internal/registry-reconcile",
        "source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
      },
      {
        "path": "/api/catalog/search",
        "source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
      },
      {
        "path": "/api/catalog/notifications",
        "source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
      },
      {
        "path": "/mobile/actions",
        "source_path": "apps/TopoloDevelopers/apps/api/src/registry/reconcile.ts"
      },
      {
        "path": "/overview",
        "source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
      },
      {
        "path": "/onboarding",
        "source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
      },
      {
        "path": "/getting-started",
        "source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
      },
      {
        "path": "/apps",
        "source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
      },
      {
        "path": "/apps/:appId",
        "source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
      },
      {
        "path": "/notifications",
        "source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
      },
      {
        "path": "/credentials",
        "source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
      },
      {
        "path": "/developers/oauth-clients",
        "source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
      },
      {
        "path": "/requests",
        "source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
      },
      {
        "path": "/admin/apps",
        "source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
      },
      {
        "path": "/admin/catalog",
        "source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
      },
      {
        "path": "/admin/payouts",
        "source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
      },
      {
        "path": "/review/app-submissions",
        "source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
      },
      {
        "path": "/review/build-requests",
        "source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
      },
      {
        "path": "/settings",
        "source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
      },
      {
        "path": "/settings/:section",
        "source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
      },
      {
        "path": "/signup",
        "source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
      },
      {
        "path": "/developers/oauth/consent",
        "source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
      }
    ],
    "test_cases": [],
    "database_tables": []
  },
  "documentation": {
    "declared_paths": [
      "applications/developers",
      "internal/apps/topolo-developers"
    ],
    "present_paths": [
      "applications/developers",
      "internal/apps/topolo-developers"
    ],
    "missing_paths": [],
    "human_reference": "/systems/topolo-developers",
    "machine_reference": "/machine/systems/topolo-developers.json",
    "action_examples": 59,
    "action_schemas": 59
  },
  "source_findings": [
    {
      "type": "action_coverage_configuration",
      "source_path": "apps/TopoloDevelopers/topolo.app.json",
      "detail": [
        "* /api/*: exclusion matches no served route",
        "* /run: exclusion matches no served route"
      ]
    }
  ]
}