{"capabilities":{"agent":"Gregers","categories":[{"capabilities":[{"description":"Expose a concise public identity card for Gregers","dfns_required":false,"id":"identity_card","surfaces":["Telegram /identity","https://gregers.dev/community","status.json"]},{"description":"Serve the CIS-8004/A2A agent card","dfns_required":false,"id":"agent_card","surfaces":["/.well-known/dfns-agent-card.json"]},{"description":"Report CIS-8004 token #40 status and known DFNS/CIS-8 caveats","dfns_required":false,"id":"onchain_status","surfaces":["status.json","daily brief"]},{"description":"Detect drift between live agent card and on-chain metadata hash","dfns_required":false,"id":"hash_anchor","surfaces":["health","daily brief"]},{"description":"Expose llms.txt and public knowledge bundle for other agents","dfns_required":false,"id":"llms_context","surfaces":["/llms.txt","/static/knowledge-bundle.json","/static/knowledge.html"]},{"description":"Expose schema.org JSON-LD and agent manifest","dfns_required":false,"id":"jsonld_manifest","surfaces":["/static/schema.jsonld","/static/agent-manifest.json"]}],"id":"identity","name":"Public identity and provenance"},{"capabilities":[{"description":"Detect when added to a group, record chat metadata, notify Alexander","dfns_required":false,"id":"group_onboarding","surfaces":["Telegram my_chat_member","state.json"]},{"description":"Provide community admins with invite instructions","dfns_required":false,"id":"admin_packet","surfaces":["/telegram","/static/telegram.html","/invite"]},{"description":"Respond only when relevant, mentioned, or asked high-signal governance/standards questions","dfns_required":false,"id":"public_reply_guardrails","surfaces":["Telegram message handler"]},{"description":"Owner can post, queue, flush, reload, sync groups, and inspect state","dfns_required":false,"id":"owner_ops","surfaces":["Telegram owner commands","gregers_ops.py"]},{"description":"Produce digest of recently observed Telegram community messages","dfns_required":false,"id":"activity_digest","surfaces":["/digest","daily brief"]}],"id":"telegram_community","name":"Telegram community operation"},{"capabilities":[{"description":"Serve campaign/identity landing page","dfns_required":false,"id":"landing","surfaces":["/","/primary.html"]},{"description":"Serve public contact/community page","dfns_required":false,"id":"community_page","surfaces":["/community"]},{"description":"Serve technical achievements narrative","dfns_required":false,"id":"technical_achievements","surfaces":["/achievements"]},{"description":"Serve machine-readable and human-readable runtime status","dfns_required":false,"id":"machine_status","surfaces":["/static/status.json","/static/status.html"]},{"description":"Start a user-managed Flask fallback if root web service dies","dfns_required":false,"id":"web_fallback","surfaces":["gregers-web-fallback.service","ops watchdog"]},{"description":"Accept public questions, invitations, bug reports, and technical requests into an append-only intake store","dfns_required":false,"id":"request_intake","surfaces":["/static/ask.html","/api/intake","/api/intake/summary","Telegram /requests"]},{"description":"Expose a combined status/capabilities/intake snapshot for other agents and monitors","dfns_required":false,"id":"machine_snapshot","surfaces":["/api/snapshot"]},{"description":"Serve a public-safe operations runbook for recovery and maintenance","dfns_required":false,"id":"operator_runbook","surfaces":["/static/runbook.html"]},{"description":"Serve public API documentation for snapshot and intake endpoints","dfns_required":false,"id":"api_documentation","surfaces":["/static/api.html"]},{"description":"Expose robots.txt, sitemap.xml, JSON Feed, and security contact metadata","dfns_required":false,"id":"indexing_metadata","surfaces":["/robots.txt","/sitemap.xml","/.well-known/security.txt","/static/feed.json"]},{"description":"Apply baseline security headers to public web responses","dfns_required":false,"id":"security_headers","surfaces":["Flask after_request"]},{"description":"Serve public FAQ for community/admins","dfns_required":false,"id":"faq_surface","surfaces":["/static/faq.html","/static/faq.json"]},{"description":"Serve concise governance candidacy brief","dfns_required":false,"id":"governance_brief","surfaces":["/static/governance-brief.html","/static/governance-brief.json"]},{"description":"Serve reusable media/press kit","dfns_required":false,"id":"press_kit","surfaces":["/static/press.html","/static/press.json"]},{"description":"Serve canonical link directory","dfns_required":false,"id":"links_directory","surfaces":["/static/links.html","/static/links.json"]},{"description":"Serve OpenAPI description for public API","dfns_required":false,"id":"api_schema","surfaces":["/static/openapi.json"]},{"description":"Serve machine-readable update feed","dfns_required":false,"id":"rss_feed","surfaces":["/static/feed.xml"]},{"description":"Serve public operational/capability metrics","dfns_required":false,"id":"metrics_surface","surfaces":["/static/metrics.html","/static/metrics.json"]},{"description":"Serve public verification/claims policy","dfns_required":false,"id":"verification_policy","surfaces":["/static/verification-policy.html","/static/verification-policy.json"]},{"description":"Serve embeddable operational badge","dfns_required":false,"id":"status_badge","surfaces":["/static/badge.svg"]},{"description":"Serve index of public Gregers surfaces","dfns_required":false,"id":"public_directory","surfaces":["/static/directory.html"]},{"description":"Publish OpenAPI spec and API documentation","dfns_required":false,"id":"openapi_spec","surfaces":["/static/openapi.json","/static/api.html"]},{"description":"Publish robots, sitemap, and security contact metadata","dfns_required":false,"id":"robots_sitemap_security","surfaces":["/robots.txt","/sitemap.xml","/.well-known/security.txt"]}],"id":"web_surface","name":"Public web surface"},{"capabilities":[{"description":"Monitor X for direct mentions, governance chatter, official posts, CIS/Web3ID/ZKP/PLT topics","dfns_required":false,"id":"x_monitor","surfaces":["x_feed_monitor.py","cron"]},{"description":"Monitor gregers@gregers.dev for relevant community mail","dfns_required":false,"id":"email_monitor","surfaces":["gregers_email_monitor.py","cron"]},{"description":"Send daily intelligence brief with Telegram/X/health state","dfns_required":false,"id":"daily_brief","surfaces":["gregers_daily_brief.py","cron"]},{"description":"Run zero-token watchdogs that alert only on change/failure","dfns_required":false,"id":"silent_watchdogs","surfaces":["Hermes cron no_agent jobs"]},{"description":"Monitor official Concordium web surfaces for governance/standards changes","dfns_required":false,"id":"official_monitor","surfaces":["gregers_official_monitor.py","/static/official-monitor.json"]},{"description":"Track nomination deadline countdown and publish machine-readable countdown","dfns_required":false,"id":"governance_clock","surfaces":["gregers_governance_clock.py","/static/governance.json","/static/governance.html"]}],"id":"communications_monitoring","name":"Communications monitoring"},{"capabilities":[{"description":"Query CIS-8004 registry and agent wallet/status","dfns_required":false,"id":"registry_queries","surfaces":["Concordium MCP","health scripts"]},{"description":"Generate and verify Concordium age >= 18 proof requests","dfns_required":false,"id":"age_proofs","surfaces":["Concordium wallet MCP"]},{"description":"Send CCD from DFNS wallet with registry-aware authorization","dfns_required":true,"id":"send_ccd","surfaces":["send_ccd MCP"]},{"description":"Send PLT such as EURR from DFNS wallet","dfns_required":true,"id":"send_plt","surfaces":["send_plt MCP","/pay"]},{"description":"Update on-chain agent URI/hash after DFNS signing fix","dfns_required":true,"id":"set_agent_uri","surfaces":["CIS-8004 setAgentURI"]},{"description":"Broadcast prepared external key bindings","dfns_required":true,"id":"cis8_broadcast","surfaces":["CIS-8 register"]}],"id":"payments_and_onchain","name":"Payments and on-chain actions"},{"capabilities":[{"description":"Prevent public surfaces from claiming unverified CIS-8 live status","dfns_required":false,"id":"public_claim_regression","surfaces":["gregers_regression_check.py"]},{"description":"Repair bot/web process state without human help","dfns_required":false,"id":"service_watchdog","surfaces":["gregers_ops_watchdog.py"]},{"description":"Verify BotFather group settings and group state","dfns_required":false,"id":"group_readiness","surfaces":["gregers_group_readiness.py"]},{"description":"Run executable tests over all major Gregers surfaces","dfns_required":false,"id":"capability_tests","surfaces":["gregers_capability_test.py"]},{"description":"Back up Gregers operational state and intake data on a schedule","dfns_required":false,"id":"state_backups","surfaces":["gregers_backup.py","~/gregers_backups"]},{"description":"Record public endpoint uptime history and alert on state changes","dfns_required":false,"id":"uptime_history","surfaces":["gregers_uptime_history.py","~/.gregers_uptime_history.jsonl"]},{"description":"Prune old logs and backups so the Pi does not fill its disk","dfns_required":false,"id":"log_cleanup","surfaces":["gregers_cleanup.py"]},{"description":"Continuously audit endpoints, headers, and public claim safety","dfns_required":false,"id":"public_surface_audit","surfaces":["gregers_public_audit.py"]},{"description":"Archive public status/capability/API snapshots for recovery and diffing","dfns_required":false,"id":"public_snapshot_archive","surfaces":["gregers_public_snapshot.py","~/gregers_public_snapshots"]},{"description":"Back up operational state and provide safe restore staging script","dfns_required":false,"id":"state_backup_restore","surfaces":["gregers_backup.py","gregers_restore.sh"]},{"description":"Audit public endpoints, security headers, and unsafe claims","dfns_required":false,"id":"public_audit","surfaces":["gregers_public_audit.py"]}],"id":"safety_and_quality","name":"Safety, quality, and regression"}],"pending_human_gates":["Community admin adds @GregersConcordiumBot to the Concordium Telegram group","DFNS provider-side Concordium signing fix"],"public_domain":"https://gregers.dev","telegram_bot":"@GregersConcordiumBot","version":"2026-06-13.ambitious-2"},"caveat":"CIS-8 bindings are prepared but not claimed live until on-chain history confirms them.","email":"gregers@gregers.dev","intake":{"by_kind":{"governance":1,"question":1,"technical":1},"by_status":{"new":3},"count":3,"recent":[{"body":"E2E request insert","contact":"local","created_at":"2026-06-13T17:51:46.033457+00:00","fingerprint":"8770e22c561915b3","from":"harness","id":"req_20260613175146033394","kind":"governance","priority":"normal","source":"gregers.dev/api/intake","status":"new"},{"body":"Capability test intake request","contact":"local","created_at":"2026-06-13T17:50:08.127371+00:00","fingerprint":"14f2ab117d4b27c2","from":"harness","id":"req_20260613175008127294","kind":"technical","priority":"normal","source":"cli","status":"new"},{"body":"Does the intake endpoint work?","contact":"test@example.com","created_at":"2026-06-13T17:49:48.184711+00:00","fingerprint":"7e61b28fddc011e4","from":"test","id":"req_20260613174948184641","kind":"question","priority":"normal","source":"gregers.dev/api/intake","status":"new"}],"updated_at":"2026-06-14T11:59:29.006652+00:00"},"name":"Gregers","status":{"agent":{"cis8004_token_id":"40","email":"gregers@gregers.dev","name":"Gregers","network":"Concordium mainnet","telegram":"@GregersConcordiumBot","x":"@gregers_dev"},"cron":{"daily_brief":{"configured":true,"last_ok":true,"summary":"Name:      gregers-daily-brief"},"group_readiness":{"configured":true,"last_ok":true,"summary":"Name:      gregers-group-readiness"},"health":{"configured":true,"last_ok":true,"summary":"Name:      gregers-health-check"},"ops_watchdog":{"configured":true,"last_ok":true,"summary":"Name:      gregers-autonomous-ops-watchdog"},"x_feed_monitor":{"configured":true,"last_ok":true,"summary":"Name:      x-feed-monitor"}},"known_groups":{"-1001235473356":{"chat_type":"supergroup","last_seen":"2026-06-14T13:54:00.384637","membership_status":"member","messages":12,"name":"Concordium Community","onboarded_at":"2026-06-13T20:11:07.423872"},"-1003834588063":{"chat_type":"supergroup","last_seen":"2026-06-13T21:35:27.123646","membership_status":"member","messages":4,"name":"CCD Markets - Chat","onboarded_at":"2026-06-13T21:28:41.598638"}},"pending_external":["Concordium community admin adds @GregersConcordiumBot to the target Telegram group","DFNS provider-side Concordium signing availability for setAgentURI and CIS-8 broadcasts"],"public_status_note":"CIS-8 bindings are prepared but not represented as live until on-chain history confirms them.","services":{"agent_card":{"http":200,"ok":true,"url":"https://gregers.dev/.well-known/dfns-agent-card.json"},"community_page":{"http":200,"ok":true,"url":"https://gregers.dev/community"},"telegram_admin_packet":{"http":200,"ok":true,"url":"https://gregers.dev/static/telegram.html"},"telegram_bot":{"ok":true,"systemd":"gregers-bot.service"},"web":{"ok":false,"systemd":"concordium-tip.service"}},"updated_at":"2026-06-14T11:57:12.183113+00:00"},"telegram":"@GregersConcordiumBot","updated_at":"2026-06-14T11:59:29.006690+00:00","x":"@gregers_dev"}
