@diff-review-system/drs 4.0.1 → 5.0.0-rc.1

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 (218) hide show
  1. package/.pi/agents/review/unified-reviewer.md +2 -6
  2. package/.pi/agents/task/okf-wiki-maintainer.md +72 -0
  3. package/.pi/agents/task/review-assistant.md +22 -0
  4. package/.pi/workflows/github-pr-fix-review-issues-stacked.yaml +12 -4
  5. package/.pi/workflows/github-pr-review-post.yaml +29 -20
  6. package/.pi/workflows/github-pr-review.yaml +37 -8
  7. package/.pi/workflows/github-pr-update-agents-md-stacked.yaml +2 -0
  8. package/.pi/workflows/github-pr-visual-explain.yaml +46 -1
  9. package/.pi/workflows/gitlab-mr-fix-review-issues-stacked.yaml +12 -4
  10. package/.pi/workflows/gitlab-mr-review.yaml +20 -8
  11. package/.pi/workflows/gitlab-mr-update-agents-md-stacked.yaml +2 -0
  12. package/.pi/workflows/gitlab-mr-visual-explain.yaml +46 -1
  13. package/.pi/workflows/local-fix-review-issues.yaml +13 -6
  14. package/.pi/workflows/local-review.yaml +7 -1
  15. package/.pi/workflows/local-visual-explain.yaml +46 -1
  16. package/.pi/workflows/release-changelog-finalize.yaml +10 -0
  17. package/.pi/workflows/repository-wiki-check.yaml +40 -0
  18. package/.pi/workflows/repository-wiki-sync.yaml +187 -0
  19. package/.pi/workflows/temporal-control-smoke.yaml +63 -0
  20. package/.wiki-site/.vitepress/config.mts +452 -0
  21. package/.wiki-site/.vitepress/theme/PageLead.vue +122 -0
  22. package/.wiki-site/.vitepress/theme/index.ts +12 -0
  23. package/.wiki-site/.vitepress/theme/style.css +270 -0
  24. package/README.md +77 -4
  25. package/dist/cli/index.js +87 -4
  26. package/dist/cli/index.js.map +1 -1
  27. package/dist/cli/init.d.ts +6 -1
  28. package/dist/cli/init.d.ts.map +1 -1
  29. package/dist/cli/init.js +26 -10
  30. package/dist/cli/init.js.map +1 -1
  31. package/dist/cli/run-agent.d.ts +5 -7
  32. package/dist/cli/run-agent.d.ts.map +1 -1
  33. package/dist/cli/run-agent.js +56 -5
  34. package/dist/cli/run-agent.js.map +1 -1
  35. package/dist/cli/wiki.d.ts +3 -0
  36. package/dist/cli/wiki.d.ts.map +1 -0
  37. package/dist/cli/wiki.js +174 -0
  38. package/dist/cli/wiki.js.map +1 -0
  39. package/dist/cli/workflow-executor-selection.d.ts +3 -0
  40. package/dist/cli/workflow-executor-selection.d.ts.map +1 -0
  41. package/dist/cli/workflow-executor-selection.js +15 -0
  42. package/dist/cli/workflow-executor-selection.js.map +1 -0
  43. package/dist/cli/workflow.d.ts +40 -42
  44. package/dist/cli/workflow.d.ts.map +1 -1
  45. package/dist/cli/workflow.js +533 -868
  46. package/dist/cli/workflow.js.map +1 -1
  47. package/dist/github/client.d.ts.map +1 -1
  48. package/dist/github/client.js +2 -2
  49. package/dist/github/client.js.map +1 -1
  50. package/dist/github/platform-adapter.d.ts.map +1 -1
  51. package/dist/github/platform-adapter.js +15 -1
  52. package/dist/github/platform-adapter.js.map +1 -1
  53. package/dist/gitlab/client.d.ts +4 -0
  54. package/dist/gitlab/client.d.ts.map +1 -1
  55. package/dist/gitlab/client.js +17 -1
  56. package/dist/gitlab/client.js.map +1 -1
  57. package/dist/gitlab/platform-adapter.d.ts.map +1 -1
  58. package/dist/gitlab/platform-adapter.js +17 -1
  59. package/dist/gitlab/platform-adapter.js.map +1 -1
  60. package/dist/lib/agent-permissions.d.ts +44 -0
  61. package/dist/lib/agent-permissions.d.ts.map +1 -0
  62. package/dist/lib/agent-permissions.js +358 -0
  63. package/dist/lib/agent-permissions.js.map +1 -0
  64. package/dist/lib/agent-result.d.ts +10 -0
  65. package/dist/lib/agent-result.d.ts.map +1 -0
  66. package/dist/lib/agent-result.js +2 -0
  67. package/dist/lib/agent-result.js.map +1 -0
  68. package/dist/lib/comment-poster.d.ts +1 -1
  69. package/dist/lib/comment-poster.d.ts.map +1 -1
  70. package/dist/lib/comment-poster.js +38 -16
  71. package/dist/lib/comment-poster.js.map +1 -1
  72. package/dist/lib/config.d.ts +27 -1
  73. package/dist/lib/config.d.ts.map +1 -1
  74. package/dist/lib/config.js +17 -0
  75. package/dist/lib/config.js.map +1 -1
  76. package/dist/lib/error-comment-poster.d.ts +1 -1
  77. package/dist/lib/error-comment-poster.d.ts.map +1 -1
  78. package/dist/lib/error-comment-poster.js +15 -7
  79. package/dist/lib/error-comment-poster.js.map +1 -1
  80. package/dist/lib/okf-wiki.d.ts +65 -0
  81. package/dist/lib/okf-wiki.d.ts.map +1 -0
  82. package/dist/lib/okf-wiki.js +647 -0
  83. package/dist/lib/okf-wiki.js.map +1 -0
  84. package/dist/lib/output-paths.d.ts +0 -1
  85. package/dist/lib/output-paths.d.ts.map +1 -1
  86. package/dist/lib/output-paths.js +0 -1
  87. package/dist/lib/output-paths.js.map +1 -1
  88. package/dist/lib/platform-client.d.ts +2 -0
  89. package/dist/lib/platform-client.d.ts.map +1 -1
  90. package/dist/lib/project-setup.d.ts +7 -0
  91. package/dist/lib/project-setup.d.ts.map +1 -0
  92. package/dist/lib/project-setup.js +11 -0
  93. package/dist/lib/project-setup.js.map +1 -0
  94. package/dist/lib/review-artifact-store.d.ts +16 -0
  95. package/dist/lib/review-artifact-store.d.ts.map +1 -0
  96. package/dist/lib/review-artifact-store.js +84 -0
  97. package/dist/lib/review-artifact-store.js.map +1 -0
  98. package/dist/lib/review-artifact.d.ts +11 -1
  99. package/dist/lib/review-artifact.d.ts.map +1 -1
  100. package/dist/lib/review-artifact.js +203 -0
  101. package/dist/lib/review-artifact.js.map +1 -1
  102. package/dist/lib/review-core.d.ts +1 -0
  103. package/dist/lib/review-core.d.ts.map +1 -1
  104. package/dist/lib/review-core.js +11 -14
  105. package/dist/lib/review-core.js.map +1 -1
  106. package/dist/lib/review-orchestrator.d.ts +6 -1
  107. package/dist/lib/review-orchestrator.d.ts.map +1 -1
  108. package/dist/lib/review-orchestrator.js +3 -1
  109. package/dist/lib/review-orchestrator.js.map +1 -1
  110. package/dist/lib/review-parser.d.ts.map +1 -1
  111. package/dist/lib/review-parser.js +15 -12
  112. package/dist/lib/review-parser.js.map +1 -1
  113. package/dist/lib/wiki-delta.d.ts +71 -0
  114. package/dist/lib/wiki-delta.d.ts.map +1 -0
  115. package/dist/lib/wiki-delta.js +524 -0
  116. package/dist/lib/wiki-delta.js.map +1 -0
  117. package/dist/lib/wiki-run-summary.d.ts +45 -0
  118. package/dist/lib/wiki-run-summary.d.ts.map +1 -0
  119. package/dist/lib/wiki-run-summary.js +168 -0
  120. package/dist/lib/wiki-run-summary.js.map +1 -0
  121. package/dist/lib/wiki-search.d.ts +24 -0
  122. package/dist/lib/wiki-search.d.ts.map +1 -0
  123. package/dist/lib/wiki-search.js +200 -0
  124. package/dist/lib/wiki-search.js.map +1 -0
  125. package/dist/lib/wiki-site-graph.d.ts +33 -0
  126. package/dist/lib/wiki-site-graph.d.ts.map +1 -0
  127. package/dist/lib/wiki-site-graph.js +446 -0
  128. package/dist/lib/wiki-site-graph.js.map +1 -0
  129. package/dist/lib/wiki-site-safety.d.ts +6 -0
  130. package/dist/lib/wiki-site-safety.d.ts.map +1 -0
  131. package/dist/lib/wiki-site-safety.js +83 -0
  132. package/dist/lib/wiki-site-safety.js.map +1 -0
  133. package/dist/lib/wiki-site-smoke.d.ts +16 -0
  134. package/dist/lib/wiki-site-smoke.d.ts.map +1 -0
  135. package/dist/lib/wiki-site-smoke.js +270 -0
  136. package/dist/lib/wiki-site-smoke.js.map +1 -0
  137. package/dist/lib/wiki-site.d.ts +26 -0
  138. package/dist/lib/wiki-site.d.ts.map +1 -0
  139. package/dist/lib/wiki-site.js +221 -0
  140. package/dist/lib/wiki-site.js.map +1 -0
  141. package/dist/lib/workflow/artifact-store.d.ts +71 -0
  142. package/dist/lib/workflow/artifact-store.d.ts.map +1 -0
  143. package/dist/lib/workflow/artifact-store.js +121 -0
  144. package/dist/lib/workflow/artifact-store.js.map +1 -0
  145. package/dist/lib/workflow/compiled-plan.d.ts +87 -0
  146. package/dist/lib/workflow/compiled-plan.d.ts.map +1 -0
  147. package/dist/lib/workflow/compiled-plan.js +62 -0
  148. package/dist/lib/workflow/compiled-plan.js.map +1 -0
  149. package/dist/lib/workflow/executor.d.ts +18 -0
  150. package/dist/lib/workflow/executor.d.ts.map +1 -0
  151. package/dist/lib/workflow/executor.js +2 -0
  152. package/dist/lib/workflow/executor.js.map +1 -0
  153. package/dist/lib/workflow/graph.d.ts +30 -0
  154. package/dist/lib/workflow/graph.d.ts.map +1 -0
  155. package/dist/lib/workflow/graph.js +139 -0
  156. package/dist/lib/workflow/graph.js.map +1 -0
  157. package/dist/lib/workflow/input.d.ts +4 -0
  158. package/dist/lib/workflow/input.d.ts.map +1 -0
  159. package/dist/lib/workflow/input.js +4 -0
  160. package/dist/lib/workflow/input.js.map +1 -0
  161. package/dist/lib/workflow/node-executor.d.ts +19 -0
  162. package/dist/lib/workflow/node-executor.d.ts.map +1 -0
  163. package/dist/lib/workflow/node-executor.js +2 -0
  164. package/dist/lib/workflow/node-executor.js.map +1 -0
  165. package/dist/lib/workflow/planning.d.ts +52 -0
  166. package/dist/lib/workflow/planning.d.ts.map +1 -0
  167. package/dist/lib/workflow/planning.js +865 -0
  168. package/dist/lib/workflow/planning.js.map +1 -0
  169. package/dist/lib/workflow/types.d.ts +71 -0
  170. package/dist/lib/workflow/types.d.ts.map +1 -0
  171. package/dist/lib/workflow/types.js +2 -0
  172. package/dist/lib/workflow/types.js.map +1 -0
  173. package/dist/lib/workflow-artifacts.d.ts.map +1 -1
  174. package/dist/lib/workflow-artifacts.js +23 -1
  175. package/dist/lib/workflow-artifacts.js.map +1 -1
  176. package/dist/lib/write-json-output.d.ts.map +1 -1
  177. package/dist/lib/write-json-output.js +3 -8
  178. package/dist/lib/write-json-output.js.map +1 -1
  179. package/dist/pi/sdk.d.ts.map +1 -1
  180. package/dist/pi/sdk.js +276 -19
  181. package/dist/pi/sdk.js.map +1 -1
  182. package/dist/runtime/client.d.ts +3 -0
  183. package/dist/runtime/client.d.ts.map +1 -1
  184. package/dist/runtime/client.js +4 -0
  185. package/dist/runtime/client.js.map +1 -1
  186. package/dist/temporal/activities.d.ts +26 -0
  187. package/dist/temporal/activities.d.ts.map +1 -0
  188. package/dist/temporal/activities.js +219 -0
  189. package/dist/temporal/activities.js.map +1 -0
  190. package/dist/temporal/config.d.ts +4 -0
  191. package/dist/temporal/config.d.ts.map +1 -0
  192. package/dist/temporal/config.js +36 -0
  193. package/dist/temporal/config.js.map +1 -0
  194. package/dist/temporal/executor.d.ts +7 -0
  195. package/dist/temporal/executor.d.ts.map +1 -0
  196. package/dist/temporal/executor.js +240 -0
  197. package/dist/temporal/executor.js.map +1 -0
  198. package/dist/temporal/retry-policy.d.ts +28 -0
  199. package/dist/temporal/retry-policy.d.ts.map +1 -0
  200. package/dist/temporal/retry-policy.js +61 -0
  201. package/dist/temporal/retry-policy.js.map +1 -0
  202. package/dist/temporal/types.d.ts +86 -0
  203. package/dist/temporal/types.d.ts.map +1 -0
  204. package/dist/temporal/types.js +2 -0
  205. package/dist/temporal/types.js.map +1 -0
  206. package/dist/temporal/worker.d.ts +3 -0
  207. package/dist/temporal/worker.d.ts.map +1 -0
  208. package/dist/temporal/worker.js +18 -0
  209. package/dist/temporal/worker.js.map +1 -0
  210. package/dist/temporal/workflow-id.d.ts +27 -0
  211. package/dist/temporal/workflow-id.d.ts.map +1 -0
  212. package/dist/temporal/workflow-id.js +53 -0
  213. package/dist/temporal/workflow-id.js.map +1 -0
  214. package/dist/temporal/workflows.d.ts +6 -0
  215. package/dist/temporal/workflows.d.ts.map +1 -0
  216. package/dist/temporal/workflows.js +355 -0
  217. package/dist/temporal/workflows.js.map +1 -0
  218. package/package.json +24 -9
@@ -15,10 +15,31 @@ nodes:
15
15
  mr: '{{inputs.mr}}'
16
16
  output: change
17
17
 
18
- visual:
18
+ review-artifact:
19
+ action: artifact-exists
20
+ needs:
21
+ - change
22
+ with:
23
+ kind: review
24
+ source: change
25
+ output: reviewArtifactStatus
26
+
27
+ load-review-artifact:
28
+ action: load-artifact
29
+ needs:
30
+ - review-artifact
31
+ if: artifacts.reviewArtifactStatus.exists == true
32
+ with:
33
+ kind: review
34
+ source: change
35
+ output: reviewArtifact
36
+
37
+ visual-with-review:
19
38
  agent: visual/pr-explainer
20
39
  needs:
21
40
  - change
41
+ - load-review-artifact
42
+ if: artifacts.reviewArtifactStatus.exists == true
22
43
  input: |
23
44
  Generate a visual MR explainer HTML artifact.
24
45
 
@@ -29,5 +50,29 @@ nodes:
29
50
 
30
51
  DRS change-source context:
31
52
  {{artifacts.change}}
53
+
54
+ Current DRS review artifact path: {{artifacts.reviewArtifact.path}}
55
+
56
+ Use the read_artifact tool with this path to include confirmed DRS findings in a clearly labeled section. Do not assume the review JSON is in this prompt.
57
+ writes: '{{inputs.outputPath}}'
58
+ output: visualExplainer
59
+
60
+ visual:
61
+ agent: visual/pr-explainer
62
+ needs:
63
+ - review-artifact
64
+ if: artifacts.reviewArtifactStatus.exists == false
65
+ input: |
66
+ Generate a visual MR explainer HTML artifact.
67
+
68
+ Output path: {{inputs.outputPath}}
69
+ Slide mode: {{inputs.slides}}
70
+
71
+ Use the supplied DRS change-source context. If important file diffs are omitted or summarized, use git_diff for those files before explaining them.
72
+
73
+ DRS change-source context:
74
+ {{artifacts.change}}
75
+
76
+ No current DRS review artifact exists for this MR. Label the artifact as an MR explainer with no DRS findings included.
32
77
  writes: '{{inputs.outputPath}}'
33
78
  output: visualExplainer
@@ -1,5 +1,12 @@
1
1
  name: local-fix-review-issues
2
2
  description: Fix actionable issues from a saved local DRS review artifact with verification loop
3
+ metadata:
4
+ kind: review
5
+ tags: [review, fix, local]
6
+ review:
7
+ source: local
8
+ diff: true
9
+ issues: true
3
10
  inputs:
4
11
  review:
5
12
  type: string
@@ -14,7 +21,7 @@ inputs:
14
21
  fixMaxIterations:
15
22
  type: number
16
23
  default: 3
17
- output: persistedReviewArtifact
24
+ output: reviewArtifact
18
25
  nodes:
19
26
  change:
20
27
  action: change-source
@@ -31,7 +38,7 @@ nodes:
31
38
  kind: review
32
39
  source: change
33
40
  id: '{{inputs.review}}'
34
- output: persistedReviewArtifact
41
+ output: reviewArtifact
35
42
 
36
43
  fix-issues:
37
44
  agent: task/review-issue-fixer
@@ -42,7 +49,7 @@ nodes:
42
49
 
43
50
  Only fix findings at or above severity {{inputs.fixSeverity}} unless a lower-severity issue is directly required by such a fix.
44
51
 
45
- Review artifact path: {{artifacts.persistedReviewArtifact.path}}
52
+ Review artifact path: {{artifacts.reviewArtifact.path}}
46
53
 
47
54
  Use the read_artifact tool with this path to get the finding manifest, then pull full details for specific findings by id. Do not assume the review JSON is in this prompt — call the tool.
48
55
 
@@ -77,7 +84,7 @@ nodes:
77
84
  - verification-change
78
85
  with:
79
86
  source: verificationChange
80
- reviewArtifact: persistedReviewArtifact
87
+ reviewArtifact: reviewArtifact
81
88
  severity: '{{inputs.fixSeverity}}'
82
89
  output: reReview
83
90
 
@@ -88,12 +95,12 @@ nodes:
88
95
  - load-review-artifact
89
96
  - final-change
90
97
  with:
91
- artifact: persistedReviewArtifact
98
+ artifact: reviewArtifact
92
99
  review: reReview
93
100
  fixChange: finalChange
94
101
  severity: '{{inputs.fixSeverity}}'
95
102
  minIssues: '1'
96
- output: persistedReviewArtifact
103
+ output: reviewArtifact
97
104
 
98
105
  fix-loop:
99
106
  control: loop
@@ -1,5 +1,12 @@
1
1
  name: local-review
2
2
  description: Review local git diff
3
+ metadata:
4
+ kind: review
5
+ tags: [review, local]
6
+ review:
7
+ source: local
8
+ diff: true
9
+ issues: true
3
10
  inputs:
4
11
  staged:
5
12
  type: boolean
@@ -20,5 +27,4 @@ nodes:
20
27
  - change
21
28
  with:
22
29
  source: change
23
- artifact: persistedReviewArtifact
24
30
  output: review
@@ -13,10 +13,31 @@ nodes:
13
13
  staged: '{{inputs.staged}}'
14
14
  output: change
15
15
 
16
- visual:
16
+ review-artifact:
17
+ action: artifact-exists
18
+ needs:
19
+ - change
20
+ with:
21
+ kind: review
22
+ source: change
23
+ output: reviewArtifactStatus
24
+
25
+ load-review-artifact:
26
+ action: load-artifact
27
+ needs:
28
+ - review-artifact
29
+ if: artifacts.reviewArtifactStatus.exists == true
30
+ with:
31
+ kind: review
32
+ source: change
33
+ output: reviewArtifact
34
+
35
+ visual-with-review:
17
36
  agent: visual/pr-explainer
18
37
  needs:
19
38
  - change
39
+ - load-review-artifact
40
+ if: artifacts.reviewArtifactStatus.exists == true
20
41
  input: |
21
42
  Generate a visual local-diff explainer HTML artifact.
22
43
 
@@ -27,5 +48,29 @@ nodes:
27
48
 
28
49
  DRS change-source context:
29
50
  {{artifacts.change}}
51
+
52
+ Current DRS review artifact path: {{artifacts.reviewArtifact.path}}
53
+
54
+ Use the read_artifact tool with this path to include confirmed DRS findings in a clearly labeled section. Do not assume the review JSON is in this prompt.
55
+ writes: '{{inputs.outputPath}}'
56
+ output: visualExplainer
57
+
58
+ visual:
59
+ agent: visual/pr-explainer
60
+ needs:
61
+ - review-artifact
62
+ if: artifacts.reviewArtifactStatus.exists == false
63
+ input: |
64
+ Generate a visual local-diff explainer HTML artifact.
65
+
66
+ Output path: {{inputs.outputPath}}
67
+ Slide mode: {{inputs.slides}}
68
+
69
+ Use the supplied DRS change-source context. If important file diffs are omitted or summarized, use git_diff for those files before explaining them.
70
+
71
+ DRS change-source context:
72
+ {{artifacts.change}}
73
+
74
+ No current DRS review artifact exists for this diff. Label the artifact as a diff explainer with no DRS findings included.
30
75
  writes: '{{inputs.outputPath}}'
31
76
  output: visualExplainer
@@ -31,6 +31,15 @@ nodes:
31
31
  agent: task/changelog-updater
32
32
  needs:
33
33
  - release-change
34
+ permissions:
35
+ filesystem:
36
+ read:
37
+ roots: ['.']
38
+ allow: [CHANGELOG.md]
39
+ write:
40
+ roots: ['.']
41
+ allow: [CHANGELOG.md]
42
+ shell: false
34
43
  input: |
35
44
  Finalize CHANGELOG.md for release {{inputs.version}} dated {{inputs.date}}.
36
45
 
@@ -41,6 +50,7 @@ nodes:
41
50
  - Ensure the file starts with `# Changelog` followed by the standard introduction.
42
51
  - Move release-worthy `## Unreleased` entries into `## {{inputs.version}} - {{inputs.date}}`.
43
52
  - Create `## {{inputs.version}} - {{inputs.date}}` directly above the previous released version if it does not exist.
53
+ - Consolidate any earlier prerelease sections for the same major.minor.patch version into this release section. A final release must not retain separate RC, beta, or alpha sections for that version.
44
54
  - Keep `## Unreleased` above the release section only if there are remaining unreleased entries; otherwise remove empty duplicate/unneeded headings.
45
55
  - Preserve existing older release sections.
46
56
  - Do not create git tags, publish packages, or edit files other than CHANGELOG.md.
@@ -0,0 +1,40 @@
1
+ name: repository-wiki-check
2
+ description: Verify repository wiki delta state and OKF v0.1 conformance without a model call
3
+ metadata:
4
+ kind: validation
5
+ tags:
6
+ - documentation
7
+ - wiki
8
+ - okf
9
+ - ci
10
+ inputs:
11
+ root:
12
+ type: string
13
+ default: wiki
14
+ description: Repository-relative OKF bundle root
15
+ instructionsPath:
16
+ type: string
17
+ default: .drs/wiki-instructions.md
18
+ description: Repository-relative persistent wiki brief path outside the OKF bundle
19
+ statePath:
20
+ type: string
21
+ default: .drs/wiki-state.json
22
+ description: Repository-relative delta state path outside the OKF bundle
23
+ output: wikiValidation
24
+ nodes:
25
+ check-state:
26
+ action: check-wiki-state
27
+ with:
28
+ root: '{{inputs.root}}'
29
+ statePath: '{{inputs.statePath}}'
30
+ instructionsPath: '{{inputs.instructionsPath}}'
31
+ output: wikiDelta
32
+
33
+ validate-wiki:
34
+ action: validate-okf-wiki
35
+ needs:
36
+ - check-state
37
+ with:
38
+ root: '{{inputs.root}}'
39
+ version: '0.1'
40
+ output: wikiValidation
@@ -0,0 +1,187 @@
1
+ name: repository-wiki-sync
2
+ description: Generate or update one OKF v0.1 repository wiki bundle
3
+ metadata:
4
+ kind: maintenance
5
+ tags:
6
+ - documentation
7
+ - wiki
8
+ - okf
9
+ inputs:
10
+ root:
11
+ type: string
12
+ default: wiki
13
+ description: Repository-relative OKF bundle root
14
+ instructions:
15
+ type: string
16
+ default: ''
17
+ description: One-run addition to the persistent repository wiki brief
18
+ instructionsPath:
19
+ type: string
20
+ default: .drs/wiki-instructions.md
21
+ description: Repository-relative persistent wiki brief path outside the OKF bundle
22
+ statePath:
23
+ type: string
24
+ default: .drs/wiki-state.json
25
+ description: Repository-relative delta state path outside the OKF bundle
26
+ check:
27
+ type: boolean
28
+ default: false
29
+ description: Fail when the workflow produces uncommitted wiki or state changes
30
+ output: wikiResult
31
+ nodes:
32
+ plan-update:
33
+ action: plan-wiki-update
34
+ with:
35
+ root: '{{inputs.root}}'
36
+ statePath: '{{inputs.statePath}}'
37
+ instructionsPath: '{{inputs.instructionsPath}}'
38
+ instructions: '{{inputs.instructions}}'
39
+ output: wikiDelta
40
+
41
+ maintain-wiki:
42
+ agent: task/okf-wiki-maintainer
43
+ needs:
44
+ - plan-update
45
+ if: artifacts.wikiDelta.shouldRun == true
46
+ permissions:
47
+ filesystem:
48
+ read:
49
+ roots:
50
+ - '.'
51
+ allow:
52
+ - '**'
53
+ write:
54
+ roots:
55
+ - '{{inputs.root}}'
56
+ allow:
57
+ - '**/*.md'
58
+ deny:
59
+ - '**/index.md'
60
+ delete:
61
+ roots:
62
+ - '{{inputs.root}}'
63
+ allow:
64
+ - '**/*.md'
65
+ deny:
66
+ - '**/index.md'
67
+ shell: false
68
+ validation:
69
+ afterMutation:
70
+ - name: okf-document
71
+ root: '{{inputs.root}}'
72
+ input: |
73
+ Generate, reconcile, or update the repository wiki as one OKF v0.1 bundle.
74
+
75
+ Bundle root: {{inputs.root}}
76
+
77
+ Deterministic delta plan:
78
+ {{artifacts.wikiDelta}}
79
+
80
+ Repository wiki brief (persistent brief plus any one-run addition):
81
+ {{artifacts.wikiDelta.instructions}}
82
+
83
+ For generate mode, inspect the full repository and create the initial bundle. For update mode, prioritize candidateConcepts (concepts whose cited drs_sources changed) and use changedPaths as the primary scope, editing only directly affected concepts. For reconcile mode, preserve accurate existing content while repairing state or bundle drift and re-apply the repository wiki brief. Declare and maintain drs_sources citations in every concept you create or edit.
84
+
85
+ Edit concept files in place and return a concise summary. Do not edit index.md files; DRS synchronizes them in the next step. Do not commit or push.
86
+ output: wikiSummary
87
+
88
+ sync-indexes:
89
+ action: sync-okf-indexes
90
+ needs:
91
+ - maintain-wiki
92
+ with:
93
+ root: '{{inputs.root}}'
94
+ version: '0.1'
95
+ output: wikiIndexes
96
+
97
+ validate-updated-wiki:
98
+ action: validate-okf-wiki
99
+ needs:
100
+ - sync-indexes
101
+ with:
102
+ root: '{{inputs.root}}'
103
+ version: '0.1'
104
+ output: wikiValidation
105
+
106
+ record-state:
107
+ action: record-wiki-state
108
+ needs:
109
+ - validate-updated-wiki
110
+ with:
111
+ root: '{{inputs.root}}'
112
+ statePath: '{{inputs.statePath}}'
113
+ instructionsPath: '{{inputs.instructionsPath}}'
114
+ instructions: '{{inputs.instructions}}'
115
+ output: wikiState
116
+
117
+ check-updated-wiki:
118
+ action: check-wiki-clean
119
+ needs:
120
+ - record-state
121
+ if: inputs.check == true
122
+ with:
123
+ root: '{{inputs.root}}'
124
+ statePath: '{{inputs.statePath}}'
125
+
126
+ summarize-updated-wiki:
127
+ action: summarize-wiki-run
128
+ needs:
129
+ - record-state
130
+ if: inputs.check == false
131
+ with:
132
+ plan: wikiDelta
133
+ validation: wikiValidation
134
+ agentNode: maintain-wiki
135
+ output: wikiResult
136
+
137
+ summarize-checked-updated-wiki:
138
+ action: summarize-wiki-run
139
+ needs:
140
+ - check-updated-wiki
141
+ if: inputs.check == true
142
+ with:
143
+ plan: wikiDelta
144
+ validation: wikiValidation
145
+ agentNode: maintain-wiki
146
+ output: wikiResult
147
+
148
+ validate-current-wiki:
149
+ action: validate-okf-wiki
150
+ needs:
151
+ - plan-update
152
+ if: artifacts.wikiDelta.shouldRun == false
153
+ with:
154
+ root: '{{inputs.root}}'
155
+ version: '0.1'
156
+ output: wikiValidation
157
+
158
+ check-current-wiki:
159
+ action: check-wiki-clean
160
+ needs:
161
+ - validate-current-wiki
162
+ if: inputs.check == true
163
+ with:
164
+ root: '{{inputs.root}}'
165
+ statePath: '{{inputs.statePath}}'
166
+
167
+ summarize-current-wiki:
168
+ action: summarize-wiki-run
169
+ needs:
170
+ - validate-current-wiki
171
+ if: inputs.check == false
172
+ with:
173
+ plan: wikiDelta
174
+ validation: wikiValidation
175
+ agentNode: maintain-wiki
176
+ output: wikiResult
177
+
178
+ summarize-checked-current-wiki:
179
+ action: summarize-wiki-run
180
+ needs:
181
+ - check-current-wiki
182
+ if: inputs.check == true
183
+ with:
184
+ plan: wikiDelta
185
+ validation: wikiValidation
186
+ agentNode: maintain-wiki
187
+ output: wikiResult
@@ -0,0 +1,63 @@
1
+ name: temporal-control-smoke
2
+ description: Smoke test Temporal control-flow execution with safe local write actions
3
+ inputs:
4
+ mode:
5
+ type: enum
6
+ values:
7
+ - loop
8
+ - pass
9
+ - end
10
+ default: loop
11
+ description: 'Control route to exercise: loop, passThrough, or end'
12
+ output: final
13
+ nodes:
14
+ start:
15
+ action: write
16
+ input: '{{inputs.mode}}'
17
+ writes: .drs/artifacts/temporal-smoke/start.txt
18
+ output: mode
19
+
20
+ route:
21
+ control: switch
22
+ needs:
23
+ - start
24
+ value: '{{artifacts.mode}}'
25
+ cases:
26
+ loop: loop-body
27
+ end: stop
28
+ default: pass
29
+
30
+ loop-body:
31
+ action: write
32
+ needs:
33
+ - route
34
+ input: 'loop body for {{artifacts.mode}}'
35
+ writes: .drs/artifacts/temporal-smoke/loop-body.txt
36
+ output: loopBody
37
+
38
+ again:
39
+ control: loop
40
+ needs:
41
+ - loop-body
42
+ if: 'true'
43
+ target: loop-body
44
+ exit: done
45
+ maxIterations: 2
46
+ onMaxIterations: exit
47
+
48
+ pass:
49
+ control: passThrough
50
+ needs:
51
+ - route
52
+ target: done
53
+
54
+ stop:
55
+ control: end
56
+ needs:
57
+ - route
58
+
59
+ done:
60
+ action: write
61
+ input: 'temporal control smoke complete via {{inputs.mode}}'
62
+ writes: .drs/artifacts/temporal-smoke/done.txt
63
+ output: final