test(issue-5): add layer-1 herdr and layer-2 watcher test fixtures

This commit is contained in:
Godopu committed 2026-09-06 13:27:45 +09:00
1 parent 720774c1e7
commit f85fa5b6cf
15 files changed
+983

No files matched your search

+35
View File
@@ -0,0 +1,35 @@
{
"schema_version": "1.0.0",
"capture_id": "cap-agy-timeout-01",
"backend": "agy",
"herdr_version": "0.8.2",
"backend_version": "unknown",
"platform": "darwin-arm64",
"provenance": "observed",
"command_argv": [
"herdr",
"agent",
"wait",
"creator-agy-01",
"--until",
"done",
"--timeout",
"50"
],
"exit_code": 1,
"stdout_payload": null,
"stderr": "{\"error\":{\"code\":\"timeout\",\"message\":\"timed out waiting for agent status\"},\"id\":\"cli:agent:wait\"}",
"captured_at": "2026-09-06T00:45:00Z",
"collector_clock_id": "CLOCK_MONOTONIC",
"monotonic_start": 100.0,
"monotonic_end": 100.05,
"evidence_reference": ".mam/jobs/129a95db/evidence/timeout_stderr.json",
"normalization_map_reference": "paths_normalized: /Users/godopu16/PuKi/laa/canary_projects/multi-agent-mux -> <WORKSPACE_ROOT>",
"payload": {
"error": {
"code": "timeout",
"message": "timed out waiting for agent status"
},
"id": "cli:agent:wait"
}
}
+81
View File
@@ -0,0 +1,81 @@
{
"schema_version": "1.0.0",
"capture_id": "cap-agy-working-01",
"backend": "agy",
"herdr_version": "0.8.2",
"backend_version": "unknown",
"platform": "darwin-arm64",
"provenance": "observed",
"command_argv": [
"herdr",
"agent",
"get",
"creator-agy-01"
],
"exit_code": 0,
"stdout_payload": {
"id": "cli:agent:get",
"result": {
"agent": {
"agent": "agy",
"agent_session": {
"agent": "agy",
"kind": "id",
"source": "herdr:antigravity_cli",
"value": "1c53dd89-81fc-49a6-b15e-bef3dfb61697"
},
"agent_status": "working",
"cwd": "<WORKSPACE_ROOT>",
"focused": false,
"foreground_cwd": "<WORKSPACE_ROOT>",
"interactive_ready": true,
"name": "creator-agy-01",
"pane_id": "w2X:p3",
"revision": 2,
"state_change_seq": 29,
"tab_id": "w2X:t1",
"terminal_id": "term_65ac4b5991acc4",
"terminal_title": "agy --dangerously-skip-permissions --conversation ",
"terminal_title_stripped": "agy --dangerously-skip-permissions --conversation",
"workspace_id": "w2X"
},
"type": "agent_info"
}
},
"stderr": null,
"captured_at": "2026-09-06T00:45:00Z",
"collector_clock_id": "CLOCK_MONOTONIC",
"monotonic_start": 100.0,
"monotonic_end": 100.05,
"evidence_reference": ".mam/jobs/129a95db/evidence/get_agy_working.json",
"normalization_map_reference": "paths_normalized: /Users/godopu16/PuKi/laa/canary_projects/multi-agent-mux -> <WORKSPACE_ROOT>",
"payload": {
"id": "cli:agent:get",
"result": {
"agent": {
"agent": "agy",
"agent_session": {
"agent": "agy",
"kind": "id",
"source": "herdr:antigravity_cli",
"value": "1c53dd89-81fc-49a6-b15e-bef3dfb61697"
},
"agent_status": "working",
"cwd": "<WORKSPACE_ROOT>",
"focused": false,
"foreground_cwd": "<WORKSPACE_ROOT>",
"interactive_ready": true,
"name": "creator-agy-01",
"pane_id": "w2X:p3",
"revision": 2,
"state_change_seq": 29,
"tab_id": "w2X:t1",
"terminal_id": "term_65ac4b5991acc4",
"terminal_title": "agy --dangerously-skip-permissions --conversation ",
"terminal_title_stripped": "agy --dangerously-skip-permissions --conversation",
"workspace_id": "w2X"
},
"type": "agent_info"
}
}
}
+81
View File
@@ -0,0 +1,81 @@
{
"schema_version": "1.0.0",
"capture_id": "cap-claude-idle-01",
"backend": "claude",
"herdr_version": "0.8.2",
"backend_version": "unknown",
"platform": "darwin-arm64",
"provenance": "observed",
"command_argv": [
"herdr",
"agent",
"get",
"planner-reviewer-claude-01"
],
"exit_code": 0,
"stdout_payload": {
"id": "cli:agent:get",
"result": {
"agent": {
"agent": "claude",
"agent_session": {
"agent": "claude",
"kind": "id",
"source": "herdr:claude",
"value": "7d5700d0-bab1-4f65-9665-6b887396a9a6"
},
"agent_status": "idle",
"cwd": "<WORKSPACE_ROOT>",
"focused": false,
"foreground_cwd": "<WORKSPACE_ROOT>",
"interactive_ready": true,
"name": "planner-reviewer-claude-01",
"pane_id": "w2X:p1",
"revision": 3,
"state_change_seq": 18,
"tab_id": "w2X:t1",
"terminal_id": "term_65ac4b2b224de2",
"terminal_title": "✳ Multi-agent-mux team leader onboarding",
"terminal_title_stripped": "Multi-agent-mux team leader onboarding",
"workspace_id": "w2X"
},
"type": "agent_info"
}
},
"stderr": null,
"captured_at": "2026-09-06T00:45:00Z",
"collector_clock_id": "CLOCK_MONOTONIC",
"monotonic_start": 100.0,
"monotonic_end": 100.05,
"evidence_reference": ".mam/jobs/129a95db/evidence/get_claude_idle.json",
"normalization_map_reference": "paths_normalized: /Users/godopu16/PuKi/laa/canary_projects/multi-agent-mux -> <WORKSPACE_ROOT>",
"payload": {
"id": "cli:agent:get",
"result": {
"agent": {
"agent": "claude",
"agent_session": {
"agent": "claude",
"kind": "id",
"source": "herdr:claude",
"value": "7d5700d0-bab1-4f65-9665-6b887396a9a6"
},
"agent_status": "idle",
"cwd": "<WORKSPACE_ROOT>",
"focused": false,
"foreground_cwd": "<WORKSPACE_ROOT>",
"interactive_ready": true,
"name": "planner-reviewer-claude-01",
"pane_id": "w2X:p1",
"revision": 3,
"state_change_seq": 18,
"tab_id": "w2X:t1",
"terminal_id": "term_65ac4b2b224de2",
"terminal_title": "✳ Multi-agent-mux team leader onboarding",
"terminal_title_stripped": "Multi-agent-mux team leader onboarding",
"workspace_id": "w2X"
},
"type": "agent_info"
}
}
}
+81
View File
@@ -0,0 +1,81 @@
{
"schema_version": "1.0.0",
"capture_id": "cap-codex-done-01",
"backend": "codex",
"herdr_version": "0.8.2",
"backend_version": "unknown",
"platform": "darwin-arm64",
"provenance": "observed",
"command_argv": [
"herdr",
"agent",
"get",
"planner-reviewer-codex-01"
],
"exit_code": 0,
"stdout_payload": {
"id": "cli:agent:get",
"result": {
"agent": {
"agent": "codex",
"agent_session": {
"agent": "codex",
"kind": "id",
"source": "herdr:codex",
"value": "01a071d1-a645-7400-afdb-3b08019800b3"
},
"agent_status": "done",
"cwd": "<WORKSPACE_ROOT>",
"focused": true,
"foreground_cwd": "<WORKSPACE_ROOT>",
"interactive_ready": true,
"name": "planner-reviewer-codex-01",
"pane_id": "w2X:p4",
"revision": 3,
"state_change_seq": 26,
"tab_id": "w2X:t1",
"terminal_id": "term_65ac4b62bd4e75",
"terminal_title": "multi-agent-mux",
"terminal_title_stripped": "multi-agent-mux",
"workspace_id": "w2X"
},
"type": "agent_info"
}
},
"stderr": null,
"captured_at": "2026-09-06T00:45:00Z",
"collector_clock_id": "CLOCK_MONOTONIC",
"monotonic_start": 100.0,
"monotonic_end": 100.05,
"evidence_reference": ".mam/jobs/129a95db/evidence/get_codex_done.json",
"normalization_map_reference": "paths_normalized: /Users/godopu16/PuKi/laa/canary_projects/multi-agent-mux -> <WORKSPACE_ROOT>",
"payload": {
"id": "cli:agent:get",
"result": {
"agent": {
"agent": "codex",
"agent_session": {
"agent": "codex",
"kind": "id",
"source": "herdr:codex",
"value": "01a071d1-a645-7400-afdb-3b08019800b3"
},
"agent_status": "done",
"cwd": "<WORKSPACE_ROOT>",
"focused": true,
"foreground_cwd": "<WORKSPACE_ROOT>",
"interactive_ready": true,
"name": "planner-reviewer-codex-01",
"pane_id": "w2X:p4",
"revision": 3,
"state_change_seq": 26,
"tab_id": "w2X:t1",
"terminal_id": "term_65ac4b62bd4e75",
"terminal_title": "multi-agent-mux",
"terminal_title_stripped": "multi-agent-mux",
"workspace_id": "w2X"
},
"type": "agent_info"
}
}
}
+81
View File
@@ -0,0 +1,81 @@
{
"schema_version": "1.0.0",
"capture_id": "cap-grok-idle-01",
"backend": "grok",
"herdr_version": "0.8.2",
"backend_version": "unknown",
"platform": "darwin-arm64",
"provenance": "observed",
"command_argv": [
"herdr",
"agent",
"get",
"reviewer-creator-grok-01"
],
"exit_code": 0,
"stdout_payload": {
"id": "cli:agent:get",
"result": {
"agent": {
"agent": "grok",
"agent_session": {
"agent": "grok",
"kind": "id",
"source": "herdr:grok",
"value": "3ea2d545-f7cf-4357-a743-25b2c988e46a"
},
"agent_status": "idle",
"cwd": "<WORKSPACE_ROOT>",
"focused": false,
"foreground_cwd": "<WORKSPACE_ROOT>",
"interactive_ready": true,
"name": "reviewer-creator-grok-01",
"pane_id": "w2X:p2",
"revision": 131,
"state_change_seq": 17,
"tab_id": "w2X:t1",
"terminal_id": "term_65ac4b4eb7c7d3",
"terminal_title": "Hermes review and cline deprecation cons… - grok",
"terminal_title_stripped": "Hermes review and cline deprecation cons… - grok",
"workspace_id": "w2X"
},
"type": "agent_info"
}
},
"stderr": null,
"captured_at": "2026-09-06T00:45:00Z",
"collector_clock_id": "CLOCK_MONOTONIC",
"monotonic_start": 100.0,
"monotonic_end": 100.05,
"evidence_reference": ".mam/jobs/129a95db/evidence/get_grok_idle.json",
"normalization_map_reference": "paths_normalized: /Users/godopu16/PuKi/laa/canary_projects/multi-agent-mux -> <WORKSPACE_ROOT>",
"payload": {
"id": "cli:agent:get",
"result": {
"agent": {
"agent": "grok",
"agent_session": {
"agent": "grok",
"kind": "id",
"source": "herdr:grok",
"value": "3ea2d545-f7cf-4357-a743-25b2c988e46a"
},
"agent_status": "idle",
"cwd": "<WORKSPACE_ROOT>",
"focused": false,
"foreground_cwd": "<WORKSPACE_ROOT>",
"interactive_ready": true,
"name": "reviewer-creator-grok-01",
"pane_id": "w2X:p2",
"revision": 131,
"state_change_seq": 17,
"tab_id": "w2X:t1",
"terminal_id": "term_65ac4b4eb7c7d3",
"terminal_title": "Hermes review and cline deprecation cons… - grok",
"terminal_title_stripped": "Hermes review and cline deprecation cons… - grok",
"workspace_id": "w2X"
},
"type": "agent_info"
}
}
}
+167
View File
@@ -0,0 +1,167 @@
{
"schema_version": "1.0.0",
"herdr_version": "0.8.2",
"description": "Native Herdr observation fixture manifest across 6 backends",
"backends": {
"claude": {
"installed_binary": "/Users/godopu16/.local/bin/claude",
"active_session": "planner-reviewer-claude-01",
"slots": {
"idle": {
"status": "observed",
"file": "claude/idle.json"
},
"working": {
"status": "unobserved",
"reason": "session was idle during capture window"
},
"blocked": {
"status": "unobserved",
"reason": "no interactive permission prompt pending"
},
"done": {
"status": "unobserved",
"reason": "session in idle state"
},
"unknown": {
"status": "unobserved",
"reason": "session is active and healthy"
}
}
},
"agy": {
"installed_binary": "/Users/godopu16/.local/bin/agy",
"active_session": "creator-agy-01",
"slots": {
"idle": {
"status": "unobserved",
"reason": "session actively executing task b75d76d0/129a95db"
},
"working": {
"status": "observed",
"file": "agy/working.json"
},
"blocked": {
"status": "unobserved",
"reason": "agy running with --dangerously-skip-permissions"
},
"done": {
"status": "unobserved",
"reason": "session actively working"
},
"unknown": {
"status": "unobserved",
"reason": "session is active and healthy"
},
"wait_timeout": {
"status": "observed",
"file": "agy/wait_timeout.json"
}
}
},
"hermes": {
"installed_binary": "/Users/godopu16/.local/bin/hermes",
"active_session": null,
"slots": {
"idle": {
"status": "unobserved",
"reason": "no hermes session currently active in herdr persistent daemon"
},
"working": {
"status": "unobserved",
"reason": "no hermes session currently active in herdr persistent daemon"
},
"blocked": {
"status": "unobserved",
"reason": "no hermes session currently active in herdr persistent daemon"
},
"done": {
"status": "unobserved",
"reason": "no hermes session currently active in herdr persistent daemon"
},
"unknown": {
"status": "unobserved",
"reason": "no hermes session currently active in herdr persistent daemon"
}
}
},
"grok": {
"installed_binary": "/Users/godopu16/.grok/bin/grok",
"active_session": "reviewer-creator-grok-01",
"slots": {
"idle": {
"status": "observed",
"file": "grok/idle.json"
},
"working": {
"status": "unobserved",
"reason": "session currently idle waiting for review assignment"
},
"blocked": {
"status": "unobserved",
"reason": "no permission prompt pending"
},
"done": {
"status": "unobserved",
"reason": "session currently idle"
},
"unknown": {
"status": "unobserved",
"reason": "session is active and healthy"
}
}
},
"opencode": {
"installed_binary": "/Users/godopu16/.opencode/bin/opencode",
"active_session": null,
"slots": {
"idle": {
"status": "unobserved",
"reason": "no opencode session currently active in herdr persistent daemon"
},
"working": {
"status": "unobserved",
"reason": "no opencode session currently active in herdr persistent daemon"
},
"blocked": {
"status": "unobserved",
"reason": "no opencode session currently active in herdr persistent daemon"
},
"done": {
"status": "unobserved",
"reason": "no opencode session currently active in herdr persistent daemon"
},
"unknown": {
"status": "unobserved",
"reason": "no opencode session currently active in herdr persistent daemon"
}
}
},
"codex": {
"installed_binary": "/Users/godopu16/.local/bin/codex",
"active_session": "planner-reviewer-codex-01",
"slots": {
"idle": {
"status": "unobserved",
"reason": "session currently in done state"
},
"working": {
"status": "unobserved",
"reason": "session currently in done state"
},
"blocked": {
"status": "unobserved",
"reason": "no permission prompt pending"
},
"done": {
"status": "observed",
"file": "codex/done.json"
},
"unknown": {
"status": "unobserved",
"reason": "session is active and healthy"
}
}
}
}
}
+80
View File
@@ -0,0 +1,80 @@
{
"schema_version": "1.0.0",
"herdr_version": "0.8.2",
"cli_command": "herdr agent wait <TARGET> [OPTIONS]",
"options": {
"--until": {
"type": "string",
"repeatable": true,
"possible_values": [
"idle",
"working",
"blocked",
"done",
"unknown"
],
"default_when_omitted": [
"idle",
"done",
"blocked"
]
},
"--timeout": {
"type": "integer_ms",
"required": false,
"default_when_omitted": "unlimited (indefinite block)"
}
},
"call_outcomes": [
{
"outcome": "state_matched",
"exit_code": 0,
"output_channel": "stdout",
"sample_command": [
"herdr",
"agent",
"wait",
"creator-agy-01",
"--until",
"working",
"--timeout",
"1000"
],
"evidence_reference": ".mam/jobs/129a95db/evidence/wait_agy_working_immediate.json"
},
{
"outcome": "timeout",
"exit_code": 1,
"output_channel": "stderr",
"error_code": "timeout",
"sample_command": [
"herdr",
"agent",
"wait",
"creator-agy-01",
"--until",
"done",
"--timeout",
"50"
],
"evidence_reference": ".mam/jobs/129a95db/evidence/timeout_stderr.json"
},
{
"outcome": "agent_not_found",
"exit_code": 1,
"output_channel": "stderr",
"error_code": "agent_not_found",
"sample_command": [
"herdr",
"agent",
"wait",
"non-existent-agent-target",
"--until",
"idle",
"--timeout",
"50"
],
"evidence_reference": ".mam/jobs/129a95db/evidence/unknown_target_stderr.txt"
}
]
}
+38
View File
@@ -0,0 +1,38 @@
{
"schema_version": "1.0.0",
"scenario_id": "blocked_permission",
"backend": "backend_agnostic",
"provenance": "simulated",
"description": "Native status blocked on interactive permission prompt. Completion forbidden.",
"dispatch_context": {
"job_id": "test-job-blocked-01",
"attempt_id": 1,
"agent_session_uuid": "1c53dd89-81fc-49a6-b15e-bef3dfb61697",
"pane_process_generation": "w2X:p3:5678:2026-09-06T00:00:00Z",
"dispatch_ack": true,
"execution_anchor_observed": true
},
"timeline": [
{
"collector_clock_id": "CLOCK_MONOTONIC",
"relative_ms": 0,
"source_kind": "herdr",
"source_provenance": "simulated",
"payload": {
"agent_status": "blocked",
"interactive_ready": false,
"matched_rule": "permission_prompt"
}
}
],
"filesystem": {
"report_path": ".mam/jobs/test-job-blocked-01/report-final.md",
"exists": false,
"manifest_committed": false
},
"expected_policy": {
"decision": "hold_blocked",
"reason": "agent terminal is blocked awaiting user permission",
"policy_version": "2.0.0"
}
}
+61
View File
@@ -0,0 +1,61 @@
{
"schema_version": "1.0.0",
"scenario_id": "finalized_candidate",
"backend": "backend_agnostic",
"provenance": "simulated",
"description": "Execution anchor verified, native status idle/done, atomic rename complete with valid SHA-256 commit manifest. Inferred candidate approved for CAS.",
"dispatch_context": {
"job_id": "test-job-finalized-01",
"attempt_id": 1,
"agent_session_uuid": "7d5700d0-bab1-4f65-9665-6b887396a9a6",
"pane_process_generation": "w2X:p1:1234:2026-09-06T00:00:00Z",
"dispatch_ack": true,
"execution_anchor_observed": true
},
"timeline": [
{
"collector_clock_id": "CLOCK_MONOTONIC",
"relative_ms": 0,
"source_kind": "event",
"source_provenance": "simulated",
"payload": {
"event": "started",
"job_id": "test-job-finalized-01"
}
},
{
"collector_clock_id": "CLOCK_MONOTONIC",
"relative_ms": 5000,
"source_kind": "filesystem",
"source_provenance": "simulated",
"payload": {
"report_manifest": {
"report_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"attempt_id": 1,
"finalized": true
}
}
},
{
"collector_clock_id": "CLOCK_MONOTONIC",
"relative_ms": 6000,
"source_kind": "herdr",
"source_provenance": "simulated",
"payload": {
"agent_status": "idle",
"interactive_ready": true
}
}
],
"filesystem": {
"report_path": ".mam/jobs/test-job-finalized-01/report-final.md",
"exists": true,
"manifest_committed": true,
"hash_verified": true
},
"expected_policy": {
"decision": "candidate_approved",
"reason": "all 4-fold attribution, fresh idle status, and atomic finalization manifest verified",
"policy_version": "2.0.0"
}
}
+47
View File
@@ -0,0 +1,47 @@
{
"schema_version": "1.0.0",
"scenario_id": "initial_idle",
"backend": "backend_agnostic",
"provenance": "simulated",
"description": "Dispatch record exists and native status is idle, but no execution anchor observed since dispatch_ack. Inferred completion must be held.",
"dispatch_context": {
"job_id": "test-job-init-idle-01",
"attempt_id": 1,
"agent_session_uuid": "7d5700d0-bab1-4f65-9665-6b887396a9a6",
"pane_process_generation": "w2X:p1:1234:2026-09-06T00:00:00Z",
"dispatch_ack": true,
"execution_anchor_observed": false
},
"timeline": [
{
"collector_clock_id": "CLOCK_MONOTONIC",
"relative_ms": 0,
"source_kind": "event",
"source_provenance": "simulated",
"payload": {
"event": "dispatched",
"job_id": "test-job-init-idle-01"
}
},
{
"collector_clock_id": "CLOCK_MONOTONIC",
"relative_ms": 500,
"source_kind": "herdr",
"source_provenance": "simulated",
"payload": {
"agent_status": "idle",
"interactive_ready": true
}
}
],
"filesystem": {
"report_path": ".mam/jobs/test-job-init-idle-01/report-final.md",
"exists": false,
"manifest_committed": false
},
"expected_policy": {
"decision": "hold",
"reason": "no execution anchor observed for this attempt",
"policy_version": "2.0.0"
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"schema_version": "1.0.0",
"description": "Multi-channel Watcher composite timeline scenario manifest",
"scenarios": {
"initial_idle": {
"file": "initial_idle.json",
"provenance": "simulated",
"expected_decision": "hold",
"description": "Dispatch record exists and native status is idle, but no execution anchor observed since dispatch_ack. Inferred completion must be held."
},
"tool_running": {
"file": "tool_running.json",
"provenance": "simulated",
"expected_decision": "hold",
"description": "Native status working or interactive_ready with active background tool execution. Inferred completion must be held."
},
"report_pause_15s": {
"file": "report_pause_15s.json",
"provenance": "simulated",
"expected_decision": "hold",
"description": "Partial report written and stable for >= 15s debounce, but lacks atomic finalization manifest. Completion must be held."
},
"finalized_candidate": {
"file": "finalized_candidate.json",
"provenance": "simulated",
"expected_decision": "candidate_approved",
"description": "Execution anchor verified, native status idle/done, atomic rename complete with valid SHA-256 commit manifest. Inferred candidate approved for CAS."
},
"blocked_permission": {
"file": "blocked_permission.json",
"provenance": "simulated",
"expected_decision": "hold_blocked",
"description": "Native status blocked on interactive permission prompt. Completion forbidden."
},
"transport_disconnected": {
"file": "transport_disconnected.json",
"provenance": "simulated",
"expected_decision": "hold_reconnect",
"description": "Herdr socket connection failure or freshness gap. Cached evidence invalidated; must reconnect and resnapshot."
},
"restarted_generation": {
"file": "restarted_generation.json",
"provenance": "simulated",
"expected_decision": "reject_stale",
"description": "Pane process restarted with new PID/start time; stale attempt rejected."
}
}
}
+60
View File
@@ -0,0 +1,60 @@
{
"schema_version": "1.0.0",
"scenario_id": "report_pause_15s",
"backend": "backend_agnostic",
"provenance": "simulated",
"description": "Partial report written and stable for >= 15s debounce, but lacks atomic finalization manifest. Completion must be held.",
"dispatch_context": {
"job_id": "test-job-pause-01",
"attempt_id": 1,
"agent_session_uuid": "1c53dd89-81fc-49a6-b15e-bef3dfb61697",
"pane_process_generation": "w2X:p3:5678:2026-09-06T00:00:00Z",
"dispatch_ack": true,
"execution_anchor_observed": true
},
"timeline": [
{
"collector_clock_id": "CLOCK_MONOTONIC",
"relative_ms": 0,
"source_kind": "filesystem",
"source_provenance": "simulated",
"payload": {
"file": "report-final.md.tmp",
"bytes": 250,
"phase": "writing"
}
},
{
"collector_clock_id": "CLOCK_MONOTONIC",
"relative_ms": 16000,
"source_kind": "filesystem",
"source_provenance": "simulated",
"payload": {
"file": "report-final.md.tmp",
"bytes": 250,
"mtime_stale_sec": 16.0
}
},
{
"collector_clock_id": "CLOCK_MONOTONIC",
"relative_ms": 16100,
"source_kind": "herdr",
"source_provenance": "simulated",
"payload": {
"agent_status": "working",
"interactive_ready": true
}
}
],
"filesystem": {
"report_path": ".mam/jobs/test-job-pause-01/report-final.md",
"exists": false,
"tmp_file_exists": true,
"manifest_committed": false
},
"expected_policy": {
"decision": "hold",
"reason": "debounce elapsed on partial file, but report is unfinalized without manifest",
"policy_version": "2.0.0"
}
}
@@ -0,0 +1,38 @@
{
"schema_version": "1.0.0",
"scenario_id": "restarted_generation",
"backend": "backend_agnostic",
"provenance": "simulated",
"description": "Pane process restarted with new PID/start time; stale attempt rejected.",
"dispatch_context": {
"job_id": "test-job-restarted-01",
"attempt_id": 1,
"agent_session_uuid": "7d5700d0-bab1-4f65-9665-6b887396a9a6",
"pane_process_generation": "w2X:p1:1234:2026-09-06T00:00:00Z",
"dispatch_ack": true,
"execution_anchor_observed": false
},
"timeline": [
{
"collector_clock_id": "CLOCK_MONOTONIC",
"relative_ms": 0,
"source_kind": "herdr",
"source_provenance": "simulated",
"payload": {
"pane_id": "w2X:p1",
"pane_process_generation": "w2X:p1:9999:2026-09-06T01:00:00Z",
"agent_status": "idle"
}
}
],
"filesystem": {
"report_path": ".mam/jobs/test-job-restarted-01/report-final.md",
"exists": false,
"manifest_committed": false
},
"expected_policy": {
"decision": "reject_stale",
"reason": "observed process generation does not match active dispatch attempt",
"policy_version": "2.0.0"
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"schema_version": "1.0.0",
"scenario_id": "tool_running",
"backend": "backend_agnostic",
"provenance": "simulated",
"description": "Native status working or interactive_ready with active background tool execution. Inferred completion must be held.",
"dispatch_context": {
"job_id": "test-job-tool-running-01",
"attempt_id": 1,
"agent_session_uuid": "1c53dd89-81fc-49a6-b15e-bef3dfb61697",
"pane_process_generation": "w2X:p3:5678:2026-09-06T00:00:00Z",
"dispatch_ack": true,
"execution_anchor_observed": true
},
"timeline": [
{
"collector_clock_id": "CLOCK_MONOTONIC",
"relative_ms": 0,
"source_kind": "herdr",
"source_provenance": "simulated",
"payload": {
"agent_status": "working",
"interactive_ready": true
}
},
{
"collector_clock_id": "CLOCK_MONOTONIC",
"relative_ms": 200,
"source_kind": "harness",
"source_provenance": "simulated",
"payload": {
"tool": "bash",
"active": true,
"command": "pytest"
}
}
],
"filesystem": {
"report_path": ".mam/jobs/test-job-tool-running-01/report-final.md",
"exists": false,
"manifest_committed": false
},
"expected_policy": {
"decision": "hold",
"reason": "external tool execution currently active",
"policy_version": "2.0.0"
}
}
@@ -0,0 +1,37 @@
{
"schema_version": "1.0.0",
"scenario_id": "transport_disconnected",
"backend": "backend_agnostic",
"provenance": "simulated",
"description": "Herdr socket connection failure or freshness gap. Cached evidence invalidated; must reconnect and resnapshot.",
"dispatch_context": {
"job_id": "test-job-disconnect-01",
"attempt_id": 1,
"agent_session_uuid": "7d5700d0-bab1-4f65-9665-6b887396a9a6",
"pane_process_generation": "w2X:p1:1234:2026-09-06T00:00:00Z",
"dispatch_ack": true,
"execution_anchor_observed": true
},
"timeline": [
{
"collector_clock_id": "CLOCK_MONOTONIC",
"relative_ms": 0,
"source_kind": "herdr",
"source_provenance": "simulated",
"payload": {
"error": "connection_refused",
"transport_healthy": false
}
}
],
"filesystem": {
"report_path": ".mam/jobs/test-job-disconnect-01/report-final.md",
"exists": false,
"manifest_committed": false
},
"expected_policy": {
"decision": "hold_reconnect",
"reason": "transport connection failure; previous idle observations cannot be trusted",
"policy_version": "2.0.0"
}
}