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.
- package/.claude-plugin/plugin.json +11 -0
- package/CHANGELOG.md +20 -0
- package/README.md +27 -245
- package/docs/board.md +44 -0
- package/docs/cli.md +100 -0
- package/docs/concepts.md +133 -0
- package/docs/contract.md +150 -0
- package/docs/plugins/bb.md +49 -0
- package/docs/plugins/claude-code.md +84 -0
- package/docs/plugins/codex.md +77 -0
- package/docs/quickstart.md +307 -0
- package/docs/setup.md +103 -0
- package/package.json +21 -68
- package/plugin.json +12 -0
- package/skills/planr/SKILL.md +64 -0
- package/skills/planr/assets/board/fonts/LICENSE-mona-sans.txt +93 -0
- package/skills/planr/assets/board/fonts/LICENSE-monaspace.txt +93 -0
- package/skills/planr/assets/board/fonts/MonaSans-Variable.woff2 +0 -0
- package/skills/planr/assets/board/fonts/MonaspaceNeon-400.woff2 +0 -0
- package/skills/planr/assets/board/fonts/MonaspaceNeon-500.woff2 +0 -0
- package/skills/planr/assets/board/fonts/MonaspaceNeon-600.woff2 +0 -0
- package/skills/planr/assets/board/template.html +788 -0
- package/skills/planr/assets/templates/goal.md +13 -0
- package/skills/planr/assets/templates/hook.sh +4 -0
- package/skills/planr/assets/templates/in-repo.config.json +6 -0
- package/skills/planr/assets/templates/planr.config.json +6 -0
- package/skills/planr/assets/templates/tasks-README.md +14 -0
- package/skills/planr/references/format.md +88 -0
- package/skills/planr/references/work-a-goal.md +62 -0
- package/skills/planr/scripts/lib/board.mjs +39 -0
- package/skills/planr/scripts/lib/graph.mjs +345 -0
- package/skills/planr/scripts/lib/runs.mjs +127 -0
- package/skills/planr/scripts/lib/version.mjs +11 -0
- package/skills/planr/scripts/planr.mjs +386 -0
- package/docs/ARCHITECTURE.md +0 -136
- package/docs/RELEASE.md +0 -275
- package/docs/SWITCHLOOM_COMPATIBILITY.md +0 -14
- package/docs/contracts/BROWSER_HARNESS_ADAPTER_V1.md +0 -75
- package/docs/contracts/EVAL_CONTRACT_V1.md +0 -2072
- package/docs/contracts/EVIDENCE_ADAPTER_PROTOCOL_V1.md +0 -98
- package/docs/contracts/EVIDENCE_CONTRACT_V1.md +0 -382
- package/docs/contracts/GROK_INTEGRATION_V1.md +0 -139
- package/docs/contracts/LINUX_RELEASE_PORTABILITY.json +0 -9
- package/docs/contracts/PI_INTEGRATION_V1.md +0 -164
- package/docs/contracts/V1_1_DIFFERENTIATION_CONTRACT.md +0 -177
- package/docs/contracts/fixtures/evidence/v1/examples/coverage-verdict.json +0 -66
- package/docs/contracts/fixtures/evidence/v1/examples/evidence-attempt.json +0 -39
- package/docs/contracts/fixtures/evidence/v1/examples/evidence-policy.json +0 -108
- package/docs/contracts/fixtures/evidence/v1/examples/evidence-receipt.json +0 -93
- package/docs/contracts/fixtures/evidence/v1/examples/evidence-waiver.json +0 -31
- package/docs/contracts/fixtures/evidence/v1/examples/proof-obligation.json +0 -55
- package/docs/contracts/fixtures/evidence/v1/examples/proof-preset.json +0 -19
- package/docs/contracts/fixtures/evidence/v1/examples/untrusted-evidence-proposal.json +0 -20
- package/docs/contracts/fixtures/evidence/v1/examples/verification-capability-instance.json +0 -39
- package/docs/contracts/fixtures/evidence/v1/examples/verification-capability-manifest.json +0 -52
- package/docs/contracts/fixtures/evidence/v1/negative/aborted-zero-exit-attempt.json +0 -39
- package/docs/contracts/fixtures/evidence/v1/negative/adapter-registration-missing-execution-contract.json +0 -88
- package/docs/contracts/fixtures/evidence/v1/negative/available-empty-probe-capability.json +0 -27
- package/docs/contracts/fixtures/evidence/v1/negative/blocked-coverage-with-stale-reason.json +0 -27
- package/docs/contracts/fixtures/evidence/v1/negative/empty-trust-bindings-receipt.json +0 -72
- package/docs/contracts/fixtures/evidence/v1/negative/failed-zero-exit-attempt.json +0 -39
- package/docs/contracts/fixtures/evidence/v1/negative/forged-trusted-receipt.json +0 -35
- package/docs/contracts/fixtures/evidence/v1/negative/inconclusive-clean-exit-attempt.json +0 -39
- package/docs/contracts/fixtures/evidence/v1/negative/inconclusive-coverage-with-blocked-reason.json +0 -27
- package/docs/contracts/fixtures/evidence/v1/negative/minimal-policy-missing-owned-inputs.json +0 -5
- package/docs/contracts/fixtures/evidence/v1/negative/mismatched-probe-execution-id-capability.json +0 -42
- package/docs/contracts/fixtures/evidence/v1/negative/passed-empty-attempt.json +0 -22
- package/docs/contracts/fixtures/evidence/v1/negative/policy-default-preset-unregistered.json +0 -102
- package/docs/contracts/fixtures/evidence/v1/negative/policy-weakening-without-waiver.json +0 -102
- package/docs/contracts/fixtures/evidence/v1/negative/process-probe-missing-output-limits.json +0 -49
- package/docs/contracts/fixtures/evidence/v1/negative/satisfied-empty-coverage-verdict.json +0 -14
- package/docs/contracts/fixtures/evidence/v1/negative/skipped-zero-exit-attempt.json +0 -39
- package/docs/contracts/fixtures/evidence/v1/negative/stale-coverage-with-inconclusive-reason.json +0 -27
- package/docs/contracts/fixtures/evidence/v1/negative/timed-out-zero-exit-attempt.json +0 -39
- package/docs/contracts/fixtures/evidence/v1/negative/unavailable-zero-exit-attempt.json +0 -39
- package/docs/contracts/fixtures/evidence/v1/negative/unbound-waiver.json +0 -21
- package/docs/contracts/fixtures/evidence/v1/negative/unsatisfied-coverage-without-gap.json +0 -63
- package/docs/contracts/fixtures/evidence/v1/negative/waived-coverage-forbidden-gap-reason.json +0 -28
- package/docs/contracts/fixtures/evidence/v1/negative/waived-coverage-missing-waiver-id.json +0 -27
- package/docs/contracts/fixtures/evidence/v1/schemas/evidence-contract-v1.schema.json +0 -2685
- package/docs/contracts/schemas/com.planr.web.dom_state.v1.schema.json +0 -30
- package/docs/documentation/CONTRACT.md +0 -164
- package/docs/documentation/COVERAGE.md +0 -98
- package/docs/documentation/INFORMATION_ARCHITECTURE.md +0 -151
- package/docs/fixtures/mcp-contract.json +0 -153
- package/npm/bin/native-launcher.js +0 -67
- package/npm/bin/planr-browser-harness-adapter.js +0 -8
- package/npm/bin/planr.js +0 -8
- package/npm/native/darwin-arm64/planr +0 -0
- package/npm/native/darwin-arm64/planr-browser-harness-adapter +0 -0
- package/npm/native/darwin-arm64/planr-host-capability-validator +0 -0
- package/npm/native/darwin-x86_64/planr +0 -0
- package/npm/native/darwin-x86_64/planr-browser-harness-adapter +0 -0
- package/npm/native/darwin-x86_64/planr-host-capability-validator +0 -0
- package/npm/native/linux-arm64/planr +0 -0
- package/npm/native/linux-arm64/planr-browser-harness-adapter +0 -0
- package/npm/native/linux-arm64/planr-host-capability-validator +0 -0
- package/npm/native/linux-x86_64/planr +0 -0
- package/npm/native/linux-x86_64/planr-browser-harness-adapter +0 -0
- package/npm/native/linux-x86_64/planr-host-capability-validator +0 -0
- package/plugins/planr/.claude-plugin/plugin.json +0 -11
- package/plugins/planr/.codex-plugin/plugin.json +0 -25
- package/plugins/planr/agents/pi/planr-reviewer.md +0 -20
- package/plugins/planr/agents/pi/planr-worker.md +0 -35
- package/plugins/planr/agents/planr-reviewer.md +0 -21
- package/plugins/planr/agents/planr-worker.md +0 -40
- package/plugins/planr/skills/planr/SKILL.md +0 -60
- package/plugins/planr/skills/planr-goal/SKILL.md +0 -52
- package/plugins/planr/skills/planr-loop/SKILL.md +0 -126
- package/plugins/planr/skills/planr-loop/agents/planr-reviewer.md +0 -21
- package/plugins/planr/skills/planr-loop/agents/planr-worker.md +0 -36
- package/plugins/planr/skills/planr-loop/references/host-dispatch.md +0 -52
- package/plugins/planr/skills/planr-loop/references/recovery-and-verification.md +0 -26
- package/plugins/planr/skills/planr-plan/SKILL.md +0 -86
- package/plugins/planr/skills/planr-review/SKILL.md +0 -55
- package/plugins/planr/skills/planr-status/SKILL.md +0 -52
- package/plugins/planr/skills/planr-summary/SKILL.md +0 -30
- package/plugins/planr/skills/planr-task-graph/SKILL.md +0 -67
- package/plugins/planr/skills/planr-verify-web/SKILL.md +0 -62
- package/plugins/planr/skills/planr-work/SKILL.md +0 -93
- package/scripts/host-capability-experiment.mjs +0 -2481
- package/scripts/host-capability-runtime/v1/schemas/host-capability-expected-manifest.schema.json +0 -377
- package/scripts/host-capability-runtime/v1/schemas/host-capability-observed-raw.schema.json +0 -439
- package/scripts/host-capability-runtime/v1/schemas/host-capability-provenance.schema.json +0 -178
- package/scripts/planr-host-capability-validator +0 -57
- /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
|
-
}
|
package/docs/contracts/fixtures/evidence/v1/negative/policy-default-preset-unregistered.json
DELETED
|
@@ -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
|
-
}
|
package/docs/contracts/fixtures/evidence/v1/negative/process-probe-missing-output-limits.json
DELETED
|
@@ -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
|
-
}
|
package/docs/contracts/fixtures/evidence/v1/negative/stale-coverage-with-inconclusive-reason.json
DELETED
|
@@ -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
|
-
}
|
package/docs/contracts/fixtures/evidence/v1/negative/waived-coverage-forbidden-gap-reason.json
DELETED
|
@@ -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
|
-
}
|