planr 1.10.0-alpha.6 → 1.10.0-alpha.7
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/docs/contracts/EVIDENCE_CONTRACT_V1.md +7 -4
- package/npm/native/darwin-arm64/planr +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-host-capability-validator +0 -0
- package/npm/native/linux-arm64/planr +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-host-capability-validator +0 -0
- package/package.json +1 -1
- package/plugins/planr/.claude-plugin/plugin.json +1 -1
- package/plugins/planr/.codex-plugin/plugin.json +1 -1
- package/plugins/planr/skills/planr-goal/SKILL.md +2 -2
- package/plugins/planr/skills/planr-plan/SKILL.md +12 -1
|
@@ -6,7 +6,8 @@ Evidence Contract v1 is Planr's local-first contract for proving acceptance crit
|
|
|
6
6
|
|
|
7
7
|
## Ownership
|
|
8
8
|
|
|
9
|
-
-
|
|
9
|
+
- Typed build-plan frontmatter owns authored criterion identity as one non-empty, unique, closed list of `{id, title}` entries. Acceptance prose is narrative only.
|
|
10
|
+
- Explicit Evidence migration owns materialization of reviewed `ProofObligation` records bound to those declared criteria.
|
|
10
11
|
- The Evidence domain owns `ProofObligation`, `ObservationRequirement`, `VerificationCapabilityManifest`, `VerificationCapabilityInstance`, `EvidenceAttempt`, `UntrustedEvidenceProposal`, `EvidenceReceipt`, `CoverageVerdict`, `EvidencePolicy`, `ProofPreset`, and `EvidenceWaiver`.
|
|
11
12
|
- Planr assigns trusted provenance only from Planr-observed execution, verified host events, accepted MCP attestation, validated artifact import, or explicit approval-backed user attestation.
|
|
12
13
|
- Public JSON, agent-authored JSON, adapter stdout, logs, and artifacts may propose claims, but they cannot construct trusted provenance, execution identity, freshness, target binding, receipt digest, or closure authority.
|
|
@@ -20,8 +21,8 @@ Evidence Contract v1 is Planr's local-first contract for proving acceptance crit
|
|
|
20
21
|
- Route Audit remains the owner of requested, resolved, and effective routing evidence. Evidence may consume a mapped provenance view, but it must not copy requested route declarations into effective execution proof.
|
|
21
22
|
- Agent Profiles, model-routing capability classes, usage-policy capability classes, MCP protocol capabilities, and context tags are dispatch or protocol metadata. They are not verification capability instances and do not prove runtime availability.
|
|
22
23
|
- Planr logs remain narrative and supporting records. A `kind = verification` log is a claim that can be referenced, but it never satisfies a binding observation.
|
|
23
|
-
- A repository without a binding Evidence policy is explicitly non-binding. A
|
|
24
|
-
- Migration is the sole obligation-materialization path. It is explicit, plan-scoped, previewable, idempotent, and
|
|
24
|
+
- A repository without a binding Evidence policy and without binding plan obligations is explicitly non-binding. A binding plan is `binding_unsatisfied` unless its authoritative active obligations match the declared build-plan criterion set exactly: zero, partial, duplicate, or undeclared bindings all fail closed. Planr returns a hold before leasing or creating a FeatureRun, persists a capability hold when an existing run reaches readiness, rejects coverage settlement, closure, final review, and stop activation, and never substitutes logs or an empty receipt lineage.
|
|
25
|
+
- Migration is the sole obligation-materialization path. It is explicit, plan-scoped, previewable, idempotent, and accepts only an exact declared criterion binding set before materializing ordinary immutable `ProofObligation` rows. It must not rewrite plans, logs, reviews, artifacts, or historical claims.
|
|
25
26
|
- Planr artifacts remain files or references with digests. An artifact alone is not trusted evidence unless a trusted receipt binds it to the source revision, target, environment, execution identity, observation results, and policy.
|
|
26
27
|
|
|
27
28
|
## Versioning And Compatibility
|
|
@@ -62,6 +63,8 @@ Custom observation types must reference a versioned JSON Schema and a registrati
|
|
|
62
63
|
|
|
63
64
|
A reviewed, binding or advisory contract for one acceptance criterion.
|
|
64
65
|
|
|
66
|
+
For a binding build plan, `criterion_id` must name one criterion declared in that plan's checked frontmatter. The obligation does not create criterion identity.
|
|
67
|
+
|
|
65
68
|
Required fields:
|
|
66
69
|
|
|
67
70
|
- `id`, `schema_version`, `criterion_id`, `plan_id`, optional `item_id`.
|
|
@@ -200,7 +203,7 @@ Coverage gap/failure reason codes:
|
|
|
200
203
|
|
|
201
204
|
Operator aliases are rendered as aliases only and resolve to the canonical codes above: `capability_unavailable` -> `missing_capability`, `dependency_unavailable` -> `external_dependency_unavailable`, `policy_failed` -> `stale_policy`, `trust_failed` -> `untrusted_provenance`, and `stale_evidence` -> `stale_source`. Unknown aliases are classified as `verifier_failed` rather than `product_failed`.
|
|
202
205
|
|
|
203
|
-
Explicit Evidence migration input uses `schema_version = "planr.evidence.migration.v1"`, a single `plan_id`, and an `obligations[]` array of full `ProofObligation` objects whose `plan_id` matches the migration plan and whose `binding` is `true`. Preview is non-mutating. Apply is atomic for the migration payload: any conflict
|
|
206
|
+
Explicit Evidence migration input uses `schema_version = "planr.evidence.migration.v1"`, a single `plan_id`, and an `obligations[]` array of full `ProofObligation` objects whose `plan_id` matches the migration plan and whose `binding` is `true`. The payload's criterion bindings must exactly match the checked build-plan frontmatter set. Preview is non-mutating. Apply is atomic for the migration payload: any conflict, malformed obligation, missing criterion, duplicate criterion, or undeclared criterion leaves the plan with no newly bound partial obligations. Reapplying an identical payload is `unchanged`.
|
|
204
207
|
|
|
205
208
|
Process adapters may report a host boundary failure only with an exact single-field JSON line on stdout or stderr:
|
|
206
209
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "planr",
|
|
3
3
|
"description": "Skill-driven planning and execution loop for coding agents: one planr entry point, an autonomous planr-loop, and evidence-backed task graph skills powered by the planr CLI.",
|
|
4
|
-
"version": "1.10.0-alpha.
|
|
4
|
+
"version": "1.10.0-alpha.7",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "instructa"
|
|
7
7
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "planr",
|
|
3
|
-
"version": "1.10.0-alpha.
|
|
3
|
+
"version": "1.10.0-alpha.7",
|
|
4
4
|
"description": "Skill-driven planning and execution loop for coding agents: one $planr entry point, an autonomous $planr-loop, and evidence-backed task graph skills powered by the planr CLI.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "instructa",
|
|
@@ -32,13 +32,13 @@ planr plan check <plan-id>
|
|
|
32
32
|
planr map build --from <plan-id>
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
-
Fill required plan sections directly. Replace the placeholder task with independently verifiable `TASK-00n` slices before `planr map build`. A small coherent change is one implementation item plus one signal-bearing independent review; do not split mechanical stages into separate implementation/review pairs. Larger scopes still use multiple slices where ownership, dependencies, or independently observable outcomes genuinely differ. Preserve real execution order with `blocks` links. When registry routes use `work_type`, annotate tasks before mapping or retag them afterward; this is prep work, not a user question.
|
|
35
|
+
Fill required plan sections directly. Give every build plan a non-empty, unique frontmatter `criteria` list with only stable `id` and `title` fields; prose under `## Acceptance Criteria` remains narrative and never supplies identity. Replace the placeholder task with independently verifiable `TASK-00n` slices before `planr map build`. A small coherent change is one implementation item plus one signal-bearing independent review; do not split mechanical stages into separate implementation/review pairs. Larger scopes still use multiple slices where ownership, dependencies, or independently observable outcomes genuinely differ. Preserve real execution order with `blocks` links. When registry routes use `work_type`, annotate tasks before mapping or retag them afterward; this is prep work, not a user question.
|
|
36
36
|
|
|
37
37
|
When the repository provides a versioned verification policy and source-bound receipt runner, make that policy the verification owner in the plan. Record the selected profile, exact receipt path/digest, source revision, and the command that validates the receipt. Do not enumerate broad suites independently in every task when the policy already selects them.
|
|
38
38
|
|
|
39
39
|
## Durable Contract
|
|
40
40
|
|
|
41
|
-
For plans with binding Evidence, require the repository to
|
|
41
|
+
For plans with binding Evidence, require the repository owner to materialize obligations from the checked frontmatter criterion IDs through explicit `planr.evidence.migration.v1` migration before execution, then run readiness. Never write obligations directly or duplicate `app/proof` completeness rules in the goal contract. Store one contract per plan:
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
44
|
planr evidence readiness --scope plan --id <plan-id>
|
|
@@ -45,6 +45,7 @@ A product plan package must include:
|
|
|
45
45
|
A build plan must include:
|
|
46
46
|
|
|
47
47
|
- source plan;
|
|
48
|
+
- a non-empty `criteria` frontmatter list whose entries contain only a stable `id` and `title`;
|
|
48
49
|
- scope decision;
|
|
49
50
|
- ownership target;
|
|
50
51
|
- existing leverage;
|
|
@@ -53,6 +54,16 @@ A build plan must include:
|
|
|
53
54
|
- verification;
|
|
54
55
|
- acceptance criteria.
|
|
55
56
|
|
|
57
|
+
Author criterion identity only in frontmatter, for example:
|
|
58
|
+
|
|
59
|
+
```yaml
|
|
60
|
+
criteria:
|
|
61
|
+
- id: criterion-api-health
|
|
62
|
+
title: API health is observable from the target service
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Keep the `## Acceptance Criteria` section as readable narrative, never an identity source. Do not infer criterion IDs from prose or decide obligation completeness in this skill; `plan check`, explicit Evidence migration, and the canonical `app/proof` authority own those decisions.
|
|
66
|
+
|
|
56
67
|
## Route-Aware Tagging
|
|
57
68
|
|
|
58
69
|
Before writing the task list, check whether the project declares model routing: `planr agents list --json`. If routes exist, their `work_type` selectors are the project's use-case vocabulary (e.g. `frontend`, `backend`, `design`) — and tagging is your job, not the user's; never ask a human to name work types.
|
|
@@ -72,4 +83,4 @@ Planning is complete only when `planr plan check <plan-id>` passes and the next
|
|
|
72
83
|
|
|
73
84
|
When the map is built, linked, and tagged, end by naming the execution handoff explicitly — the user should never have to guess the next prompt: `Use $planr-loop on plan <build-plan-id>. Stop condition: all items closed with evidence, reviews complete, canonical Evidence coverage holds.` (On hosts with a /goal primitive, `$planr-goal` wraps the same loop for long-running autonomous runs.)
|
|
74
85
|
|
|
75
|
-
`plan check` rejects empty scaffolds: build plans
|
|
86
|
+
`plan check` rejects empty scaffolds: build plans need a valid unique `criteria` frontmatter list plus content in `## Scope Decision`, `## Verification`, and `## Acceptance Criteria`; product plans must have content in `## Problem`, `## Requirements`, and `## Success Criteria` of `PRODUCT_SPEC.md`. Write those sections before checking — do not pad them to satisfy the gate.
|