{"agent":"grafana-grafana-postgres-prom-pro-51839f","capability":"monitoring","ok":true,"assertion":"ran_without_error","assertion_detail":"No correctness assertion for this capability yet — `ok` means the executor returned without raising.","as_of":"2026-08-28T07:52:08.718781+00:00","latency_ms":10,"example_request":{"alertmanager":{"receiver":"default","slack_webhook":"https://hooks.slack.com/…"},"alerts":{"high_cpu":true,"high_memory":true,"instance_down":true},"app_name":"shop","monitor":[{"host":"api","metrics_path":"/metrics","name":"api","port":8000}],"node_exporter":true,"persistence":["postgres","redis"]},"example_response":{"compose":"name: shop\nservices:\n  prometheus:\n    image: prom/prometheus:v2.54.1\n    restart: unless-stopped\n    command:\n    - --config.file=/etc/prometheus/prometheus.yml\n    - --storage.tsdb.path=/prometheus\n    - --storage.tsdb.retention.time=15d\n    - --web.enable-lifecycle\n    volumes:\n    - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro\n    - ./prometheus/alert.rules.yml:/etc/prometheus/alert.rules.yml:ro\n    - prometheus_data:/prometheus\n    networks:\n    - monitoring\n    ports:\n    - ${PROMETHEUS_PORT:-9090}:9090\n    healthcheck:\n      test:\n      - CMD\n      - wget\n      - -q\n      - --spider\n      - http://localhost:9090/-/healthy\n      interval: 15s\n      timeout: 5s\n      retries: 5\n  alertmanager:\n    image: prom/alertmanager:v0.27.0\n    restart: unless-stopped\n    command:\n    - --config.file=/etc/alertmanager/alertmanager.yml\n    - --storage.path=/alertmanager\n    volumes:\n    - ./alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml:ro\n    - alertmanager_data:/alertmanager\n    networks:\n    - monitoring\n    ports:\n    - ${ALERTMANAGER_PORT:-9093}:9093\n    healthcheck:\n      test:\n      - CMD\n      - wget\n      - -q\n      - --spider\n      - http://localhost:9093/-/healthy\n      interval: 15s\n      timeout: 5s\n      retries: 5\n  grafana:\n    image: grafana/grafana:11.2.0\n    restart: unless-stopped\n    environment:\n      GF_SECURITY_ADMIN_USER: ${GRAFANA_ADMIN_USER:-admin}\n      GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_ADMIN_PASSWORD:?set GRAFANA_ADMIN_PASSWORD in .env}\n      GF_USERS_ALLOW_SIGN_UP: 'false'\n      GF_SERVER_ROOT_URL: ${GRAFANA_ROOT_URL:-http://localhost:3000}\n    volumes:\n    - grafana_data:/var/lib/grafana\n    - ./grafana/provisioning:/etc/grafana/provisioning:ro\n    - ./grafana/dashboards:/var/lib/grafana/dashboards:ro\n    depends_on:\n      prometheus:\n        condition: service_healthy\n    networks:\n    - monitoring\n    ports:\n    - ${GRAFANA_PORT:-3000}:3000\n    healthcheck:\n      test:\n      - CMD-SHELL\n      - wget -q --spider http://localhost:3000/api/health || exit 1\n      interval: 15s\n      timeout: 5s\n      retries: 5\n  node-exporter:\n    image: prom/node-exporter:v1.8.2\n    restart: unless-stopped\n    command:\n    - --path.rootfs=/host\n    - --collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)\n    volumes:\n    - /:/host:ro,rslave\n    pid: host\n    networks:\n    - monitoring\n    ports:\n    - ${NODE_EXPORTER_PORT:-9100}:9100\n  postgres:\n    image: postgres:16-alpine\n    restart: unless-stopped\n    environment:\n      POSTGRES_USER: ${POSTGRES_USER:?set POSTGRES_USER in .env}\n      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?set POSTGRES_PASSWORD in .env}\n      POSTGRES_DB: ${POSTGRES_DB:?set POSTGRES_DB in .env}\n    volumes:\n    - pgdata:/var/lib/postgresql/data\n    networks:\n    - monitoring\n    healthcheck:\n      test:\n      - CMD-SHELL\n      - pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB\n      interval: 10s\n      timeout: 5s\n      retries: 5\n  postgres-exporter:\n    image: prometheuscommunity/postgres-exporter:v0.15.0\n    restart: unless-stopped\n    environment:\n      DATA_SOURCE_NAME: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}?sslmode=disable\n    depends_on:\n      postgres:\n        condition: service_healthy\n    networks:\n    - monitoring\n  redis:\n    image: redis:7-alpine\n    restart: unless-stopped\n    command:\n    - sh\n    - -c\n    - redis-server --requirepass $${REDIS_PASSWORD} --maxmemory 256mb --maxmemory-policy allkeys-lru --appendonly yes\n    environment:\n      REDIS_PASSWORD: ${REDIS_PASSWORD:?set REDIS_PASSWORD in .env}\n    volumes:\n    - redisdata:/data\n    networks:\n    - monitoring\n    healthcheck:\n      test:\n      - CMD-SHELL\n      - redis-cli -a $$REDIS_PASSWORD ping | grep -q PONG\n      interval: 10s\n      timeout: 5s\n      retries: 5\n  redis-exporter:\n    image: oliver006/redis_exporter:v1.62.0\n    restart: unless-stopped\n    environment:\n      REDIS_ADDR: redis://redis:6379\n      REDIS_PASSWORD: ${REDIS_PASSWORD}\n    depends_on:\n      redis:\n        condition: service_healthy\n    networks:\n    - monitoring\nnetworks:\n  monitoring:\n    driver: bridge\nvolumes:\n  prometheus_data:\n    driver: local\n  alertmanager_data:\n    driver: local\n  grafana_data:\n    driver: local\n  pgdata:\n    driver: local\n  redisdata:\n    driver: local\n","env_example":"# Generated by GOSCE monitoring generator - copy to .env and replace secrets.\n\nGRAFANA_ADMIN_PASSWORD=2hE2yXJ3hAncq377cTrE6Y61\nPOSTGRES_USER=appuser\nPOSTGRES_PASSWORD=zpdy5fJw1PD74jJn0xN8NObMOB1B7XKJ\nPOSTGRES_DB=shop\nREDIS_PASSWORD=IFbsJCZOdzZIi1c6DySu01HxkclFrcxb\n","files":{"docker-compose.yml":"name: shop\nservices:\n  prometheus:\n    image: prom/prometheus:v2.54.1\n    restart: unless-stopped\n    command:\n    - --config.file=/etc/prometheus/prometheus.yml\n    - --storage.tsdb.path=/prometheus\n    - --storage.tsdb.retention.time=15d\n    - --web.enable-lifecycle\n    volumes:\n    - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro\n    - ./prometheus/alert.rules.yml:/etc/prometheus/alert.rules.yml:ro\n    - prometheus_data:/prometheus\n    networks:\n    - monitoring\n    ports:\n    - ${PROMETHEUS_PORT:-9090}:9090\n    healthcheck:\n      test:\n      - CMD\n      - wget\n      - -q\n      - --spider\n      - http://localhost:9090/-/healthy\n      interval: 15s\n      timeout: 5s\n      retries: 5\n  alertmanager:\n    image: prom/alertmanager:v0.27.0\n    restart: unless-stopped\n    command:\n    - --config.file=/etc/alertmanager/alertmanager.yml\n    - --storage.path=/alertmanager\n    volumes:\n    - ./alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml:ro\n    - alertmanager_data:/alertmanager\n    networks:\n    - monitoring\n    ports:\n    - ${ALERTMANAGER_PORT:-9093}:9093\n    healthcheck:\n      test:\n      - CMD\n      - wget\n      - -q\n      - --spider\n      - http://localhost:9093/-/healthy\n      interval: 15s\n      timeout: 5s\n      retries: 5\n  grafana:\n    image: grafana/grafana:11.2.0\n    restart: unless-stopped\n    environment:\n      GF_SECURITY_ADMIN_USER: ${GRAFANA_ADMIN_USER:-admin}\n      GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_ADMIN_PASSWORD:?set GRAFANA_ADMIN_PASSWORD in .env}\n      GF_USERS_ALLOW_SIGN_UP: 'false'\n      GF_SERVER_ROOT_URL: ${GRAFANA_ROOT_URL:-http://localhost:3000}\n    volumes:\n    - grafana_data:/var/lib/grafana\n    - ./grafana/provisioning:/etc/grafana/provisioning:ro\n    - ./grafana/dashboards:/var/lib/grafana/dashboards:ro\n    depends_on:\n      prometheus:\n        condition: service_healthy\n    networks:\n    - monitoring\n    ports:\n    - ${GRAFANA_PORT:-3000}:3000\n    healthcheck:\n      test:\n      - CMD-SHELL\n      - wget -q --spider http://localhost:3000/api/health || exit 1\n      interval: 15s\n      timeout: 5s\n      retries: 5\n  node-exporter:\n    image: prom/node-exporter:v1.8.2\n    restart: unless-stopped\n    command:\n    - --path.rootfs=/host\n    - --collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)\n    volumes:\n    - /:/host:ro,rslave\n    pid: host\n    networks:\n    - monitoring\n    ports:\n    - ${NODE_EXPORTER_PORT:-9100}:9100\n  postgres:\n    image: postgres:16-alpine\n    restart: unless-stopped\n    environment:\n      POSTGRES_USER: ${POSTGRES_USER:?set POSTGRES_USER in .env}\n      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?set POSTGRES_PASSWORD in .env}\n      POSTGRES_DB: ${POSTGRES_DB:?set POSTGRES_DB in .env}\n    volumes:\n    - pgdata:/var/lib/postgresql/data\n    networks:\n    - monitoring\n    healthcheck:\n      test:\n      - CMD-SHELL\n      - pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB\n      interval: 10s\n      timeout: 5s\n      retries: 5\n  postgres-exporter:\n    image: prometheuscommunity/postgres-exporter:v0.15.0\n    restart: unless-stopped\n    environment:\n      DATA_SOURCE_NAME: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}?sslmode=disable\n    depends_on:\n      postgres:\n        condition: service_healthy\n    networks:\n    - monitoring\n  redis:\n    image: redis:7-alpine\n    restart: unless-stopped\n    command:\n    - sh\n    - -c\n    - redis-server --requirepass $${REDIS_PASSWORD} --maxmemory 256mb --maxmemory-policy allkeys-lru --appendonly yes\n    environment:\n      REDIS_PASSWORD: ${REDIS_PASSWORD:?set REDIS_PASSWORD in .env}\n    volumes:\n    - redisdata:/data\n    networks:\n    - monitoring\n    healthcheck:\n      test:\n      - CMD-SHELL\n      - redis-cli -a $$REDIS_PASSWORD ping | grep -q PONG\n      interval: 10s\n      timeout: 5s\n      retries: 5\n  redis-exporter:\n    image: oliver006/redis_exporter:v1.62.0\n    restart: unless-stopped\n    environment:\n      REDIS_ADDR: redis://redis:6379\n      REDIS_PASSWORD: ${REDIS_PASSWORD}\n    depends_on:\n      redis:\n        condition: service_healthy\n    networks:\n    - monitoring\nnetworks:\n  monitoring:\n    driver: bridge\nvolumes:\n  prometheus_data:\n    driver: local\n  alertmanager_data:\n    driver: local\n  grafana_data:\n    driver: local\n  pgdata:\n    driver: local\n  redisdata:\n    driver: local\n","prometheus/prometheus.yml":"global:\n  scrape_interval: 15s\n  evaluation_interval: 15s\nalerting:\n  alertmanagers:\n  - static_configs:\n    - targets:\n      - alertmanager:9093\nrule_files:\n- /etc/prometheus/alert.rules.yml\nscrape_configs:\n- job_name: prometheus\n  static_configs:\n  - targets:\n    - localhost:9090\n- job_name: node-exporter\n  static_configs:\n  - targets:\n    - node-exporter:9100\n- job_name: api\n  static_configs:\n  - targets:\n    - api:8000\n  metrics_path: /metrics\n- job_name: postgres\n  static_configs:\n  - targets:\n    - postgres-exporter:9187\n- job_name: redis\n  static_configs:\n  - targets:\n    - redis-exporter:9121\n","prometheus/alert.rules.yml":"groups:\n- name: instance-health\n  rules:\n  - alert: InstanceDown\n    expr: up == 0\n    for: 1m\n    labels:\n      severity: critical\n    annotations:\n      summary: Instance {{ $labels.instance }} down\n      description: '{{ $labels.job }} target {{ $labels.instance }} has been down for more than 1 minute.'\n  - alert: HighCpuLoad\n    expr: 100 - (avg by(instance) (rate(node_cpu_seconds_total{mode=\"idle\"}[5m])) * 100) > 85\n    for: 5m\n    labels:\n      severity: warning\n    annotations:\n      summary: High CPU on {{ $labels.instance }}\n      description: CPU load is above 85% for 5 minutes.\n  - alert: HighMemoryUsage\n    expr: (1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) * 100 > 90\n    for: 5m\n    labels:\n      severity: warning\n    annotations:\n      summary: High memory on {{ $labels.instance }}\n      description: Memory usage is above 90% for 5 minutes.\n  - alert: DiskWillFill\n    expr: (node_filesystem_avail_bytes{fstype!~\"tmpfs|fuse.lxcfs\"} / node_filesystem_size_bytes) * 100 < 10\n    for: 5m\n    labels:\n      severity: warning\n    annotations:\n      summary: Low disk on {{ $labels.instance }}\n      description: Filesystem has less than 10% space left.\n","alertmanager/alertmanager.yml":"global:\n  resolve_timeout: 5m\nroute:\n  receiver: default\n  group_by:\n  - alertname\n  - job\n  group_wait: 30s\n  group_interval: 5m\n  repeat_interval: 4h\nreceivers:\n- name: default\n  slack_configs:\n  - api_url: \"https://hooks.slack.com/\\u2026\"\n    channel: '#alerts'\n    send_resolved: true\n","grafana/provisioning/datasources/datasource.yml":"apiVersion: 1\ndatasources:\n- name: Prometheus\n  type: prometheus\n  access: proxy\n  url: http://prometheus:9090\n  isDefault: true\n  editable: true\n","grafana/provisioning/dashboards/dashboards.yml":"apiVersion: 1\nproviders:\n- name: default\n  orgId: 1\n  folder: ''\n  type: file\n  disableDeletion: false\n  editable: true\n  options:\n    path: /var/lib/grafana/dashboards\n","grafana/dashboards/infra-overview.json":"{\n  \"annotations\": {\n    \"list\": []\n  },\n  \"editable\": true,\n  \"schemaVersion\": 39,\n  \"version\": 1,\n  \"refresh\": \"30s\",\n  \"title\": \"Infrastructure Overview\",\n  \"uid\": \"gosce-infra-overview\",\n  \"tags\": [\n    \"gosce\",\n    \"node-exporter\",\n    \"prometheus\"\n  ],\n  \"time\": {\n    \"from\": \"now-6h\",\n    \"to\": \"now\"\n  },\n  \"templating\": {\n    \"list\": []\n  },\n  \"panels\": [\n    {\n      \"id\": 1,\n      \"title\": \"Targets Up\",\n      \"type\": \"stat\",\n      \"gridPos\": {\n        \"h\": 6,\n        \"w\": 6,\n        \"x\": 0,\n        \"y\": 0\n      },\n      \"fieldConfig\": {\n        \"defaults\": {\n          \"color\": {\n            \"mode\": \"thresholds\"\n          },\n          \"thresholds\": {\n            \"steps\": [\n              {\n                \"color\": \"red\",\n                \"value\": null\n              },\n              {\n                \"color\": \"green\",\n                \"value\": 1\n              }\n            ]\n          }\n        }\n      },\n      \"targets\": [\n        {\n          \"expr\": \"sum(up)\",\n          \"refId\": \"A\"\n        }\n      ]\n    },\n    {\n      \"id\": 2,\n      \"title\": \"CPU Busy %\",\n      \"type\": \"timeseries\",\n      \"gridPos\": {\n        \"h\": 6,\n        \"w\": 9,\n        \"x\": 6,\n        \"y\": 0\n      },\n      \"targets\": [\n        {\n          \"expr\": \"100 - (avg by(instance)(rate(node_cpu_seconds_total{mode=\\\"idle\\\"}[5m])) * 100)\",\n          \"legendFormat\": \"{{instance}}\",\n          \"refId\": \"A\"\n        }\n      ]\n    },\n    {\n      \"id\": 3,\n      \"title\": \"Memory Used %\",\n      \"type\": \"timeseries\",\n      \"gridPos\": {\n        \"h\": 6,\n        \"w\": 9,\n        \"x\": 15,\n        \"y\": 0\n      },\n      \"targets\": [\n        {\n          \"expr\": \"(1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) * 100\",\n          \"legendFormat\": \"{{instance}}\",\n          \"refId\": \"A\"\n        }\n      ]\n    },\n    {\n      \"id\": 4,\n      \"title\": \"Disk Available %\",\n      \"type\": \"timeseries\",\n      \"gridPos\": {\n        \"h\": 7,\n        \"w\": 12,\n        \"x\": 0,\n        \"y\": 6\n      },\n      \"targets\": [\n        {\n          \"expr\": \"(node_filesystem_avail_bytes{fstype!~\\\"tmpfs|fuse.lxcfs\\\"} / node_filesystem_size_bytes) * 100\",\n          \"legendFormat\": \"{{instance}} {{mountpoint}}\",\n          \"refId\": \"A\"\n        }\n      ]\n    },\n    {\n      \"id\": 5,\n      \"title\": \"Network Receive (bytes/s)\",\n      \"type\": \"timeseries\",\n      \"gridPos\": {\n        \"h\": 7,\n        \"w\": 12,\n        \"x\": 12,\n        \"y\": 6\n      },\n      \"targets\": [\n        {\n          \"expr\": \"rate(node_network_receive_bytes_total[5m])\",\n          \"legendFormat\": \"{{instance}} {{device}}\",\n          \"refId\": \"A\"\n        }\n      ]\n    }\n  ]\n}",".env.example":"# Generated by GOSCE monitoring generator - copy to .env and replace secrets.\n\nGRAFANA_ADMIN_PASSWORD=2hE2yXJ3hAncq377cTrE6Y61\nPOSTGRES_USER=appuser\nPOSTGRES_PASSWORD=zpdy5fJw1PD74jJn0xN8NObMOB1B7XKJ\nPOSTGRES_DB=shop\nREDIS_PASSWORD=IFbsJCZOdzZIi1c6DySu01HxkclFrcxb\n"},"services":["prometheus","alertmanager","grafana","node-exporter","postgres","postgres-exporter","redis","redis-exporter"],"stack":"prometheus+grafana+alertmanager+node-exporter+postgres+redis","notes":["Prometheus: scrapes itself, node-exporter and your services; 15d retention, lifecycle API enabled (POST /-/reload).","Grafana: provisioned Prometheus datasource + an Infrastructure Overview dashboard; admin password from .env.","Alertmanager: routes alerts to your receiver (webhook/Slack/email).","node-exporter: host CPU / memory / disk / network metrics.","Full observable backend stack: postgres, redis included with Prometheus exporters, pre-scraped."]},"version":"0.1.1","trust":{"identity":{"agent_card_signed":true,"algorithm":"EdDSA (Ed25519) detached JWS (RFC 7515 App. F)","agent_card":"https://observable-backend-stack-generator.getvda.ai/.well-known/agent-card.json","jwks":"https://agents.getvda.ai/.well-known/jwks.json","verify_instructions":"https://observable-backend-stack-generator.getvda.ai/verify","note":"The signing key never reaches this agent; cards are signed at build time by the factory. This service cannot forge its own card."},"provenance":{"governance":"https://observable-backend-stack-generator.getvda.ai/governance.md","governance_covers":["licence chain of every bundled package","data-flow map","declared egress"],"capability_gate":"This agent executed its capability successfully before it was ever deployed; agents that fail the gate are not published.","portfolio":"https://agents.getvda.ai/agents","machine_summary":"https://observable-backend-stack-generator.getvda.ai/llms.txt"},"safety":{"outbound_requests":"All outbound traffic passes a shared SSRF guard: DNS is resolved BEFORE connecting and the resolved IP is checked against RFC1918, loopback, link-local and ULA ranges (hostname checks alone do not survive DNS rebinding).","rate_limited":true,"selftest_input":"fixed and canned — this endpoint cannot be used as a free LLM or as an open proxy"},"commercial":{"free":["tools/list","server/discover","selftest","/verify","/governance.md","/llms.txt","/health"],"paid":"tool execution, metered per call via Nevermined x402","x402":"https://observable-backend-stack-generator.getvda.ai/.well-known/x402"},"our_own_seals":{"what_is_sealed":"This agent's own /selftest runs, and nothing else. Paid tool calls are never sealed — they carry caller input, which does not belong in an evidence chain by default.","status":"sealed","unavailable_reason":null,"last_record_id":"2e14e138-be21-4994-ae2b-cdc8be68d0c8","chain_key":"gosce:selftest:grafana-grafana-postgres-prom-pro-51839f","sealed_at":"2026-08-28T07:52:08.718781+00:00","last_record":{"schema":"vda.witness.record/1","recordId":"2e14e138-be21-4994-ae2b-cdc8be68d0c8","account":"acct_01M0F9FZYD0SGZ501XQ20ZYV7N","seq":43,"issuedAt":"2026-08-28T07:52:09.044Z","signer":{"keyId":"did:web:witness.getvda.ai#key-1","custody":"custodial","custodyClaim":"signed by Witness service (custodial) — build/test custody, NOT a customer-controlled compliance claim","algorithm":"Ed25519","publicKeyJwk":{"crv":"Ed25519","x":"n7CC3oT05X6d13f-0hOTab8jeLx4YYwJG4iPcCJiP7c","kty":"OKP"},"did":"did:web:witness.getvda.ai"},"decision":{"agent":"observable-backend-stack-generator.getvda.ai","inputs":{"record_type":"attestation","actor":{"id":"observable-backend-stack-generator.getvda.ai","type":"agent","role":"gosce-agent-self-test"},"claim":"GOSCE self-test: agent=grafana-grafana-postgres-prom-pro-51839f capability=monitoring ok=true assertion=ran_without_error version=0.1.1 request_sha256=4f647551405e28e30dfebaff39d190621d1eee61e2fffffb6e88fc291d93e951 response_sha256=8fa7737f67b7aebf928338419ce1fdbfc7ed4ffded384e3c53489018e0723ee8","as_of":"2026-08-28T07:52:08.718781+00:00","context":"Automated GOSCE self-test: the agent executed its own capability on fixed canned input. Self-asserted (api_asserted) — an independent verifier's seal of the same run is stronger evidence."},"verdict":"ATTESTED","reasoning":"GOSCE self-test: agent=grafana-grafana-postgres-prom-pro-51839f capability=monitoring ok=true assertion=ran_without_error version=0.1.1 request_sha256=4f647551405e28e30dfebaff39d190621d1eee61e2fffffb6e88fc291d93e951 response_sha256=8fa7737f67b7aebf928338419ce1fdbfc7ed4ffded384e3c53489018e0723ee8"},"governingRule":{"ruleId":"vda.witness.attestation","ruleText":"An assertion of a fact or state as of a stated time, sealed as attested by the signing party — not independently verified by Witness."},"prevHash":"sha256:7ab0ea0e6f6709087af281b1641f5f4074de7c4c9cbbf0ea2b08fd78c2b7a67d","proof":{"algorithm":"Ed25519","signature":"ne1dhlzrEDrhx8xQfKyvFaSSkFGsJlLy62aoFs8WY4Rc3-PspPs3Sxp26P-EnmbNXfEFSjyYs5mp-NpcLZy3Cw","created":"2026-08-28T07:52:09.044Z"}},"verify_this_record":"https://witness.getvda.ai/api/witness/verify  (POST {\"record\": last_record}) — PUBLIC, no API key","chain_proof":"https://witness.getvda.ai/api/witness/chains/gosce:selftest:grafana-grafana-postgres-prom-pro-51839f/proof  (requires OUR credential — not publicly readable)","binding_confidence":"api_asserted","custody":"custodial","honest_limitation":"A seal proves 'at time T this account asserted X' — NOT that X is true. These are OUR seals about OURSELVES, so they are api_asserted, the weakest bound grade, and no later signing or anchoring can upgrade it. Custody is custodial (the Witness platform key signs), so issuer authenticity is not independently established. Treat this as a tamper-evident log of what we claimed, not as proof the agent works."},"seal_it_yourself":{"why":"A record YOU seal is independent evidence; one we seal about ourselves is not. This is the stronger path and we would rather you took it.","verify_any_record":"https://witness.getvda.ai/api/witness/verify  (PUBLIC — no API key required)","mint_your_own_key":"https://witness.getvda.ai/api/witness/test-key  (self-serve, instant, no human)","seal_what_you_observed":"https://witness.getvda.ai/api/witness/seal/attestation","customer_managed_custody":"https://witness.getvda.ai/api/witness/prepare  (sign with your own key — the record is then provable even against VDA)","offline_bundle_verification":"https://witness-dao.getvda.ai — verify-evidence-bundle, free and unauthenticated. witness-dao does NOT accept remote seals; it is the DAO-governance evidence layer."},"protocols":{"mcp":"2026-07-28","a2a":"message/send at https://observable-backend-stack-generator.getvda.ai/a2a/"}}}