{
  "checker": {
    "claims": [
      {
        "claim": "Mail sent by Alice is delivered to Bob and readable in the conversation",
        "command": "aw mail show --conversation-id b9d8dceb-33fd-41c9-ad53-d22c65c07ff9",
        "evidence": "\u2026Please review this branch and reply in the same conversation.\n- local/alice \u2014 cycle check: wake test\n- local/alice \u2014 wake probe: wake probe body\n- local/alice \u2014 cycle check: wake test\n- local/alice \u2014 cycle check: wake test\n- local/alice \u2014 cycle check: wake test\n",
        "expected": "conversation shows the message body",
        "input": "alice's review request in the shared conversation",
        "kind": "claim",
        "outcome": "Real input produced the expected result: Please review this branch and reply in the same conversation.",
        "returncode": 0,
        "source": "Please review this branch and reply in the same conversation.",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "A healthy setup reports Doctor ok",
        "command": "aw check",
        "evidence": "Doctor: ok\nMode:   auto\nNote:   21 online check(s) were skipped and do not affect the verdict; run `aw check --online` to include them.\nPath:   ~/agents/alice\nChecks:\n  [info] doctor.contract.v1 \u2014 Doctor output contract is available.\n  [ok] local.workspace_yaml.exists \u2014 Local workspace binding file is present.\n  [ok] local.workspace_yaml.parse \u2014 Local workspace binding parsed successfully.\n  [ok] local.workspace.aweb_url_syntax \u2014 Workspace aweb_url is present and syntactically valid.\n  [ok] local.teams.active_team \u2014 teams.yaml active_team is present.\n  [ok] local.workspace.active_membership \u2014 ",
        "expected": "Doctor: ok",
        "input": "aw check in alice workspace",
        "kind": "claim",
        "outcome": "Real input produced the expected result: Doctor: ok",
        "returncode": 0,
        "source": "`Doctor: ok`.",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "Bob receives an actionable_mail wake event for new mail from Alice",
        "command": "<guest-path>",
        "evidence": "\u2026actionable_mail\",\"raw\":{\"type\":\"actionable_mail\",\"message_id\":\"103e0bc3-7502-4acb-912d-016ad3fef038\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_stable_id\":\"\",\"from_address\":\"local/alice\",\"subject\":\"wake probe\",\"priority\":\"normal\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"encrypted\":false,\"unread_count\":5,\"wake_mode\":\"idle\",\"created_at\":\"2026-10-28T02:08:56.533879+00:00\"},\"wake_mode\":\"idle\",\"channel\":\"mail\",\"message_id\":\"103e0bc3-7502-4acb-912d-016ad3fef038\",\"conversati",
        "expected": "actionable_mail event",
        "input": "alice sends fresh mail via wrapper, bob runs aw events stream",
        "kind": "claim",
        "outcome": "Real input produced the expected result: actionable_mail",
        "returncode": 0,
        "source": "Bob receives an `actionable_mail` event containing a `message_id`.",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Bob's event stream wakes on mail delivered by Alice",
        "command": "<guest-path>",
        "evidence": "Sent mail in conversation b9d8dceb-33fd-41c9-ad53-d22c65c07ff9 (message_id=bde2d4e4-cd77-47b7-9977-e361e0a1fbed)\n{\"type\":\"connected\",\"raw\":{\"agent_id\":\"5ce895f9-d829-4c1f-9ad6-a1e57822309d\",\"team_id\":\"default:local\"},\"agent_id\":\"5ce895f9-d829-4c1f-9ad6-a1e57822309d\",\"team_id\":\"default:local\"}\n{\"type\":\"actionable_mail\",\"raw\":{\"type\":\"actionable_mail\",\"message_id\":\"103e0bc3-7502-4acb-912d-016ad3fef038\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_stable_id\":\"\",\"from_address\":\"local/alice\",\"subject\":\"wake probe\",\"priority\":\"normal\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"encrypted\":false,\"unread_count\":6,\"wake_mode\":\"idle\",\"created_at\":\"2026-10-28T02:08:56.533879+00:00\"},\"wake_mode\":\"idle\",\"channel\":\"mail\",\"message_id\":\"103e0bc3-7502-4acb-912d-016ad3fef038\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_address\":\"local/alice\",\"subject\":\"wake probe\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"unread_count\":6}\n{\"type\":\"actionable_mail\",\"raw\":{\"type\":\"actionable_mail\",\"message_id\":\"9ae7133c-4ca0-400b-af9d-1c776d89ed06\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_stable_id\":\"\",\"from_address\":\"local/alice\",\"subject\":\"cycle check\",\"priority\":\"normal\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"encrypted\":false,\"unread_count\":6,\"wake_mode\":\"idle\",\"created_at\":\"2026-10-28T02:09:06.212380+00:00\"},\"wake_mode\":\"idle\",\"channel\":\"mail\",\"message_id\":\"9ae7133c-4ca0-400b-af9d-1c776d89ed06\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_address\":\"local/alice\",\"subject\":\"cycle check\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"unread_count\":6}\n{\"type\":\"actionable_mail\",\"raw\":{\"type\":\"actionable_mail\",\"message_id\":\"d3032407-da3d-4955-99b9-a14d7bb900a5\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_stable_id\":\"\",\"from_address\":\"local/alice\",\"subject\":\"cycle check\",\"priority\":\"normal\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"encrypted\":false,\"unread_count\":6,\"wake_mode\":\"idle\",\"created_at\":\"2026-10-28T02:09:22.757282+00:00\"},\"wake_mode\":\"idle\",\"channel\":\"mail\",\"message_id\":\"d3032407-da3d-4955-99b9-a14d7bb900a5\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_address\":\"local/alice\",\"subject\":\"cycle check\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"unread_count\":6}\n{\"type\":\"actionable_mail\",\"raw\":{\"type\":\"actionable_mail\",\"message_id\":\"bde160b9-e613-420e-a205-8533f29c6ca7\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_stable_id\":\"\",\"from_address\":\"local/alice\",\"subject\":\"cycle check\",\"priority\":\"normal\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"encrypted\":false,\"unread_count\":6,\"wake_mode\":\"idle\",\"created_at\":\"2026-10-28T02:09:29.102758+00:00\"},\"wake_mode\":\"idle\",\"channel\":\"mail\",\"message_id\":\"bde160b9-e613-420e-a205-8533f29c6ca7\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_address\":\"local/alice\",\"subject\":\"cycle check\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"unread_count\":6}\n{\"type\":\"actionable_mail\",\"raw\":{\"type\":\"actionable_mail\",\"message_id\":\"013f80c2-7d39-4fa5-badc-8248465a4d8d\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_stable_id\":\"\",\"from_address\":\"local/alice\",\"subject\":\"cycle check\",\"priority\":\"normal\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"encrypted\":false,\"unread_count\":6,\"wake_mode\":\"idle\",\"created_at\":\"2026-10-28T02:09:54.983442+00:00\"},\"wake_mode\":\"idle\",\"channel\":\"mail\",\"message_id\":\"013f80c2-7d39-4fa5-badc-8248465a4d8d\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_address\":\"local/alice\",\"subject\":\"cycle check\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"unread_count\":6}\n{\"type\":\"actionable_mail\",\"raw\":{\"type\":\"actionable_mail\",\"message_id\":\"bde2d4e4-cd77-47b7-9977-e361e0a1fbed\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_stable_id\":\"\",\"from_address\":\"local/alice\",\"subject\":\"cycle check\",\"priority\":\"normal\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"encrypted\":false,\"unread_count\":6,\"wake_mode\":\"idle\",\"created_at\":\"2026-10-28T02:10:01.296320+00:00\"},\"wake_mode\":\"idle\",\"channel\":\"mail\",\"message_id\":\"bde2d4e4-cd77-47b7-9977-e361e0a1fbed\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_address\":\"local/alice\",\"subject\":\"cycle check\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"unread_count\":6}",
        "expected": "actionable_mail event emitted with message_id",
        "input": "fresh mail from alice to bob",
        "kind": "cycle",
        "method": "run-once wrapper <guest-path> alice aw mail send then bob aw events stream --json --timeout 6 (no source edits; local SSE only)",
        "outcome": "Triggered one cycle by hand (run-once wrapper <guest-path> alice aw mail send then bob aw events stream --json --timeout 6 (no source edits; local SSE only); normal trigger: event-stream connection; no cron, no loop in the product): Sent mail in conversation b9d8dceb-33fd-41c9-ad53-d22c65c07ff9 (message_id=bde2d4e4-cd77-47b7-9977-e361e0a1fbed)\n{\"type\":\"connected\",\"raw\":{\"agent_id\":\"5ce895f9-d829-4c1f-9ad6-a1e57822309d\",\"team_id\":\"default:local\"},\"agent_id\":\"5ce895f9-d829-4c1f-9ad6-a1e57822309d\",\"team_id\":\"default:local\"}\n{\"type\":\"actionable_mail\",\"raw\":{\"type\":\"actionable_mail\",\"message_id\":\"103e0bc3-7502-4acb-912d-016ad3fef038\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_stable_id\":\"\",\"from_address\":\"local/alice\",\"subject\":\"wake probe\",\"priority\":\"normal\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"encrypted\":false,\"unread_count\":6,\"wake_mode\":\"idle\",\"created_at\":\"2026-10-28T02:08:56.533879+00:00\"},\"wake_mode\":\"idle\",\"channel\":\"mail\",\"message_id\":\"103e0bc3-7502-4acb-912d-016ad3fef038\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_address\":\"local/alice\",\"subject\":\"wake probe\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"unread_count\":6}\n{\"type\":\"actionable_mail\",\"raw\":{\"type\":\"actionable_mail\",\"message_id\":\"9ae7133c-4ca0-400b-af9d-1c776d89ed06\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_stable_id\":\"\",\"from_address\":\"local/alice\",\"subject\":\"cycle check\",\"priority\":\"normal\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"encrypted\":false,\"unread_count\":6,\"wake_mode\":\"idle\",\"created_at\":\"2026-10-28T02:09:06.212380+00:00\"},\"wake_mode\":\"idle\",\"channel\":\"mail\",\"message_id\":\"9ae7133c-4ca0-400b-af9d-1c776d89ed06\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_address\":\"local/alice\",\"subject\":\"cycle check\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"unread_count\":6}\n{\"type\":\"actionable_mail\",\"raw\":{\"type\":\"actionable_mail\",\"message_id\":\"d3032407-da3d-4955-99b9-a14d7bb900a5\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_stable_id\":\"\",\"from_address\":\"local/alice\",\"subject\":\"cycle check\",\"priority\":\"normal\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"encrypted\":false,\"unread_count\":6,\"wake_mode\":\"idle\",\"created_at\":\"2026-10-28T02:09:22.757282+00:00\"},\"wake_mode\":\"idle\",\"channel\":\"mail\",\"message_id\":\"d3032407-da3d-4955-99b9-a14d7bb900a5\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_address\":\"local/alice\",\"subject\":\"cycle check\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"unread_count\":6}\n{\"type\":\"actionable_mail\",\"raw\":{\"type\":\"actionable_mail\",\"message_id\":\"bde160b9-e613-420e-a205-8533f29c6ca7\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_stable_id\":\"\",\"from_address\":\"local/alice\",\"subject\":\"cycle check\",\"priority\":\"normal\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"encrypted\":false,\"unread_count\":6,\"wake_mode\":\"idle\",\"created_at\":\"2026-10-28T02:09:29.102758+00:00\"},\"wake_mode\":\"idle\",\"channel\":\"mail\",\"message_id\":\"bde160b9-e613-420e-a205-8533f29c6ca7\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_address\":\"local/alice\",\"subject\":\"cycle check\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"unread_count\":6}\n{\"type\":\"actionable_mail\",\"raw\":{\"type\":\"actionable_mail\",\"message_id\":\"013f80c2-7d39-4fa5-badc-8248465a4d8d\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_stable_id\":\"\",\"from_address\":\"local/alice\",\"subject\":\"cycle check\",\"priority\":\"normal\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"encrypted\":false,\"unread_count\":6,\"wake_mode\":\"idle\",\"created_at\":\"2026-10-28T02:09:54.983442+00:00\"},\"wake_mode\":\"idle\",\"channel\":\"mail\",\"message_id\":\"013f80c2-7d39-4fa5-badc-8248465a4d8d\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_address\":\"local/alice\",\"subject\":\"cycle check\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"unread_count\":6}\n{\"type\":\"actionable_mail\",\"raw\":{\"type\":\"actionable_mail\",\"message_id\":\"bde2d4e4-cd77-47b7-9977-e361e0a1fbed\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_stable_id\":\"\",\"from_address\":\"local/alice\",\"subject\":\"cycle check\",\"priority\":\"normal\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"encrypted\":false,\"unread_count\":6,\"wake_mode\":\"idle\",\"created_at\":\"2026-10-28T02:10:01.296320+00:00\"},\"wake_mode\":\"idle\",\"channel\":\"mail\",\"message_id\":\"bde2d4e4-cd77-47b7-9977-e361e0a1fbed\",\"conversation_id\":\"b9d8dceb-33fd-41c9-ad53-d22c65c07ff9\",\"from_alias\":\"alice\",\"from_did\":\"did:key:z6MkmWQx7LE72bY6fvXA8ANPtVbR4hKUNBNLCPUQDUeUx7tr\",\"from_address\":\"local/alice\",\"subject\":\"cycle check\",\"content_mode\":\"legacy_plaintext_v1\",\"message_version\":1,\"unread_count\":6}",
        "returncode": 0,
        "schedule": "event-stream connection; no cron, no loop in the product",
        "source": "README.md",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "aw",
        "mail",
        "show",
        "--conversation-id",
        "b9d8dceb-33fd-41c9-ad53-d22c65c07ff9"
      ],
      "kind": "cli",
      "needs_browser": false,
      "needs_credentials": false,
      "returncode": 0,
      "scope": "product operation",
      "stderr": "",
      "stdout": "Mail conversation b9d8dceb-33fd-41c9-ad53-d22c65c07ff9 (6 messages):\n\n- local/alice \u2014 review requested: Please review this branch and reply in the same conversation.\n- local/alice \u2014 cycle check: wake test\n- local/alice \u2014 wake probe: wake probe body\n- local/alice \u2014 cycle check: wake test\n- local/alice \u2014 cycle check: wake test\n- local/alice \u2014 cycle check: wake test",
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "Bob fetches the durable message content by message id",
        "command": "aw mail show --message-id 25e83edf-d615-47c1-976a-25534187ab37",
        "deferred": false,
        "evidence": "Mail conversation b9d8dceb-33fd-41c9-ad53-d22c65c07ff9 (1 messages):\n\n- local/alice \u2014 review requested: Please review this branch and reply in the same conversation.",
        "expected": "message body shown",
        "input": "message id of alice's review request",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "deviations": [
    "Docker was not installed in the guest. Ran: sudo apt-get -o DPkg::Lock::Timeout=300 install -y docker.io docker-compose-v2 (succeeded), then sudo systemctl start docker. Docker commands run with sudo because the ubuntu user is not in the docker group.",
    "npm global install ran with sudo (sudo npm install -g @awebai/aw) to place aw in /usr/local/bin.",
    "The workspace is not a git repository and no git fetch/reset was needed; the source snapshot was used as-is.",
    "Bob's team join used the invite token from alice's aw team invite on the local stack (no DNS, no hosted account).",
    "The validation run first failed on two claims because aw mail show marks mail as read, so inbox and the wake stream no longer returned the earlier message. Fixed by using the durable conversation view (aw mail show --conversation-id) for the delivery claim and a guest wrapper <guest-path> that sends fresh mail from alice and then runs bob's aw events stream --json --timeout 6. The wrapper only sequences the two documented aw commands; it is a substitute trigger, not a product scheduler.",
    "The compose stack (aweb, awid, postgres, redis) was left running until guest teardown, as required for the CLI probes."
  ],
  "fault_owner": null,
  "main_blocker": null,
  "operation": "Run the local aweb OSS stack from the README and exchange a durable mail round trip between two agents (alice and bob) through the aw CLI, including a wake-up event.",
  "operation_scope": "Local OSS path only (README 'Local OSS stack'): docker compose stack for aweb (port 8000) and AWID (port 8010), local team 'default:local'. Hosted aweb.ai path, Claude Code/Pi channel plugins, and browser/CDP were not used. Node v22.23.4, Python 3.12.3, Docker 29.1.3, Compose 2.40.3.",
  "outcome": "working",
  "plain_failure": null,
  "steps": [
    "npm install -g @awebai/aw",
    "aw version",
    "cd server && cp .env.example .env && echo \"AWID_SERVICE_TOKEN=$(openssl rand -hex 32)\" >> .env",
    "docker compose up --build -d",
    "curl http://localhost:8000/health ; curl http://localhost:8010/health",
    "export AWEB_URL=http://localhost:8000 AWID_REGISTRY_URL=http://localhost:8010; aw init --new-team --name alice",
    "aw check ; aw check --online",
    "aw team invite",
    "aw team join <invite-token> --name bob ; aw check",
    "aw mail send --to bob --subject \"review requested\" --body \"Please review this branch and reply in the same conversation.\"",
    "aw mail inbox ; aw mail show --message-id <id> ; aw mail show --conversation-id <id>",
    "aw events stream --json --timeout 6 (wake-up actionable_mail event)"
  ],
  "stuck_step": null,
  "suggested_fix": "None for the working path. Note: aw mail show marks mail as read, which changes what aw mail inbox and aw events stream return later; tests that depend on unread state need fresh mail per run."
}
