openplanr 2.3.0 → 2.4.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 (25) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/services/diagram-pipeline-service.d.ts +6 -0
  3. package/dist/services/diagram-pipeline-service.d.ts.map +1 -1
  4. package/dist/services/diagram-pipeline-service.js +45 -2
  5. package/dist/services/diagram-pipeline-service.js.map +1 -1
  6. package/lib/host-packages/adapter-registry.json +5 -5
  7. package/lib/host-packages/capability-map.json +1 -1
  8. package/lib/host-packages/claude/.claude-plugin/marketplace.json +2 -2
  9. package/lib/host-packages/claude/openplanr/.claude-plugin/plugin.json +1 -1
  10. package/lib/host-packages/claude/openplanr/.openplanr-content.json +5 -5
  11. package/lib/host-packages/claude/openplanr/skills/diagram/SKILL.md +12 -0
  12. package/lib/host-packages/claude/openplanr/skills/diagram/references/diagram-document.md +4 -0
  13. package/lib/host-packages/claude/openplanr/skills/diagram/references/diagram-intent-to-ir.md +4 -0
  14. package/lib/host-packages/cursor/openplanr/.openplanr-content.json +5 -5
  15. package/lib/host-packages/cursor/openplanr/manifest.json +1 -1
  16. package/lib/host-packages/cursor/openplanr/rules/planr-diagram/references/diagram-document.md +4 -0
  17. package/lib/host-packages/cursor/openplanr/rules/planr-diagram/references/diagram-intent-to-ir.md +4 -0
  18. package/lib/host-packages/cursor/openplanr/rules/planr-diagram.mdc +12 -0
  19. package/lib/host-packages/openai/.claude-plugin/marketplace.json +2 -2
  20. package/lib/host-packages/openai/openplanr/.codex-plugin/plugin.json +1 -1
  21. package/lib/host-packages/openai/openplanr/.openplanr-content.json +5 -5
  22. package/lib/host-packages/openai/openplanr/skills/diagram/SKILL.md +12 -0
  23. package/lib/host-packages/openai/openplanr/skills/diagram/references/diagram-document.md +4 -0
  24. package/lib/host-packages/openai/openplanr/skills/diagram/references/diagram-intent-to-ir.md +4 -0
  25. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.4.0
4
+ ### Minor Changes
5
+
6
+ - 623be19: `planr diagram render`, `rerender`, `inspect` and `check` now report the rendered set's quality in their JSON envelope: a `quality` object with `status`, `failedChecks` and `warningChecks`, and one `warnings` entry per failed or warning check. A set whose quality is `invalid` returns no `nextAction`, so an agent does not hand over a diagram the engine could not lay out. An unreadable quality report is reported as a warning with no summary rather than failing the command. The `planr-diagram` skill reads the new field, treats anything other than `pass` as unfinished, and gains authoring guidance for lane grammars now that the engine draws them.
7
+
3
8
  ## 2.3.0
4
9
  ### Minor Changes
5
10
 
@@ -87,6 +87,7 @@ export interface DiagramSuccessEnvelope {
87
87
  status: 'passed' | 'changed';
88
88
  changes: Array<Record<string, unknown>>;
89
89
  };
90
+ quality?: DiagramQualitySummary;
90
91
  editability: Record<string, string>;
91
92
  fidelity: Record<string, string>;
92
93
  omissions: Array<{
@@ -97,6 +98,11 @@ export interface DiagramSuccessEnvelope {
97
98
  nextAction: string | null;
98
99
  [key: string]: unknown;
99
100
  }
101
+ export interface DiagramQualitySummary {
102
+ status: 'pass' | 'warning' | 'invalid';
103
+ failedChecks: string[];
104
+ warningChecks: string[];
105
+ }
100
106
  export declare class DiagramCommandError extends Error {
101
107
  readonly code: string;
102
108
  readonly recovery?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"diagram-pipeline-service.d.ts","sourceRoot":"","sources":["../../src/services/diagram-pipeline-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagram-pipeline-service.d.ts","sourceRoot":"","sources":["../../src/services/diagram-pipeline-service.ts"],"names":[],"mappings":"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"}
@@ -133,11 +133,47 @@ function projectionSummary(api, manifest, artifacts) {
133
133
  omissions,
134
134
  };
135
135
  }
136
+ /**
137
+ * Summarizes a rendered set's quality report.
138
+ * An unusable report is reported as a warning with no summary, so `inspect` still explains a
139
+ * set whose outputs are damaged.
140
+ */
141
+ function readQuality(artifacts) {
142
+ const file = artifacts.find(({ path: value }) => value.endsWith('.quality.json'));
143
+ if (!file)
144
+ return { summary: null, warnings: [] };
145
+ const unusable = (detail) => ({
146
+ summary: null,
147
+ warnings: [`Quality report is unusable and was not summarized: ${file.path}: ${detail}`],
148
+ });
149
+ let report;
150
+ try {
151
+ report = JSON.parse(readFileSync(file.path, 'utf8'));
152
+ }
153
+ catch (error) {
154
+ return unusable(`unreadable: ${error.message}`);
155
+ }
156
+ if (report.status !== 'pass' && report.status !== 'warning' && report.status !== 'invalid') {
157
+ return unusable(`unknown status ${JSON.stringify(report.status)}`);
158
+ }
159
+ const checks = (Array.isArray(report.checks) ? report.checks : []);
160
+ return {
161
+ summary: {
162
+ status: report.status,
163
+ failedChecks: checks.filter(({ status }) => status === 'fail').map(({ id }) => id),
164
+ warningChecks: checks.filter(({ status }) => status === 'warning').map(({ id }) => id),
165
+ },
166
+ warnings: checks
167
+ .filter(({ status }) => status === 'fail' || status === 'warning')
168
+ .map(({ id, status, message }) => `Quality ${status} ${id}: ${message ?? 'no detail.'}`),
169
+ };
170
+ }
136
171
  function manifestEnvelope(api, action, outputRoot, result, disposable = false) {
137
172
  const artifacts = absoluteArtifacts(outputRoot, result.manifest);
138
173
  const changes = [...(result.sourceChanges ?? []), ...(result.generatedChanges ?? [])];
139
174
  const validation = result.validation ?? (changes.length > 0 ? 'changed' : 'passed');
140
175
  const projection = projectionSummary(api, result.manifest, artifacts);
176
+ const quality = readQuality(artifacts);
141
177
  const html = artifacts.find(({ path: value }) => value.endsWith('.html'));
142
178
  const manifestPath = path.join(result.directory, `${result.manifest.diagramId}.manifest.json`);
143
179
  return {
@@ -153,9 +189,16 @@ function manifestEnvelope(api, action, outputRoot, result, disposable = false) {
153
189
  },
154
190
  artifacts,
155
191
  validation: { status: validation, changes },
192
+ ...(quality.summary ? { quality: quality.summary } : {}),
156
193
  ...projection,
157
- warnings: changes.length > 0 ? ['Diagram files differ from the recorded manifest.'] : [],
158
- nextAction: html ? `planr artifact open ${JSON.stringify(manifestPath)} --json` : null,
194
+ warnings: [
195
+ ...(changes.length > 0 ? ['Diagram files differ from the recorded manifest.'] : []),
196
+ ...quality.warnings,
197
+ ],
198
+ // An invalid set is not reviewable, so it gets no handover action.
199
+ nextAction: html && quality.summary?.status !== 'invalid'
200
+ ? `planr artifact open ${JSON.stringify(manifestPath)} --json`
201
+ : null,
159
202
  };
160
203
  }
161
204
  async function readJsonObject(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"diagram-pipeline-service.js","sourceRoot":"","sources":["../../src/services/diagram-pipeline-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagram-pipeline-service.js","sourceRoot":"","sources":["../../src/services/diagram-pipeline-service.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,12 @@
2
2
  "kind": "host-native-adapter-registry",
3
3
  "schemaVersion": "1.0.0",
4
4
  "protocolVersion": "1.8.0",
5
- "pipelineVersion": "0.46.0",
6
- "pluginVersion": "2.3.0",
5
+ "pipelineVersion": "0.47.0",
6
+ "pluginVersion": "2.4.0",
7
7
  "adapters": [
8
8
  {
9
9
  "id": "claude-code",
10
- "version": "2.3.0",
10
+ "version": "2.4.0",
11
11
  "capabilityLevel": "product",
12
12
  "installScopes": [
13
13
  "user",
@@ -19,7 +19,7 @@
19
19
  },
20
20
  {
21
21
  "id": "codex",
22
- "version": "2.3.0",
22
+ "version": "2.4.0",
23
23
  "capabilityLevel": "product",
24
24
  "installScopes": [
25
25
  "user",
@@ -31,7 +31,7 @@
31
31
  },
32
32
  {
33
33
  "id": "cursor",
34
- "version": "2.3.0",
34
+ "version": "2.4.0",
35
35
  "capabilityLevel": "workflow",
36
36
  "installScopes": [
37
37
  "project"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "kind": "openplanr-capability-map",
3
3
  "schemaVersion": "1.0.0",
4
- "pluginVersion": "2.3.0",
4
+ "pluginVersion": "2.4.0",
5
5
  "families": [
6
6
  {
7
7
  "id": "planning",
@@ -5,14 +5,14 @@
5
5
  "name": "AsemDevs"
6
6
  },
7
7
  "metadata": {
8
- "version": "2.3.0",
8
+ "version": "2.4.0",
9
9
  "description": "Generated local OpenPlanr package."
10
10
  },
11
11
  "plugins": [
12
12
  {
13
13
  "name": "planr",
14
14
  "source": "./openplanr",
15
- "version": "2.3.0",
15
+ "version": "2.4.0",
16
16
  "description": "Host-native OpenPlanr skills and role agents for Claude Code.",
17
17
  "strict": true
18
18
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "planr",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "description": "Host-native OpenPlanr planning, delivery, review, design, and operating skills.",
5
5
  "author": {
6
6
  "name": "AsemDevs"
@@ -8,7 +8,7 @@
8
8
  "files": [
9
9
  {
10
10
  "path": ".claude-plugin/plugin.json",
11
- "digest": "sha256:662e5a6574a6abfddb63bd4d861ee856988ad407c84c2eab04c0550f32100406"
11
+ "digest": "sha256:5794fedfc3356b66d55de47a5ff85b6987a6c8b312bd9cd2c734177b2495487c"
12
12
  },
13
13
  {
14
14
  "path": "agents/planr-backend.md",
@@ -880,7 +880,7 @@
880
880
  },
881
881
  {
882
882
  "path": "skills/diagram/references/diagram-document.md",
883
- "digest": "sha256:a7e83c660549bc3a37f27f952b1b2d160fb3b39d9952c6dc8bfec7ff73b7761d"
883
+ "digest": "sha256:4d303f1e333a0e278bbe4a5dcbefd8c578a6cfda27211f9b1f3b687938ff0248"
884
884
  },
885
885
  {
886
886
  "path": "skills/diagram/references/diagram-fidelity.md",
@@ -888,11 +888,11 @@
888
888
  },
889
889
  {
890
890
  "path": "skills/diagram/references/diagram-intent-to-ir.md",
891
- "digest": "sha256:6452ff367ad67efa0d6344fe557d3f6b432fcce06326a3dda68fe192a781006c"
891
+ "digest": "sha256:8f29a9ca6cfa448dcd220228c697e6afa198881e5777df2c48899cab9aa8693d"
892
892
  },
893
893
  {
894
894
  "path": "skills/diagram/SKILL.md",
895
- "digest": "sha256:835246d34f87f0746ee927f461ebc32190679094793031a63e6fc29ddafa288d"
895
+ "digest": "sha256:e18886cf87e504fd6720a3e4c4a9f76f32ae3ff5e11800a5cf690dd6aeebaa16"
896
896
  },
897
897
  {
898
898
  "path": "skills/doctor/openplanr.skill.json",
@@ -1203,5 +1203,5 @@
1203
1203
  "digest": "sha256:53698324b62f43b672ce8fe1654c526c96fb202e313442f09c6fc1e72268677e"
1204
1204
  }
1205
1205
  ],
1206
- "contentDigest": "sha256:0fb160d8a2b85f93fe197e9eef7d5a5e54946534f7713d163d0e42b00e509b87"
1206
+ "contentDigest": "sha256:eb202b321a4c962fd48684883eae51048afd993d3ac4b2816991f3aefaa5a4db"
1207
1207
  }
@@ -29,6 +29,12 @@ question UI. Write one digestless Protocol 1.6 diagram draft from the bundled
29
29
  contract, then run the command below. The CLI validates it and adds the
30
30
  canonical digest; the skill must not calculate that digest itself.
31
31
 
32
+ For "who does what, and when" between actors, use a lane grammar (`swimlane`
33
+ or `process`): one lane per actor with its `members`, `left-right` so lanes
34
+ read as rows, and relations for the handoffs. For a board (`kanban`,
35
+ `story-map`), use `top-down` so lanes read as columns and leave `relations`
36
+ empty; members stack in declared order.
37
+
32
38
  ```sh
33
39
  planr diagram render <file>.planr-diagram.json --json
34
40
  ```
@@ -52,6 +58,12 @@ a source branch of an existing generated set; rerender its manifest with
52
58
 
53
59
  ## Look before you hand over
54
60
 
61
+ Every manifest result carries a `quality` object — `status`, `failedChecks`,
62
+ `warningChecks`. Treat anything other than `pass` as unfinished work. An
63
+ `invalid` set returns no `nextAction`: restructure and render again rather than
64
+ opening the studio. A missing `quality` object means the report could not be
65
+ read, which `warnings` explains; that set is unverified, not verified.
66
+
55
67
  A `pass` quality status is necessary, not sufficient. After every render, open
56
68
  the PNG or SVG the command lists and check four signatures: a label that reads as
57
69
  another node's caption, rectangles that overlap, a connector crossing the whole
@@ -76,6 +76,10 @@ messages, and events as named phases. After participant IDs, interleave phase
76
76
  event IDs and message relation IDs in `accessibility.readingOrder`. That order
77
77
  is the canonical timeline used by the renderer and editable projections.
78
78
 
79
+ For a lane grammar, add a `lanes` collection of `{ "id", "label", "members" }`
80
+ entries whose `members` list node IDs. Every member must exist, and the
81
+ renderer draws each lane as a titled band holding those nodes.
82
+
79
83
  Write the draft to `<slug>.planr-diagram.json`, then run:
80
84
 
81
85
  ```sh
@@ -37,6 +37,10 @@ reads at a glance.
37
37
  and `flowchart` a back edge pushes its target to the bottom of the canvas.
38
38
  - Use groups sparingly, at most one level, and never for the whole graph. Use
39
39
  at most one annotation; more than that draws connectors across the canvas.
40
+ - Lanes are bands perpendicular to the flow: rows under `left-right`, columns
41
+ under `top-down`. Put every node in exactly one lane; a node outside all
42
+ lanes renders in an unbanded strip after the last lane. A step's position
43
+ along the flow is its relation rank, so a handoff lines up across lanes.
40
44
 
41
45
  Ask a question only if selecting a different answer would change the grammar,
42
46
  meaning, or audience. Infer presentation details from context and let the
@@ -8,7 +8,7 @@
8
8
  "files": [
9
9
  {
10
10
  "path": "manifest.json",
11
- "digest": "sha256:2c28d0452fa8159e2e7c55d5e5e8a6df4f0b28a414b464001981941c2961acf7"
11
+ "digest": "sha256:bbb9ecf8ec75bb69eaccf7f68d6e581eae08e7edb8e083501860970ad5bc0946"
12
12
  },
13
13
  {
14
14
  "path": "rules/planr-artifact.mdc",
@@ -684,11 +684,11 @@
684
684
  },
685
685
  {
686
686
  "path": "rules/planr-diagram.mdc",
687
- "digest": "sha256:cf1df93175e37d2bbfd3bfd9dd514e76170c505f53fc1405445873d6e6dfa97a"
687
+ "digest": "sha256:5524da92a8c920f8d1d81a78a366052b7cfa998c5489690ae40e643aa2e028d3"
688
688
  },
689
689
  {
690
690
  "path": "rules/planr-diagram/references/diagram-document.md",
691
- "digest": "sha256:a7e83c660549bc3a37f27f952b1b2d160fb3b39d9952c6dc8bfec7ff73b7761d"
691
+ "digest": "sha256:4d303f1e333a0e278bbe4a5dcbefd8c578a6cfda27211f9b1f3b687938ff0248"
692
692
  },
693
693
  {
694
694
  "path": "rules/planr-diagram/references/diagram-fidelity.md",
@@ -696,7 +696,7 @@
696
696
  },
697
697
  {
698
698
  "path": "rules/planr-diagram/references/diagram-intent-to-ir.md",
699
- "digest": "sha256:6452ff367ad67efa0d6344fe557d3f6b432fcce06326a3dda68fe192a781006c"
699
+ "digest": "sha256:8f29a9ca6cfa448dcd220228c697e6afa198881e5777df2c48899cab9aa8693d"
700
700
  },
701
701
  {
702
702
  "path": "rules/planr-doctor.mdc",
@@ -955,5 +955,5 @@
955
955
  "digest": "sha256:6378ad3477e4be8b7e916c4249404c50cafecac1c70ffbf5a1a2fce195dfea16"
956
956
  }
957
957
  ],
958
- "contentDigest": "sha256:3b93c609c36ad402446485de81a0e01a0d2fb14bde7816a4c223e1cae397924a"
958
+ "contentDigest": "sha256:1393039fc6a3d0949341a75c9ab94ab50c30e7145a06073648f978984db10efb"
959
959
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openplanr",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "ruleCount": 27,
5
5
  "rules": [
6
6
  "rules/planr-artifact.mdc",
@@ -76,6 +76,10 @@ messages, and events as named phases. After participant IDs, interleave phase
76
76
  event IDs and message relation IDs in `accessibility.readingOrder`. That order
77
77
  is the canonical timeline used by the renderer and editable projections.
78
78
 
79
+ For a lane grammar, add a `lanes` collection of `{ "id", "label", "members" }`
80
+ entries whose `members` list node IDs. Every member must exist, and the
81
+ renderer draws each lane as a titled band holding those nodes.
82
+
79
83
  Write the draft to `<slug>.planr-diagram.json`, then run:
80
84
 
81
85
  ```sh
@@ -37,6 +37,10 @@ reads at a glance.
37
37
  and `flowchart` a back edge pushes its target to the bottom of the canvas.
38
38
  - Use groups sparingly, at most one level, and never for the whole graph. Use
39
39
  at most one annotation; more than that draws connectors across the canvas.
40
+ - Lanes are bands perpendicular to the flow: rows under `left-right`, columns
41
+ under `top-down`. Put every node in exactly one lane; a node outside all
42
+ lanes renders in an unbanded strip after the last lane. A step's position
43
+ along the flow is its relation rank, so a handoff lines up across lanes.
40
44
 
41
45
  Ask a question only if selecting a different answer would change the grammar,
42
46
  meaning, or audience. Infer presentation details from context and let the
@@ -28,6 +28,12 @@ question UI. Write one digestless Protocol 1.6 diagram draft from the bundled
28
28
  contract, then run the command below. The CLI validates it and adds the
29
29
  canonical digest; the skill must not calculate that digest itself.
30
30
 
31
+ For "who does what, and when" between actors, use a lane grammar (`swimlane`
32
+ or `process`): one lane per actor with its `members`, `left-right` so lanes
33
+ read as rows, and relations for the handoffs. For a board (`kanban`,
34
+ `story-map`), use `top-down` so lanes read as columns and leave `relations`
35
+ empty; members stack in declared order.
36
+
31
37
  ```sh
32
38
  planr diagram render <file>.planr-diagram.json --json
33
39
  ```
@@ -51,6 +57,12 @@ a source branch of an existing generated set; rerender its manifest with
51
57
 
52
58
  ## Look before you hand over
53
59
 
60
+ Every manifest result carries a `quality` object — `status`, `failedChecks`,
61
+ `warningChecks`. Treat anything other than `pass` as unfinished work. An
62
+ `invalid` set returns no `nextAction`: restructure and render again rather than
63
+ opening the studio. A missing `quality` object means the report could not be
64
+ read, which `warnings` explains; that set is unverified, not verified.
65
+
54
66
  A `pass` quality status is necessary, not sufficient. After every render, open
55
67
  the PNG or SVG the command lists and check four signatures: a label that reads as
56
68
  another node's caption, rectangles that overlap, a connector crossing the whole
@@ -4,14 +4,14 @@
4
4
  "name": "AsemDevs"
5
5
  },
6
6
  "metadata": {
7
- "version": "2.3.0",
7
+ "version": "2.4.0",
8
8
  "description": "Generated local OpenPlanr package."
9
9
  },
10
10
  "plugins": [
11
11
  {
12
12
  "name": "planr",
13
13
  "source": "./openplanr",
14
- "version": "2.3.0",
14
+ "version": "2.4.0",
15
15
  "description": "Host-native OpenPlanr skills for OpenAI coding agents.",
16
16
  "strict": true
17
17
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "planr",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "description": "Host-native OpenPlanr planning, delivery, review, design, and operating skills.",
5
5
  "author": {
6
6
  "name": "AsemDevs"
@@ -8,7 +8,7 @@
8
8
  "files": [
9
9
  {
10
10
  "path": ".codex-plugin/plugin.json",
11
- "digest": "sha256:9c69a297d5bf396b66997c3bdac8f244030a6ecbe7a77fc4ec38c3b3046122c6"
11
+ "digest": "sha256:e49c5b68381e89a94d8df74d1813f2efa9bf4d75ff7f7d9f260c06147a90c199"
12
12
  },
13
13
  {
14
14
  "path": "skills/artifact/agents/openai.yaml",
@@ -796,7 +796,7 @@
796
796
  },
797
797
  {
798
798
  "path": "skills/diagram/references/diagram-document.md",
799
- "digest": "sha256:a7e83c660549bc3a37f27f952b1b2d160fb3b39d9952c6dc8bfec7ff73b7761d"
799
+ "digest": "sha256:4d303f1e333a0e278bbe4a5dcbefd8c578a6cfda27211f9b1f3b687938ff0248"
800
800
  },
801
801
  {
802
802
  "path": "skills/diagram/references/diagram-fidelity.md",
@@ -804,11 +804,11 @@
804
804
  },
805
805
  {
806
806
  "path": "skills/diagram/references/diagram-intent-to-ir.md",
807
- "digest": "sha256:6452ff367ad67efa0d6344fe557d3f6b432fcce06326a3dda68fe192a781006c"
807
+ "digest": "sha256:8f29a9ca6cfa448dcd220228c697e6afa198881e5777df2c48899cab9aa8693d"
808
808
  },
809
809
  {
810
810
  "path": "skills/diagram/SKILL.md",
811
- "digest": "sha256:835246d34f87f0746ee927f461ebc32190679094793031a63e6fc29ddafa288d"
811
+ "digest": "sha256:e18886cf87e504fd6720a3e4c4a9f76f32ae3ff5e11800a5cf690dd6aeebaa16"
812
812
  },
813
813
  {
814
814
  "path": "skills/doctor/agents/openai.yaml",
@@ -1171,5 +1171,5 @@
1171
1171
  "digest": "sha256:53698324b62f43b672ce8fe1654c526c96fb202e313442f09c6fc1e72268677e"
1172
1172
  }
1173
1173
  ],
1174
- "contentDigest": "sha256:7af1090afecbcaeeafff52e1a34e7472454ca38e74d65ccc1edd9ad8ac128fac"
1174
+ "contentDigest": "sha256:c8487dca175135756a56c5da0536c6a70958ee85ea704b745315ec6226e6e037"
1175
1175
  }
@@ -29,6 +29,12 @@ question UI. Write one digestless Protocol 1.6 diagram draft from the bundled
29
29
  contract, then run the command below. The CLI validates it and adds the
30
30
  canonical digest; the skill must not calculate that digest itself.
31
31
 
32
+ For "who does what, and when" between actors, use a lane grammar (`swimlane`
33
+ or `process`): one lane per actor with its `members`, `left-right` so lanes
34
+ read as rows, and relations for the handoffs. For a board (`kanban`,
35
+ `story-map`), use `top-down` so lanes read as columns and leave `relations`
36
+ empty; members stack in declared order.
37
+
32
38
  ```sh
33
39
  planr diagram render <file>.planr-diagram.json --json
34
40
  ```
@@ -52,6 +58,12 @@ a source branch of an existing generated set; rerender its manifest with
52
58
 
53
59
  ## Look before you hand over
54
60
 
61
+ Every manifest result carries a `quality` object — `status`, `failedChecks`,
62
+ `warningChecks`. Treat anything other than `pass` as unfinished work. An
63
+ `invalid` set returns no `nextAction`: restructure and render again rather than
64
+ opening the studio. A missing `quality` object means the report could not be
65
+ read, which `warnings` explains; that set is unverified, not verified.
66
+
55
67
  A `pass` quality status is necessary, not sufficient. After every render, open
56
68
  the PNG or SVG the command lists and check four signatures: a label that reads as
57
69
  another node's caption, rectangles that overlap, a connector crossing the whole
@@ -76,6 +76,10 @@ messages, and events as named phases. After participant IDs, interleave phase
76
76
  event IDs and message relation IDs in `accessibility.readingOrder`. That order
77
77
  is the canonical timeline used by the renderer and editable projections.
78
78
 
79
+ For a lane grammar, add a `lanes` collection of `{ "id", "label", "members" }`
80
+ entries whose `members` list node IDs. Every member must exist, and the
81
+ renderer draws each lane as a titled band holding those nodes.
82
+
79
83
  Write the draft to `<slug>.planr-diagram.json`, then run:
80
84
 
81
85
  ```sh
@@ -37,6 +37,10 @@ reads at a glance.
37
37
  and `flowchart` a back edge pushes its target to the bottom of the canvas.
38
38
  - Use groups sparingly, at most one level, and never for the whole graph. Use
39
39
  at most one annotation; more than that draws connectors across the canvas.
40
+ - Lanes are bands perpendicular to the flow: rows under `left-right`, columns
41
+ under `top-down`. Put every node in exactly one lane; a node outside all
42
+ lanes renders in an unbanded strip after the last lane. A step's position
43
+ along the flow is its relation rank, so a handoff lines up across lanes.
40
44
 
41
45
  Ask a question only if selecting a different answer would change the grammar,
42
46
  meaning, or audience. Infer presentation details from context and let the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openplanr",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "description": "Deterministic OpenPlanr utilities for planning storage, validation, rendering, setup, diagnostics, and GitHub/Linear synchronization",
5
5
  "type": "module",
6
6
  "main": "./dist/cli/index.js",
@@ -115,7 +115,7 @@
115
115
  "zod": "^4.3.6"
116
116
  },
117
117
  "optionalDependencies": {
118
- "planr-pipeline": "0.46.0"
118
+ "planr-pipeline": "0.47.0"
119
119
  },
120
120
  "devDependencies": {
121
121
  "@biomejs/biome": "^2.4.9",