planr 1.10.0-alpha.9 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/.claude-plugin/plugin.json +11 -0
  2. package/CHANGELOG.md +20 -0
  3. package/README.md +27 -245
  4. package/docs/board.md +44 -0
  5. package/docs/cli.md +100 -0
  6. package/docs/concepts.md +133 -0
  7. package/docs/contract.md +150 -0
  8. package/docs/plugins/bb.md +49 -0
  9. package/docs/plugins/claude-code.md +84 -0
  10. package/docs/plugins/codex.md +77 -0
  11. package/docs/quickstart.md +307 -0
  12. package/docs/setup.md +103 -0
  13. package/package.json +21 -68
  14. package/plugin.json +12 -0
  15. package/skills/planr/SKILL.md +64 -0
  16. package/skills/planr/assets/board/fonts/LICENSE-mona-sans.txt +93 -0
  17. package/skills/planr/assets/board/fonts/LICENSE-monaspace.txt +93 -0
  18. package/skills/planr/assets/board/fonts/MonaSans-Variable.woff2 +0 -0
  19. package/skills/planr/assets/board/fonts/MonaspaceNeon-400.woff2 +0 -0
  20. package/skills/planr/assets/board/fonts/MonaspaceNeon-500.woff2 +0 -0
  21. package/skills/planr/assets/board/fonts/MonaspaceNeon-600.woff2 +0 -0
  22. package/skills/planr/assets/board/template.html +788 -0
  23. package/skills/planr/assets/templates/goal.md +13 -0
  24. package/skills/planr/assets/templates/hook.sh +4 -0
  25. package/skills/planr/assets/templates/in-repo.config.json +6 -0
  26. package/skills/planr/assets/templates/planr.config.json +6 -0
  27. package/skills/planr/assets/templates/tasks-README.md +14 -0
  28. package/skills/planr/references/format.md +88 -0
  29. package/skills/planr/references/work-a-goal.md +62 -0
  30. package/skills/planr/scripts/lib/board.mjs +39 -0
  31. package/skills/planr/scripts/lib/graph.mjs +345 -0
  32. package/skills/planr/scripts/lib/runs.mjs +127 -0
  33. package/skills/planr/scripts/lib/version.mjs +11 -0
  34. package/skills/planr/scripts/planr.mjs +386 -0
  35. package/docs/ARCHITECTURE.md +0 -136
  36. package/docs/RELEASE.md +0 -275
  37. package/docs/SWITCHLOOM_COMPATIBILITY.md +0 -14
  38. package/docs/contracts/BROWSER_HARNESS_ADAPTER_V1.md +0 -75
  39. package/docs/contracts/EVAL_CONTRACT_V1.md +0 -2072
  40. package/docs/contracts/EVIDENCE_ADAPTER_PROTOCOL_V1.md +0 -98
  41. package/docs/contracts/EVIDENCE_CONTRACT_V1.md +0 -382
  42. package/docs/contracts/GROK_INTEGRATION_V1.md +0 -139
  43. package/docs/contracts/LINUX_RELEASE_PORTABILITY.json +0 -9
  44. package/docs/contracts/PI_INTEGRATION_V1.md +0 -164
  45. package/docs/contracts/V1_1_DIFFERENTIATION_CONTRACT.md +0 -177
  46. package/docs/contracts/fixtures/evidence/v1/examples/coverage-verdict.json +0 -66
  47. package/docs/contracts/fixtures/evidence/v1/examples/evidence-attempt.json +0 -39
  48. package/docs/contracts/fixtures/evidence/v1/examples/evidence-policy.json +0 -108
  49. package/docs/contracts/fixtures/evidence/v1/examples/evidence-receipt.json +0 -93
  50. package/docs/contracts/fixtures/evidence/v1/examples/evidence-waiver.json +0 -31
  51. package/docs/contracts/fixtures/evidence/v1/examples/proof-obligation.json +0 -55
  52. package/docs/contracts/fixtures/evidence/v1/examples/proof-preset.json +0 -19
  53. package/docs/contracts/fixtures/evidence/v1/examples/untrusted-evidence-proposal.json +0 -20
  54. package/docs/contracts/fixtures/evidence/v1/examples/verification-capability-instance.json +0 -39
  55. package/docs/contracts/fixtures/evidence/v1/examples/verification-capability-manifest.json +0 -52
  56. package/docs/contracts/fixtures/evidence/v1/negative/aborted-zero-exit-attempt.json +0 -39
  57. package/docs/contracts/fixtures/evidence/v1/negative/adapter-registration-missing-execution-contract.json +0 -88
  58. package/docs/contracts/fixtures/evidence/v1/negative/available-empty-probe-capability.json +0 -27
  59. package/docs/contracts/fixtures/evidence/v1/negative/blocked-coverage-with-stale-reason.json +0 -27
  60. package/docs/contracts/fixtures/evidence/v1/negative/empty-trust-bindings-receipt.json +0 -72
  61. package/docs/contracts/fixtures/evidence/v1/negative/failed-zero-exit-attempt.json +0 -39
  62. package/docs/contracts/fixtures/evidence/v1/negative/forged-trusted-receipt.json +0 -35
  63. package/docs/contracts/fixtures/evidence/v1/negative/inconclusive-clean-exit-attempt.json +0 -39
  64. package/docs/contracts/fixtures/evidence/v1/negative/inconclusive-coverage-with-blocked-reason.json +0 -27
  65. package/docs/contracts/fixtures/evidence/v1/negative/minimal-policy-missing-owned-inputs.json +0 -5
  66. package/docs/contracts/fixtures/evidence/v1/negative/mismatched-probe-execution-id-capability.json +0 -42
  67. package/docs/contracts/fixtures/evidence/v1/negative/passed-empty-attempt.json +0 -22
  68. package/docs/contracts/fixtures/evidence/v1/negative/policy-default-preset-unregistered.json +0 -102
  69. package/docs/contracts/fixtures/evidence/v1/negative/policy-weakening-without-waiver.json +0 -102
  70. package/docs/contracts/fixtures/evidence/v1/negative/process-probe-missing-output-limits.json +0 -49
  71. package/docs/contracts/fixtures/evidence/v1/negative/satisfied-empty-coverage-verdict.json +0 -14
  72. package/docs/contracts/fixtures/evidence/v1/negative/skipped-zero-exit-attempt.json +0 -39
  73. package/docs/contracts/fixtures/evidence/v1/negative/stale-coverage-with-inconclusive-reason.json +0 -27
  74. package/docs/contracts/fixtures/evidence/v1/negative/timed-out-zero-exit-attempt.json +0 -39
  75. package/docs/contracts/fixtures/evidence/v1/negative/unavailable-zero-exit-attempt.json +0 -39
  76. package/docs/contracts/fixtures/evidence/v1/negative/unbound-waiver.json +0 -21
  77. package/docs/contracts/fixtures/evidence/v1/negative/unsatisfied-coverage-without-gap.json +0 -63
  78. package/docs/contracts/fixtures/evidence/v1/negative/waived-coverage-forbidden-gap-reason.json +0 -28
  79. package/docs/contracts/fixtures/evidence/v1/negative/waived-coverage-missing-waiver-id.json +0 -27
  80. package/docs/contracts/fixtures/evidence/v1/schemas/evidence-contract-v1.schema.json +0 -2685
  81. package/docs/contracts/schemas/com.planr.web.dom_state.v1.schema.json +0 -30
  82. package/docs/documentation/CONTRACT.md +0 -164
  83. package/docs/documentation/COVERAGE.md +0 -98
  84. package/docs/documentation/INFORMATION_ARCHITECTURE.md +0 -151
  85. package/docs/fixtures/mcp-contract.json +0 -153
  86. package/npm/bin/native-launcher.js +0 -67
  87. package/npm/bin/planr-browser-harness-adapter.js +0 -8
  88. package/npm/bin/planr.js +0 -8
  89. package/npm/native/darwin-arm64/planr +0 -0
  90. package/npm/native/darwin-arm64/planr-browser-harness-adapter +0 -0
  91. package/npm/native/darwin-arm64/planr-host-capability-validator +0 -0
  92. package/npm/native/darwin-x86_64/planr +0 -0
  93. package/npm/native/darwin-x86_64/planr-browser-harness-adapter +0 -0
  94. package/npm/native/darwin-x86_64/planr-host-capability-validator +0 -0
  95. package/npm/native/linux-arm64/planr +0 -0
  96. package/npm/native/linux-arm64/planr-browser-harness-adapter +0 -0
  97. package/npm/native/linux-arm64/planr-host-capability-validator +0 -0
  98. package/npm/native/linux-x86_64/planr +0 -0
  99. package/npm/native/linux-x86_64/planr-browser-harness-adapter +0 -0
  100. package/npm/native/linux-x86_64/planr-host-capability-validator +0 -0
  101. package/plugins/planr/.claude-plugin/plugin.json +0 -11
  102. package/plugins/planr/.codex-plugin/plugin.json +0 -25
  103. package/plugins/planr/agents/pi/planr-reviewer.md +0 -20
  104. package/plugins/planr/agents/pi/planr-worker.md +0 -35
  105. package/plugins/planr/agents/planr-reviewer.md +0 -21
  106. package/plugins/planr/agents/planr-worker.md +0 -40
  107. package/plugins/planr/skills/planr/SKILL.md +0 -60
  108. package/plugins/planr/skills/planr-goal/SKILL.md +0 -52
  109. package/plugins/planr/skills/planr-loop/SKILL.md +0 -126
  110. package/plugins/planr/skills/planr-loop/agents/planr-reviewer.md +0 -21
  111. package/plugins/planr/skills/planr-loop/agents/planr-worker.md +0 -36
  112. package/plugins/planr/skills/planr-loop/references/host-dispatch.md +0 -52
  113. package/plugins/planr/skills/planr-loop/references/recovery-and-verification.md +0 -26
  114. package/plugins/planr/skills/planr-plan/SKILL.md +0 -86
  115. package/plugins/planr/skills/planr-review/SKILL.md +0 -55
  116. package/plugins/planr/skills/planr-status/SKILL.md +0 -52
  117. package/plugins/planr/skills/planr-summary/SKILL.md +0 -30
  118. package/plugins/planr/skills/planr-task-graph/SKILL.md +0 -67
  119. package/plugins/planr/skills/planr-verify-web/SKILL.md +0 -62
  120. package/plugins/planr/skills/planr-work/SKILL.md +0 -93
  121. package/scripts/host-capability-experiment.mjs +0 -2481
  122. package/scripts/host-capability-runtime/v1/schemas/host-capability-expected-manifest.schema.json +0 -377
  123. package/scripts/host-capability-runtime/v1/schemas/host-capability-observed-raw.schema.json +0 -439
  124. package/scripts/host-capability-runtime/v1/schemas/host-capability-provenance.schema.json +0 -178
  125. package/scripts/planr-host-capability-validator +0 -57
  126. /package/{LICENSE.md → LICENSE} +0 -0
@@ -1,22 +0,0 @@
1
- {
2
- "id": "eatt-empty-passed",
3
- "schema_version": "evidence.contract.v1",
4
- "criterion_id": "criterion-api-health",
5
- "obligation_id": "pob-planr-api-health-v1",
6
- "capability_instance_id": "vcinst-planr-http-process-v1",
7
- "started_at": "2026-07-28T12:00:05Z",
8
- "ended_at": "2026-07-28T12:00:06Z",
9
- "status": "passed",
10
- "resolved_command": {},
11
- "exit": {},
12
- "retry_lineage": {},
13
- "stdout_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
14
- "stderr_digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
15
- "raw_result": {
16
- "kind": "artifact",
17
- "artifact_id": "artifact-http-response",
18
- "digest": "sha256:8888888888888888888888888888888888888888888888888888888888888888"
19
- },
20
- "artifacts": [],
21
- "output_bounds": {}
22
- }
@@ -1,102 +0,0 @@
1
- {
2
- "id": "epolicy-unregistered-default-preset",
3
- "schema_version": "evidence.contract.v1",
4
- "policy_digest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
5
- "defaults": {
6
- "preset_id": "preset-missing",
7
- "binding": true,
8
- "assurance_level": "standard"
9
- },
10
- "named_presets": [
11
- {
12
- "id": "preset-http-health",
13
- "schema_version": "evidence.contract.v1",
14
- "namespace": "planr.api",
15
- "observations": [
16
- {
17
- "id": "obs-http-200",
18
- "type": "planr.api.http.response",
19
- "subject": "GET /health",
20
- "expected": {
21
- "status": 200
22
- },
23
- "target": {
24
- "kind": "local_service",
25
- "uri": "http://127.0.0.1:4173/health"
26
- }
27
- }
28
- ]
29
- }
30
- ],
31
- "observation_schema_registrations": [
32
- {
33
- "type": "planr.api.http.response",
34
- "schema_ref": "planr.api.http.response@v1",
35
- "schema_digest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
36
- "owning_namespace": "planr.api"
37
- }
38
- ],
39
- "adapter_registrations": [
40
- {
41
- "manifest_id": "vcap-planr-http-process-v1",
42
- "manifest_path": "docs/contracts/fixtures/evidence/v1/examples/verification-capability-manifest.json",
43
- "manifest_digest": "sha256:6666666666666666666666666666666666666666666666666666666666666666",
44
- "observation_types": ["planr.api.http.response"],
45
- "payload_schemas": [
46
- {
47
- "type": "planr.api.http.response",
48
- "schema_ref": "planr.api.http.response@v1",
49
- "schema_digest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
50
- }
51
- ],
52
- "provenance_path": "planr_observed_execution",
53
- "execution_contract": {
54
- "kind": "process",
55
- "executable": "curl",
56
- "args": ["--fail", "--silent", "http://127.0.0.1:4173/health"],
57
- "working_directory": ".",
58
- "timeout_ms": 10000,
59
- "stdout_limit_bytes": 1048576,
60
- "stderr_limit_bytes": 1048576,
61
- "payload_schema": {
62
- "type": "planr.api.http.response",
63
- "schema_ref": "planr.api.http.response@v1",
64
- "schema_digest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
65
- }
66
- }
67
- }
68
- ],
69
- "extension_namespaces": ["planr.api"],
70
- "trust_policy": {
71
- "accepted_provenance": ["planr_observed_execution"],
72
- "min_receipt_status": "trusted",
73
- "allow_user_attestation": false
74
- },
75
- "freshness_policy": {
76
- "max_age_seconds": 3600,
77
- "invalidate_on": ["source_change"]
78
- },
79
- "fixture_policy": {
80
- "fixtures_allowed": false,
81
- "mocks_allowed": false,
82
- "disclosure_required": true
83
- },
84
- "completion_policy": {
85
- "require_satisfied_or_waived": true,
86
- "allow_inconclusive_completion": false,
87
- "require_review_evidence": true
88
- },
89
- "layering_policy": {
90
- "mode": "monotonic_strengthening",
91
- "weakening_requires_waiver": true,
92
- "layers": [
93
- {
94
- "scope": {
95
- "kind": "plan",
96
- "id": "pln-example"
97
- },
98
- "policy_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
99
- }
100
- ]
101
- }
102
- }
@@ -1,102 +0,0 @@
1
- {
2
- "id": "epolicy-weakening",
3
- "schema_version": "evidence.contract.v1",
4
- "policy_digest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
5
- "defaults": {
6
- "preset_id": "preset-http-health",
7
- "binding": true,
8
- "assurance_level": "standard"
9
- },
10
- "named_presets": [
11
- {
12
- "id": "preset-http-health",
13
- "schema_version": "evidence.contract.v1",
14
- "namespace": "planr.api",
15
- "observations": [
16
- {
17
- "id": "obs-http-200",
18
- "type": "planr.api.http.response",
19
- "subject": "GET /health",
20
- "expected": {
21
- "status": 200
22
- },
23
- "target": {
24
- "kind": "local_service",
25
- "uri": "http://127.0.0.1:4173/health"
26
- }
27
- }
28
- ]
29
- }
30
- ],
31
- "observation_schema_registrations": [
32
- {
33
- "type": "planr.api.http.response",
34
- "schema_ref": "planr.api.http.response@v1",
35
- "schema_digest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
36
- "owning_namespace": "planr.api"
37
- }
38
- ],
39
- "adapter_registrations": [
40
- {
41
- "manifest_id": "vcap-planr-http-process-v1",
42
- "manifest_path": "docs/contracts/fixtures/evidence/v1/examples/verification-capability-manifest.json",
43
- "manifest_digest": "sha256:6666666666666666666666666666666666666666666666666666666666666666",
44
- "observation_types": ["planr.api.http.response"],
45
- "payload_schemas": [
46
- {
47
- "type": "planr.api.http.response",
48
- "schema_ref": "planr.api.http.response@v1",
49
- "schema_digest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
50
- }
51
- ],
52
- "provenance_path": "planr_observed_execution",
53
- "execution_contract": {
54
- "kind": "process",
55
- "executable": "curl",
56
- "args": ["--fail", "--silent", "http://127.0.0.1:4173/health"],
57
- "working_directory": ".",
58
- "timeout_ms": 10000,
59
- "stdout_limit_bytes": 1048576,
60
- "stderr_limit_bytes": 1048576,
61
- "payload_schema": {
62
- "type": "planr.api.http.response",
63
- "schema_ref": "planr.api.http.response@v1",
64
- "schema_digest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
65
- }
66
- }
67
- }
68
- ],
69
- "extension_namespaces": ["planr.api"],
70
- "trust_policy": {
71
- "accepted_provenance": ["planr_observed_execution"],
72
- "min_receipt_status": "trusted",
73
- "allow_user_attestation": false
74
- },
75
- "freshness_policy": {
76
- "max_age_seconds": 3600,
77
- "invalidate_on": ["source_change"]
78
- },
79
- "fixture_policy": {
80
- "fixtures_allowed": false,
81
- "mocks_allowed": false,
82
- "disclosure_required": true
83
- },
84
- "completion_policy": {
85
- "require_satisfied_or_waived": true,
86
- "allow_inconclusive_completion": false,
87
- "require_review_evidence": true
88
- },
89
- "layering_policy": {
90
- "mode": "monotonic_strengthening",
91
- "weakening_requires_waiver": false,
92
- "layers": [
93
- {
94
- "scope": {
95
- "kind": "plan",
96
- "id": "pln-example"
97
- },
98
- "policy_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
99
- }
100
- ]
101
- }
102
- }
@@ -1,49 +0,0 @@
1
- {
2
- "id": "vcap-process-probe-missing-limits",
3
- "schema_version": "evidence.contract.v1",
4
- "version": "1.0.0",
5
- "adapter_kind": "process",
6
- "adapter_digest": "sha256:6666666666666666666666666666666666666666666666666666666666666666",
7
- "supported_surfaces": ["local-process"],
8
- "supported_observations": [
9
- {
10
- "type": "planr.api.http.response",
11
- "schema_ref": "planr.api.http.response@v1",
12
- "schema_digest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
13
- }
14
- ],
15
- "supported_interactions": ["http-get"],
16
- "supported_artifacts": ["stdout"],
17
- "runtime_targets": [
18
- {
19
- "kind": "process",
20
- "id": "planr-doc-fixture"
21
- }
22
- ],
23
- "provenance_path": "planr_observed_execution",
24
- "permissions": {
25
- "network": "localhost_only",
26
- "filesystem": "read_workspace"
27
- },
28
- "costs": {
29
- "network": "local"
30
- },
31
- "determinism": "deterministic for static health endpoint",
32
- "repeatability": "replayable from source tree and target URI",
33
- "independence": "adapter observes process output independently of agent text",
34
- "blind_spots": [],
35
- "availability_probe": {
36
- "kind": "process",
37
- "execution": {
38
- "kind": "process",
39
- "executable": "curl",
40
- "args": ["--version"],
41
- "timeout_ms": 5000,
42
- "payload_schema": {
43
- "type": "planr.api.http.response",
44
- "schema_ref": "planr.api.http.response@v1",
45
- "schema_digest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
46
- }
47
- }
48
- }
49
- }
@@ -1,14 +0,0 @@
1
- {
2
- "id": "cverdict-empty-satisfied",
3
- "schema_version": "evidence.contract.v1",
4
- "scope": {
5
- "kind": "criterion",
6
- "id": "criterion-api-health"
7
- },
8
- "evaluated_at": "2026-07-28T12:00:08Z",
9
- "status": "satisfied",
10
- "observation_coverage": [],
11
- "validation_details": {},
12
- "suggested_next_action": "none",
13
- "actionable_now": false
14
- }
@@ -1,39 +0,0 @@
1
- {
2
- "id": "eatt-skipped-zero-exit",
3
- "schema_version": "evidence.contract.v1",
4
- "criterion_id": "criterion-api-health",
5
- "obligation_id": "pob-planr-api-health-v1",
6
- "capability_instance_id": "vcinst-planr-http-process-v1",
7
- "started_at": "2026-07-28T12:00:05Z",
8
- "ended_at": "2026-07-28T12:00:06Z",
9
- "status": "skipped",
10
- "resolved_command": {
11
- "kind": "command",
12
- "command": ["curl", "-fsS", "http://127.0.0.1:4173/health"],
13
- "cwd": "$PLANR_REPOSITORY_ROOT"
14
- },
15
- "exit": {
16
- "exit_code": 0,
17
- "signal": null,
18
- "error": null
19
- },
20
- "retry_lineage": {
21
- "attempt_number": 1,
22
- "max_attempts": 1,
23
- "previous_attempt_ids": []
24
- },
25
- "stdout_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
26
- "stderr_digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
27
- "raw_result": {
28
- "kind": "artifact",
29
- "artifact_id": "artifact-http-response",
30
- "digest": "sha256:8888888888888888888888888888888888888888888888888888888888888888"
31
- },
32
- "artifacts": [],
33
- "output_bounds": {
34
- "stdout_bytes": 2,
35
- "stderr_bytes": 0,
36
- "stdout_truncated": false,
37
- "stderr_truncated": false
38
- }
39
- }
@@ -1,27 +0,0 @@
1
- {
2
- "id": "cverdict-stale-inconclusive-reason",
3
- "schema_version": "evidence.contract.v1",
4
- "scope": {
5
- "kind": "criterion",
6
- "id": "criterion-api-health"
7
- },
8
- "evaluated_at": "2026-07-28T12:00:08Z",
9
- "status": "stale",
10
- "observation_coverage": [
11
- {
12
- "requirement_id": "obs-http-200",
13
- "status": "stale",
14
- "gap_reason": "inconclusive_result"
15
- }
16
- ],
17
- "validation_details": {
18
- "freshness": {
19
- "status": "failed",
20
- "checked_at": "2026-07-28T12:00:08Z",
21
- "receipt_ids": [],
22
- "gap_reasons": ["inconclusive_result"]
23
- }
24
- },
25
- "suggested_next_action": "refresh evidence",
26
- "actionable_now": true
27
- }
@@ -1,39 +0,0 @@
1
- {
2
- "id": "eatt-timed-out-zero-exit",
3
- "schema_version": "evidence.contract.v1",
4
- "criterion_id": "criterion-api-health",
5
- "obligation_id": "pob-planr-api-health-v1",
6
- "capability_instance_id": "vcinst-planr-http-process-v1",
7
- "started_at": "2026-07-28T12:00:05Z",
8
- "ended_at": "2026-07-28T12:00:06Z",
9
- "status": "timed_out",
10
- "resolved_command": {
11
- "kind": "command",
12
- "command": ["curl", "-fsS", "http://127.0.0.1:4173/health"],
13
- "cwd": "$PLANR_REPOSITORY_ROOT"
14
- },
15
- "exit": {
16
- "exit_code": 0,
17
- "signal": null,
18
- "error": null
19
- },
20
- "retry_lineage": {
21
- "attempt_number": 1,
22
- "max_attempts": 1,
23
- "previous_attempt_ids": []
24
- },
25
- "stdout_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
26
- "stderr_digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
27
- "raw_result": {
28
- "kind": "artifact",
29
- "artifact_id": "artifact-http-response",
30
- "digest": "sha256:8888888888888888888888888888888888888888888888888888888888888888"
31
- },
32
- "artifacts": [],
33
- "output_bounds": {
34
- "stdout_bytes": 2,
35
- "stderr_bytes": 0,
36
- "stdout_truncated": false,
37
- "stderr_truncated": false
38
- }
39
- }
@@ -1,39 +0,0 @@
1
- {
2
- "id": "eatt-unavailable-zero-exit",
3
- "schema_version": "evidence.contract.v1",
4
- "criterion_id": "criterion-api-health",
5
- "obligation_id": "pob-planr-api-health-v1",
6
- "capability_instance_id": "vcinst-planr-http-process-v1",
7
- "started_at": "2026-07-28T12:00:05Z",
8
- "ended_at": "2026-07-28T12:00:06Z",
9
- "status": "unavailable",
10
- "resolved_command": {
11
- "kind": "command",
12
- "command": ["curl", "-fsS", "http://127.0.0.1:4173/health"],
13
- "cwd": "$PLANR_REPOSITORY_ROOT"
14
- },
15
- "exit": {
16
- "exit_code": 0,
17
- "signal": null,
18
- "error": null
19
- },
20
- "retry_lineage": {
21
- "attempt_number": 1,
22
- "max_attempts": 1,
23
- "previous_attempt_ids": []
24
- },
25
- "stdout_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
26
- "stderr_digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
27
- "raw_result": {
28
- "kind": "artifact",
29
- "artifact_id": "artifact-http-response",
30
- "digest": "sha256:8888888888888888888888888888888888888888888888888888888888888888"
31
- },
32
- "artifacts": [],
33
- "output_bounds": {
34
- "stdout_bytes": 2,
35
- "stderr_bytes": 0,
36
- "stdout_truncated": false,
37
- "stderr_truncated": false
38
- }
39
- }
@@ -1,21 +0,0 @@
1
- {
2
- "id": "ewaiver-unbound",
3
- "schema_version": "evidence.contract.v1",
4
- "scope": {
5
- "kind": "item",
6
- "id": "item-example"
7
- },
8
- "observation_ids": [
9
- "obs-http-200"
10
- ],
11
- "reason": "temporary manual exception",
12
- "created_by": "user@example.com",
13
- "created_at": "2026-07-28T12:00:00Z",
14
- "expires_at": "2026-07-29T12:00:00Z",
15
- "approval_ref": "approval-123",
16
- "audit_trail": [
17
- {
18
- "event": "created"
19
- }
20
- ]
21
- }
@@ -1,63 +0,0 @@
1
- {
2
- "id": "cverdict-unsatisfied-no-gap",
3
- "schema_version": "evidence.contract.v1",
4
- "scope": {
5
- "kind": "criterion",
6
- "id": "criterion-api-health"
7
- },
8
- "evaluated_at": "2026-07-28T12:00:08Z",
9
- "status": "unsatisfied",
10
- "observation_coverage": [
11
- {
12
- "requirement_id": "obs-http-200",
13
- "status": "covered",
14
- "covering_receipt_ids": ["erec-planr-api-health-v1"]
15
- }
16
- ],
17
- "validation_details": {
18
- "trust": {
19
- "status": "failed",
20
- "checked_at": "2026-07-28T12:00:08Z",
21
- "receipt_ids": [],
22
- "gap_reasons": ["missing_observation"]
23
- },
24
- "freshness": {
25
- "status": "passed",
26
- "checked_at": "2026-07-28T12:00:08Z",
27
- "receipt_ids": [],
28
- "gap_reasons": []
29
- },
30
- "target": {
31
- "status": "passed",
32
- "checked_at": "2026-07-28T12:00:08Z",
33
- "receipt_ids": [],
34
- "gap_reasons": []
35
- },
36
- "schema": {
37
- "status": "passed",
38
- "checked_at": "2026-07-28T12:00:08Z",
39
- "receipt_ids": [],
40
- "gap_reasons": []
41
- },
42
- "provenance": {
43
- "status": "passed",
44
- "checked_at": "2026-07-28T12:00:08Z",
45
- "receipt_ids": [],
46
- "gap_reasons": []
47
- },
48
- "fixture": {
49
- "status": "passed",
50
- "checked_at": "2026-07-28T12:00:08Z",
51
- "receipt_ids": [],
52
- "gap_reasons": []
53
- },
54
- "completion": {
55
- "status": "failed",
56
- "checked_at": "2026-07-28T12:00:08Z",
57
- "receipt_ids": [],
58
- "gap_reasons": ["missing_observation"]
59
- }
60
- },
61
- "suggested_next_action": "run required observation",
62
- "actionable_now": true
63
- }
@@ -1,28 +0,0 @@
1
- {
2
- "id": "cverdict-waived-forbidden-gap",
3
- "schema_version": "evidence.contract.v1",
4
- "scope": {
5
- "kind": "criterion",
6
- "id": "criterion-api-health"
7
- },
8
- "evaluated_at": "2026-07-28T12:00:08Z",
9
- "status": "waived",
10
- "observation_coverage": [
11
- {
12
- "requirement_id": "obs-http-200",
13
- "status": "waived",
14
- "gap_reason": "waiver_expired",
15
- "waiver_id": "ewaiver-api-health-v1"
16
- }
17
- ],
18
- "validation_details": {
19
- "trust": {
20
- "status": "failed",
21
- "checked_at": "2026-07-28T12:00:08Z",
22
- "receipt_ids": [],
23
- "gap_reasons": ["waiver_expired"]
24
- }
25
- },
26
- "suggested_next_action": "renew waiver",
27
- "actionable_now": true
28
- }
@@ -1,27 +0,0 @@
1
- {
2
- "id": "cverdict-waived-missing-waiver",
3
- "schema_version": "evidence.contract.v1",
4
- "scope": {
5
- "kind": "criterion",
6
- "id": "criterion-api-health"
7
- },
8
- "evaluated_at": "2026-07-28T12:00:08Z",
9
- "status": "waived",
10
- "observation_coverage": [
11
- {
12
- "requirement_id": "obs-http-200",
13
- "status": "waived",
14
- "gap_reason": "missing_observation"
15
- }
16
- ],
17
- "validation_details": {
18
- "trust": {
19
- "status": "failed",
20
- "checked_at": "2026-07-28T12:00:08Z",
21
- "receipt_ids": [],
22
- "gap_reasons": ["missing_observation"]
23
- }
24
- },
25
- "suggested_next_action": "record waiver id",
26
- "actionable_now": true
27
- }