{
  "spec": {
    "scheme": "agent-presence",
    "name": "Agent Presence",
    "spec_version": "0.2",
    "bundle_schema_version": "0.1"
  },
  "business": {
    "id": "river-cade-concepts",
    "name": "River Cade Concepts"
  },
  "canonical_url": "https://rivercadeconcepts.com/",
  "describes": "https://rivercadeconcepts.com/.well-known/business-capabilities.json",
  "mode": "request-only",
  "generated_at": "2026-08-28T21:53:41.480Z",
  "endpoint": {
    "url": "https://agents.rivercadeconcepts.com/interactions/request",
    "method": "POST",
    "content_type": "application/json"
  },
  "authorization": {
    "scheme": "shared-key",
    "required": true,
    "how_to_obtain": "Authorization is granted by the business owner out of band. Unauthorized requests are refused and recorded.",
    "envelope_fields": [
      "agent_id",
      "agent_key",
      "interaction_id",
      "idempotency_key",
      "input"
    ]
  },
  "idempotency": {
    "required": true,
    "field": "idempotency_key",
    "scope": "per agent",
    "behavior": "Replaying a key with the same body returns the original receipt. Reusing it with a different body is refused."
  },
  "interactions": [
    {
      "id": "check-project-fit",
      "kind": "service_fit_check",
      "capability_id": "discover-rcc-services",
      "capability_name": "Discover RCC services",
      "answered": "immediately, from published claims",
      "input_schema": {
        "need": {
          "type": "string",
          "required": true,
          "max_length": 500
        },
        "location": {
          "type": "string",
          "required": false,
          "max_length": 200
        }
      }
    },
    {
      "id": "ask-about-scope",
      "kind": "information_request",
      "capability_id": "explain-rcc-planning-range",
      "capability_name": "Explain RCC planning guidance",
      "answered": "by a human, after review",
      "input_schema": {
        "question": {
          "type": "string",
          "required": true,
          "max_length": 2000
        },
        "contact": {
          "type": "string",
          "required": true,
          "max_length": 300
        }
      }
    },
    {
      "id": "request-project-consultation",
      "kind": "consultation_request",
      "capability_id": "find-rcc-project-contact",
      "capability_name": "Find the RCC project inquiry path",
      "answered": "by a human, after review",
      "input_schema": {
        "name": {
          "type": "string",
          "required": true,
          "max_length": 200
        },
        "contact": {
          "type": "string",
          "required": true,
          "max_length": 300
        },
        "topic": {
          "type": "string",
          "required": true,
          "max_length": 1000
        },
        "preferred_times": {
          "type": "string",
          "required": false,
          "max_length": 500
        }
      }
    }
  ],
  "receipts": {
    "issued_for": "every accepted request",
    "fields": [
      "receipt_id",
      "kind",
      "request_hash",
      "received_at",
      "source_revision",
      "status"
    ],
    "statuses": [
      "answered_from_published_claims",
      "queued_for_human"
    ]
  },
  "answers": {
    "url": "https://agents.rivercadeconcepts.com/ask",
    "method": [
      "GET",
      "POST"
    ],
    "parameter": "q",
    "authorization": "none — it only repeats what the business has already published",
    "grounded": "every answer carries the claim ids and source URLs it was drawn from",
    "unanswerable": "questions the published record does not cover return answered: false and route to a human, rather than being guessed at",
    "will_never": [
      "quote a price or agree terms",
      "confirm availability or a schedule",
      "invent an answer the business has not published"
    ]
  },
  "will_never": [
    "negotiate price or terms",
    "issue a quote or an invoice",
    "confirm availability, stock, or a schedule",
    "accept payment or payment details",
    "create a binding commitment of any kind",
    "send communication on the business's behalf"
  ],
  "refusals": {
    "documented": true,
    "codes": [
      "UNAUTHORIZED",
      "AGENT_REVOKED",
      "UNKNOWN_INTERACTION",
      "INTERACTION_REVOKED",
      "BAD_IDEMPOTENCY_KEY",
      "IDEMPOTENCY_CONFLICT",
      "INVALID_INPUT",
      "BAD_ENVELOPE"
    ],
    "note": "Every refusal is recorded in the business's audit trail with the requesting agent id."
  },
  "scheme": "agent-presence",
  "spec_version": "0.2"
}