wtf-p 0.7.4 → 0.8.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 (109) hide show
  1. package/README.md +10 -10
  2. package/bin/commands/install-logic.js +1 -1
  3. package/bin/lib/adapter-compiler.js +163 -55
  4. package/bin/lib/clio-registration.js +127 -36
  5. package/bin/lib/manifest.js +11 -3
  6. package/bin/uninstall.js +3 -2
  7. package/package.json +1 -1
  8. package/vendors/antigravity/.wtfp-generated.json +2 -2
  9. package/vendors/antigravity/plugin.json +1 -1
  10. package/vendors/claude/.claude-plugin/marketplace.json +2 -2
  11. package/vendors/claude/.claude-plugin/plugin.json +1 -1
  12. package/vendors/claude/.wtfp-generated.json +5 -5
  13. package/vendors/claude/ai.iowarp.clio/prompts/wtfp/help.md +1 -1
  14. package/vendors/claude/plugin.json +1 -1
  15. package/vendors/clio-extension/.wtfp-generated.json +228 -0
  16. package/vendors/clio-extension/actions/add-todo.json +52 -0
  17. package/vendors/clio-extension/actions/analyze-bib.json +97 -0
  18. package/vendors/clio-extension/actions/audit-milestone.json +63 -0
  19. package/vendors/clio-extension/actions/check-refs.json +80 -0
  20. package/vendors/clio-extension/actions/check-todos.json +52 -0
  21. package/vendors/clio-extension/actions/checkpoint.json +76 -0
  22. package/vendors/clio-extension/actions/contribute.json +57 -0
  23. package/vendors/clio-extension/actions/create-outline.json +84 -0
  24. package/vendors/clio-extension/actions/create-poster.json +54 -0
  25. package/vendors/clio-extension/actions/create-slides.json +54 -0
  26. package/vendors/clio-extension/actions/discuss-section.json +76 -0
  27. package/vendors/clio-extension/actions/execute-outline.json +116 -0
  28. package/vendors/clio-extension/actions/export-latex.json +65 -0
  29. package/vendors/clio-extension/actions/help.json +30 -0
  30. package/vendors/clio-extension/actions/insert-section.json +61 -0
  31. package/vendors/clio-extension/actions/list-assumptions.json +35 -0
  32. package/vendors/clio-extension/actions/map-project.json +71 -0
  33. package/vendors/clio-extension/actions/new-paper.json +70 -0
  34. package/vendors/clio-extension/actions/pause-writing.json +71 -0
  35. package/vendors/clio-extension/actions/plan-milestone-gaps.json +57 -0
  36. package/vendors/clio-extension/actions/plan-revision.json +58 -0
  37. package/vendors/clio-extension/actions/plan-section.json +100 -0
  38. package/vendors/clio-extension/actions/polish-prose.json +69 -0
  39. package/vendors/clio-extension/actions/progress.json +51 -0
  40. package/vendors/clio-extension/actions/quick.json +70 -0
  41. package/vendors/clio-extension/actions/remove-section.json +63 -0
  42. package/vendors/clio-extension/actions/report-bug.json +47 -0
  43. package/vendors/clio-extension/actions/request-feature.json +47 -0
  44. package/vendors/clio-extension/actions/research-gap.json +102 -0
  45. package/vendors/clio-extension/actions/resume-writing.json +65 -0
  46. package/vendors/clio-extension/actions/review-section.json +83 -0
  47. package/vendors/clio-extension/actions/settings.json +47 -0
  48. package/vendors/clio-extension/actions/submit-milestone.json +77 -0
  49. package/vendors/clio-extension/actions/update.json +42 -0
  50. package/vendors/clio-extension/actions/verify-work.json +63 -0
  51. package/vendors/clio-extension/actions/write-section.json +115 -0
  52. package/vendors/clio-extension/clio-coder-extension.yaml +53 -0
  53. package/vendors/clio-extension/compatibility/action-availability.json +295 -0
  54. package/vendors/clio-extension/project/schemas/checkpoint.schema.json +102 -0
  55. package/vendors/clio-extension/project/schemas/common.schema.json +33 -0
  56. package/vendors/clio-extension/project/schemas/config.schema.json +69 -0
  57. package/vendors/clio-extension/project/schemas/decisions.schema.json +31 -0
  58. package/vendors/clio-extension/project/schemas/evidence.schema.json +48 -0
  59. package/vendors/clio-extension/project/schemas/manifest.schema.json +102 -0
  60. package/vendors/clio-extension/project/schemas/outline.schema.json +67 -0
  61. package/vendors/clio-extension/project/schemas/section.schema.json +95 -0
  62. package/vendors/clio-extension/project/schemas/source.schema.json +73 -0
  63. package/vendors/clio-extension/project/schemas/state.schema.json +58 -0
  64. package/vendors/clio-extension/project/schemas/validation.schema.json +74 -0
  65. package/vendors/clio-extension/runtime/extension.test.ts +248 -0
  66. package/vendors/clio-extension/runtime/extension.ts +1321 -0
  67. package/vendors/clio-extension/runtime/json-schema.cjs +304 -0
  68. package/vendors/clio-extension/runtime/package.json +3 -0
  69. package/vendors/clio-extension/runtime/write-guard.json +21 -0
  70. package/vendors/clio-extension/skins/wtfp.json +20 -0
  71. package/vendors/codex/plugins/wtfp/.codex-plugin/plugin.json +1 -1
  72. package/vendors/codex/plugins/wtfp/.wtfp-generated.json +3 -3
  73. package/vendors/codex/plugins/wtfp/plugin.json +1 -1
  74. package/vendors/copilot/.wtfp-generated.json +2 -2
  75. package/vendors/copilot/marketplace.json +2 -2
  76. package/vendors/copilot/plugins/wtfp/.claude-plugin/plugin.json +1 -1
  77. package/vendors/copilot/plugins/wtfp/.wtfp-generated.json +2 -2
  78. package/vendors/gemini/.wtfp-generated.json +2 -2
  79. package/vendors/gemini/gemini-extension.json +1 -1
  80. package/vendors/plugin/.wtfp-generated.json +30 -30
  81. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/add-todo.md +6 -12
  82. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/analyze-bib.md +7 -19
  83. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/audit-milestone.md +7 -25
  84. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/check-refs.md +7 -15
  85. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/check-todos.md +9 -13
  86. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/checkpoint.md +7 -27
  87. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/create-outline.md +7 -25
  88. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/discuss-section.md +7 -17
  89. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/execute-outline.md +8 -27
  90. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/help.md +2 -2
  91. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/insert-section.md +7 -13
  92. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/map-project.md +6 -14
  93. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/new-paper.md +7 -17
  94. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/pause-writing.md +6 -18
  95. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/plan-milestone-gaps.md +7 -15
  96. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/plan-section.md +7 -27
  97. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/polish-prose.md +8 -15
  98. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/quick.md +8 -15
  99. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/research-gap.md +7 -21
  100. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/resume-writing.md +7 -23
  101. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/review-section.md +7 -19
  102. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/settings.md +7 -9
  103. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/submit-milestone.md +7 -25
  104. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/verify-work.md +7 -15
  105. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/write-section.md +8 -28
  106. package/vendors/plugin/compatibility/action-availability.json +16 -1
  107. package/vendors/plugin/plugin.json +7 -7
  108. /package/vendors/plugin/ai.iowarp.clio/{fleets → playbooks}/wtfp-draft-review.md +0 -0
  109. /package/vendors/plugin/ai.iowarp.clio/{fleets → playbooks}/wtfp-plan-section.md +0 -0
@@ -2,7 +2,7 @@
2
2
  "schema": "wtfp.generated-adapter/v1",
3
3
  "generatorVersion": 5,
4
4
  "target": "portable-plugin",
5
- "sourceHash": "6484d98974b96d256b8ab2ab4a2e2d03d1f4eafcf664443d48ced1f720e6e467",
5
+ "sourceHash": "b9f5585d873d30c0359174a7085216a46fba6e8299cfd95bfd4da42a587ac5e2",
6
6
  "files": [
7
7
  {
8
8
  "path": "actions/add-todo.json",
@@ -193,36 +193,36 @@
193
193
  "sha256": "244c1113f62261628265bb2c2c210e0837865a44077a1362db8e9f77b01dea4b"
194
194
  },
195
195
  {
196
- "path": "ai.iowarp.clio/fleets/wtfp-draft-review.md",
196
+ "path": "ai.iowarp.clio/playbooks/wtfp-draft-review.md",
197
197
  "sha256": "5b1d3f9bb4d39ccaa60837decfdbf58e6fd5fd9fb8267fb01d09784c33467426"
198
198
  },
199
199
  {
200
- "path": "ai.iowarp.clio/fleets/wtfp-plan-section.md",
200
+ "path": "ai.iowarp.clio/playbooks/wtfp-plan-section.md",
201
201
  "sha256": "d4dd9c14e4e07098083141e44f8ed4ce0907ae39ba715d149cf82f5192ae38b9"
202
202
  },
203
203
  {
204
204
  "path": "ai.iowarp.clio/prompts/wtfp/add-todo.md",
205
- "sha256": "688825904ac171934d50fd63fa4aa4046d324b723e773585030fe3329d9dfce8"
205
+ "sha256": "349eb5cb4f713bbb6d66432c343c251ab1ea148d9527423901111be2390f02dc"
206
206
  },
207
207
  {
208
208
  "path": "ai.iowarp.clio/prompts/wtfp/analyze-bib.md",
209
- "sha256": "ff74b06cb0130d2f7bdb8f2bf457714f6be470c288f3f9e8ffb189e801119de7"
209
+ "sha256": "25a72c626036921d77294b469831c85e2ae0fecd803b9973ecf563d0cef47f23"
210
210
  },
211
211
  {
212
212
  "path": "ai.iowarp.clio/prompts/wtfp/audit-milestone.md",
213
- "sha256": "bb6a5f760154d4d4c18953ad54385d5ee82877da4bfd6ae8b2f6b54cc7503750"
213
+ "sha256": "4d82c1589232d20eb5733c7ae4968faa9846b0e3285ba9e3619517ef17622ffd"
214
214
  },
215
215
  {
216
216
  "path": "ai.iowarp.clio/prompts/wtfp/check-refs.md",
217
- "sha256": "2de80828842be7186e92f3d21b3c8748392eccf006a6671e808fd274fac7c668"
217
+ "sha256": "ba98ac168789b38c9aaf1edb81a16ed7ab6a1ed1781e26a2de01f6d895d3ca84"
218
218
  },
219
219
  {
220
220
  "path": "ai.iowarp.clio/prompts/wtfp/check-todos.md",
221
- "sha256": "289d348cbf4908a87fc916e08132e16df647ab69a403b8db90b3d1954e6d9d22"
221
+ "sha256": "c331002c414fb32ca3333e4ea255a2cde10ac03defec4bb39cf42e2b720878d6"
222
222
  },
223
223
  {
224
224
  "path": "ai.iowarp.clio/prompts/wtfp/checkpoint.md",
225
- "sha256": "37a9a120c1f4f83e4f183b881209f4da368d2f761f6c0e27919bff3cdc107f74"
225
+ "sha256": "50b4ca0cd8376d359b09a484e780580473f6de8289867cfba4341431527dc4d9"
226
226
  },
227
227
  {
228
228
  "path": "ai.iowarp.clio/prompts/wtfp/contribute.md",
@@ -230,7 +230,7 @@
230
230
  },
231
231
  {
232
232
  "path": "ai.iowarp.clio/prompts/wtfp/create-outline.md",
233
- "sha256": "084432111ac0026d53d130081c7a7ead6dc89d481be846a2c9b23d38b3443ff7"
233
+ "sha256": "2fa1bb7b28ab71808f0cd4dfd1e07f22e41af88d0af310b5089c463f9257dfe5"
234
234
  },
235
235
  {
236
236
  "path": "ai.iowarp.clio/prompts/wtfp/create-poster.md",
@@ -242,11 +242,11 @@
242
242
  },
243
243
  {
244
244
  "path": "ai.iowarp.clio/prompts/wtfp/discuss-section.md",
245
- "sha256": "792cb3e9cc66436796caad842dd2adca71c77b5433e70c25308dcb241fe11d26"
245
+ "sha256": "c7a5d6810ed5dbd372c9c23f59a77313e4fdd4104ee7bf17557c0c237e79f404"
246
246
  },
247
247
  {
248
248
  "path": "ai.iowarp.clio/prompts/wtfp/execute-outline.md",
249
- "sha256": "37a26a28f127b9c0e3cabe57070b2599e78ab4ed55029d2cc4313a3b9c6e1f88"
249
+ "sha256": "3aecaf6747e9156964e44bd56a6f1ccf200b815eaac8e0d43b162dae41738afa"
250
250
  },
251
251
  {
252
252
  "path": "ai.iowarp.clio/prompts/wtfp/export-latex.md",
@@ -254,11 +254,11 @@
254
254
  },
255
255
  {
256
256
  "path": "ai.iowarp.clio/prompts/wtfp/help.md",
257
- "sha256": "54b10ac95db9428017fc9511c753dcc9820c701fbeb8e2b1557e0559692d9727"
257
+ "sha256": "e454bfc4d2b7d0018ce8c539a7abccd80312b8f96b214f3db32d5b91c6eb0d11"
258
258
  },
259
259
  {
260
260
  "path": "ai.iowarp.clio/prompts/wtfp/insert-section.md",
261
- "sha256": "742f3859422dfbd8b12b9bdac81da4ecb67b579305e81c359d01cef3606729e8"
261
+ "sha256": "ef7ef5011c671608dbf798ba3cf11d5c2c4534a46a4b33aaf1074ef4fc86272f"
262
262
  },
263
263
  {
264
264
  "path": "ai.iowarp.clio/prompts/wtfp/list-assumptions.md",
@@ -266,19 +266,19 @@
266
266
  },
267
267
  {
268
268
  "path": "ai.iowarp.clio/prompts/wtfp/map-project.md",
269
- "sha256": "15fef66c4926732197f1f9127624143d5ceb7a4c4cf06ee26c6fd8e4b82b274e"
269
+ "sha256": "54aab8b851f2acb4f2609fd7b97128395d37230231facbf6266f0996f077dc93"
270
270
  },
271
271
  {
272
272
  "path": "ai.iowarp.clio/prompts/wtfp/new-paper.md",
273
- "sha256": "84aa310823146fe231ed4315ce241492b09dd34c3eafedbae662306d6936791e"
273
+ "sha256": "5eb22e4dc53d70f9590c1012907ad573d710e60de77a1ad739318e343c195669"
274
274
  },
275
275
  {
276
276
  "path": "ai.iowarp.clio/prompts/wtfp/pause-writing.md",
277
- "sha256": "3848e1d8336d73500ed6a6d729cdd4284ad6ad0495f8f33ca35fbd405acd1359"
277
+ "sha256": "d2cde8adb0d478245676086cd41724076842004738f76da607330faff1077c5f"
278
278
  },
279
279
  {
280
280
  "path": "ai.iowarp.clio/prompts/wtfp/plan-milestone-gaps.md",
281
- "sha256": "6df911ddd2702a72f6159647760bceb37b5a4acd7493cc75dfb84d62d460e4c6"
281
+ "sha256": "8ade09b99a64a09813f14e970a69b62a18e20e7d1a53f0a28939ac66a20e67d0"
282
282
  },
283
283
  {
284
284
  "path": "ai.iowarp.clio/prompts/wtfp/plan-revision.md",
@@ -286,11 +286,11 @@
286
286
  },
287
287
  {
288
288
  "path": "ai.iowarp.clio/prompts/wtfp/plan-section.md",
289
- "sha256": "f68082e5339218c2eb98c6fdd79ee019963f6cbc6d408d7ace721098370a1974"
289
+ "sha256": "3e9a5265f2f022b94349666f60d02f509cd799b3ea8e683470aaf0af31abbf3f"
290
290
  },
291
291
  {
292
292
  "path": "ai.iowarp.clio/prompts/wtfp/polish-prose.md",
293
- "sha256": "99fd62ae7b87fcede59a96baa8c7953229d3d3c6db9808af712741ba29992da3"
293
+ "sha256": "fd8f6038531de73aae5e83ae4b569cdbfce0f49ca05f758387a6b03d09b3c774"
294
294
  },
295
295
  {
296
296
  "path": "ai.iowarp.clio/prompts/wtfp/progress.md",
@@ -298,7 +298,7 @@
298
298
  },
299
299
  {
300
300
  "path": "ai.iowarp.clio/prompts/wtfp/quick.md",
301
- "sha256": "b25fd6d383d7e8dc7cb66be8d65ec6dd2b4bb8293fc87b9172a7d87982cdf053"
301
+ "sha256": "fb5103617e061355a3adc07f6a9a0f22afe84f5d0fa4e4fdbaf829b7cef4a875"
302
302
  },
303
303
  {
304
304
  "path": "ai.iowarp.clio/prompts/wtfp/remove-section.md",
@@ -314,23 +314,23 @@
314
314
  },
315
315
  {
316
316
  "path": "ai.iowarp.clio/prompts/wtfp/research-gap.md",
317
- "sha256": "a6764335495d0a868a99768a05aaf7338c1078a3c3e030486cd40646068cfddd"
317
+ "sha256": "ec807f47ea82f1f9791ead678eea7496f045be65bf4ec0efc466fed14b59ced3"
318
318
  },
319
319
  {
320
320
  "path": "ai.iowarp.clio/prompts/wtfp/resume-writing.md",
321
- "sha256": "836b59b3a45bddfae59fd2136b8801bc1d2a2b8369e9726d31846dd7703b45f7"
321
+ "sha256": "810580ce5f58d6cda5de809501da92b9e8bb78c3921bc34992142ada6ab8c592"
322
322
  },
323
323
  {
324
324
  "path": "ai.iowarp.clio/prompts/wtfp/review-section.md",
325
- "sha256": "92937c7d5aa13ad2176bf5ac8238f88244a78e987e11cda9c14e0d800752dcda"
325
+ "sha256": "0fc8976f0c48784e50f7e94c4f4e9dc94e8b31930d245996c38a893d7951b189"
326
326
  },
327
327
  {
328
328
  "path": "ai.iowarp.clio/prompts/wtfp/settings.md",
329
- "sha256": "60f5308b10cc6de61e7d6f6b0c2a82b2effd9201abeaee1b351f2b0f6284a516"
329
+ "sha256": "ae5c6d7c0042bbd6330ae578d4ad9ec113001e8e86044b2ce03f546ea5f37b50"
330
330
  },
331
331
  {
332
332
  "path": "ai.iowarp.clio/prompts/wtfp/submit-milestone.md",
333
- "sha256": "8146dcb0c64a742977d27ab89d7998409116d420864dba627f6c50e7ae88deb4"
333
+ "sha256": "6128c27b9d24ac460e46a981d12893975826700f4b6b59a7c24e4164e1f26835"
334
334
  },
335
335
  {
336
336
  "path": "ai.iowarp.clio/prompts/wtfp/update.md",
@@ -338,11 +338,11 @@
338
338
  },
339
339
  {
340
340
  "path": "ai.iowarp.clio/prompts/wtfp/verify-work.md",
341
- "sha256": "a868da2cf99de227ab5e56f145174669f937c3df86dd5a921331b9c54ad5d1c4"
341
+ "sha256": "918f4ca32835d39ad5573eee751ea73d18eeded1f0afee54c9f7b964bed6706e"
342
342
  },
343
343
  {
344
344
  "path": "ai.iowarp.clio/prompts/wtfp/write-section.md",
345
- "sha256": "cc2677583db730db189468d48d02341ecf12f06ffd8e1d61122476f77c9b5520"
345
+ "sha256": "02db3b9c4fa9d6658ce8f7dfb9759576004e14120b3d74be0ec97ac9ba14ed23"
346
346
  },
347
347
  {
348
348
  "path": "aliases.lock.json",
@@ -354,7 +354,7 @@
354
354
  },
355
355
  {
356
356
  "path": "compatibility/action-availability.json",
357
- "sha256": "b410e8921f8dd0657b71025c5aaf6b09999ec80b401cee9b47acdbc3d8844bce"
357
+ "sha256": "7ba4766f06e913ac1967899836ce1ae322b11c1477837c88803f82aa4c95a085"
358
358
  },
359
359
  {
360
360
  "path": "effects.json",
@@ -362,7 +362,7 @@
362
362
  },
363
363
  {
364
364
  "path": "plugin.json",
365
- "sha256": "b5427e46af32758733b35fafc5757a4ec5dbdd6d03d48a0489187907907b9bf8"
365
+ "sha256": "4ba24c372ede7e4708e54fb9baf803f4d79fe0ea2b227596fbff7601ac947a67"
366
366
  },
367
367
  {
368
368
  "path": "project/README.md",
@@ -5,18 +5,16 @@ argument-hint: "[arguments]"
5
5
 
6
6
  # Add a todo
7
7
 
8
- @${pluginRoot}/project/README.md
9
8
  @${pluginRoot}/skills/wtfp-manage-project/SKILL.md
10
- @${pluginRoot}/skills/wtfp-manage-project/references/actions.md
11
9
 
12
10
  ## Record contract
13
11
 
14
12
  Read: `project://manifest`, `project://state`, `project://checkpoints/{checkpoint}`.
15
13
  Produce: `project://checkpoints/{checkpoint}` (create), `project://state` (update).
16
14
 
17
- Resolve every logical URI through the host adapter. Portable v1 JSON records are the source of truth: schema-validate before a write, preserve stable IDs, update revision and timestamps where required, and replace records atomically. Never pass a literal logical URI to a shell command or infer record state from a legacy Markdown control file.
15
+ Use `extension_wtfp__record` for each declared JSON record write: pass its logical `uri`, complete `record`, and the revision read as `expect_revision` for revisioned updates. It validates, bumps revisions/timestamps, replaces atomically and reads back; preserve stable IDs and author decisions.
18
16
 
19
- Manuscript prose and supporting context, research, plan, review, summary, handoff, and deliverable artifacts retain their authored format (normally Markdown). Link them from the relevant v1 record; do not convert manuscript prose into project-state JSON.
17
+ Write prose and linked artifacts with native file tools; keep their authored formats. The record tool handles JSON records only, never manuscript text, deletion or archives.
20
18
 
21
19
  ## Procedure
22
20
 
@@ -30,16 +28,12 @@ Do not initialize a repository or run branch, stage, commit, merge, push, or pub
30
28
 
31
29
  Report the logical resources read, created, updated, archived, or deleted; the gates crossed; validation results; unresolved checkpoints; and the safest next action. Never claim a mutation that was not verified.
32
30
 
33
- ## Bound action contract and schemas
31
+ Discover the named tools with `gateway(op="describe", capability="extension_wtfp__record")` (and the corresponding `measure_section` or `gate` name), then use `gateway(op="call", capability="<exact name>", args={...})`. A present tool's error or refusal stops the action; never bypass it with a manual write or shell script.
32
+ If desk tools are absent, follow `${pluginRoot}/workflows/add-todo.md` and `${pluginRoot}/project/README.md` with native tools and `ask_user` gates.
33
+
34
+ ## Bound action contract
34
35
 
35
36
  @${pluginRoot}/actions/add-todo.json
36
- @${pluginRoot}/project/schemas/common.schema.json
37
- @${pluginRoot}/project/schemas/checkpoint.schema.json
38
- @${pluginRoot}/project/templates/checkpoint.json
39
- @${pluginRoot}/project/schemas/manifest.schema.json
40
- @${pluginRoot}/project/templates/manifest.json
41
- @${pluginRoot}/project/schemas/state.schema.json
42
- @${pluginRoot}/project/templates/state.json
43
37
 
44
38
  ## Invocation input
45
39
 
@@ -5,18 +5,16 @@ argument-hint: "[arguments]"
5
5
 
6
6
  # Analyze the bibliography
7
7
 
8
- @${pluginRoot}/project/README.md
9
8
  @${pluginRoot}/skills/wtfp-research-literature/SKILL.md
10
- @${pluginRoot}/skills/wtfp-research-literature/references/actions.md
11
9
 
12
10
  ## Record contract
13
11
 
14
12
  Read: `project://manifest`, `project://structure/outline`, `project://sections/{section}`, `project://sources/{source}`, `project://evidence/{evidence}`, `project://materials/{artifact}`, `project://paper/{artifact}`.
15
13
  Produce: `project://sources/{source}` (create), `project://sources/{source}` (update), `project://evidence/{evidence}` (create), `project://evidence/{evidence}` (update), `project://validations/{validation}` (create).
16
14
 
17
- Resolve every logical URI through the host adapter. Portable v1 JSON records are the source of truth: schema-validate before a write, preserve stable IDs, update revision and timestamps where required, and replace records atomically. Never pass a literal logical URI to a shell command or infer record state from a legacy Markdown control file.
15
+ Use `extension_wtfp__record` for each declared JSON record write: pass its logical `uri`, complete `record`, and the revision read as `expect_revision` for revisioned updates. It validates, bumps revisions/timestamps, replaces atomically and reads back; preserve stable IDs and author decisions.
18
16
 
19
- Manuscript prose and supporting context, research, plan, review, summary, handoff, and deliverable artifacts retain their authored format (normally Markdown). Link them from the relevant v1 record; do not convert manuscript prose into project-state JSON.
17
+ Write prose and linked artifacts with native file tools; keep their authored formats. The record tool handles JSON records only, never manuscript text, deletion or archives.
20
18
 
21
19
  ## Procedure
22
20
 
@@ -41,22 +39,12 @@ Do not initialize a repository or run branch, stage, commit, merge, push, or pub
41
39
 
42
40
  Report the logical resources read, created, updated, archived, or deleted; the gates crossed; validation results; unresolved checkpoints; and the safest next action. Never claim a mutation that was not verified.
43
41
 
44
- ## Bound action contract and schemas
42
+ Discover the named tools with `gateway(op="describe", capability="extension_wtfp__record")` (and the corresponding `measure_section` or `gate` name), then use `gateway(op="call", capability="<exact name>", args={...})`. A present tool's error or refusal stops the action; never bypass it with a manual write or shell script.
43
+ If desk tools are absent, follow `${pluginRoot}/workflows/analyze-bib.md` and `${pluginRoot}/project/README.md` with native tools and `ask_user` gates.
44
+
45
+ ## Bound action contract
45
46
 
46
47
  @${pluginRoot}/actions/analyze-bib.json
47
- @${pluginRoot}/project/schemas/common.schema.json
48
- @${pluginRoot}/project/schemas/evidence.schema.json
49
- @${pluginRoot}/project/templates/evidence.json
50
- @${pluginRoot}/project/schemas/manifest.schema.json
51
- @${pluginRoot}/project/templates/manifest.json
52
- @${pluginRoot}/project/schemas/outline.schema.json
53
- @${pluginRoot}/project/templates/outline.json
54
- @${pluginRoot}/project/schemas/section.schema.json
55
- @${pluginRoot}/project/templates/section.json
56
- @${pluginRoot}/project/schemas/source.schema.json
57
- @${pluginRoot}/project/templates/source.json
58
- @${pluginRoot}/project/schemas/validation.schema.json
59
- @${pluginRoot}/project/templates/validation.json
60
48
 
61
49
  ## Invocation input
62
50
 
@@ -68,7 +56,7 @@ $ARGUMENTS
68
56
 
69
57
  ## Clio user-gate binding
70
58
 
71
- Call `ask_user` whenever this workflow reaches a declared `user.gate`; only the structured value returned by that tool satisfies the gate. Invocation arguments, assistant prose, silence, or a report artifact do not count as a selection. Apply no gated mutation before `ask_user` returns. After any permitted mutation, perform the workflow-required readback before reporting success.
59
+ For a pending checkpoint in the declared gate's exact scope, call `extension_wtfp__gate` with its ID. Create a missing pending checkpoint through `extension_wtfp__record` only when this action declares checkpoint creation; otherwise use `ask_user` for the unpersisted author decision and do not invent an undeclared output. Only the structured author answer satisfies the gate; cancelled, retained or expired checkpoints authorize nothing. Never write `resolution.resolved_by: author` yourself or infer approval from invocation text, prose or silence. Read back a persisted resolution before applying its gated mutation.
72
60
 
73
61
  ## Clio role-result binding
74
62
 
@@ -5,18 +5,16 @@ argument-hint: "[arguments]"
5
5
 
6
6
  # Audit a milestone
7
7
 
8
- @${pluginRoot}/project/README.md
9
8
  @${pluginRoot}/skills/wtfp-review-manuscript/SKILL.md
10
- @${pluginRoot}/skills/wtfp-review-manuscript/references/actions.md
11
9
 
12
10
  ## Record contract
13
11
 
14
12
  Read: `project://manifest`, `project://config`, `project://state`, `project://decisions`, `project://structure/outline`, `project://sections/{section}`, `project://sources/{source}`, `project://evidence/{evidence}`, `project://validations/{validation}`, `project://paper/{artifact}`.
15
13
  Produce: `project://validations/{validation}` (create).
16
14
 
17
- Resolve every logical URI through the host adapter. Portable v1 JSON records are the source of truth: schema-validate before a write, preserve stable IDs, update revision and timestamps where required, and replace records atomically. Never pass a literal logical URI to a shell command or infer record state from a legacy Markdown control file.
15
+ Use `extension_wtfp__record` for each declared JSON record write: pass its logical `uri`, complete `record`, and the revision read as `expect_revision` for revisioned updates. It validates, bumps revisions/timestamps, replaces atomically and reads back; preserve stable IDs and author decisions.
18
16
 
19
- Manuscript prose and supporting context, research, plan, review, summary, handoff, and deliverable artifacts retain their authored format (normally Markdown). Link them from the relevant v1 record; do not convert manuscript prose into project-state JSON.
17
+ Write prose and linked artifacts with native file tools; keep their authored formats. The record tool handles JSON records only, never manuscript text, deletion or archives.
20
18
 
21
19
  ## Procedure
22
20
 
@@ -40,28 +38,12 @@ Do not initialize a repository or run branch, stage, commit, merge, push, or pub
40
38
 
41
39
  Report the logical resources read, created, updated, archived, or deleted; the gates crossed; validation results; unresolved checkpoints; and the safest next action. Never claim a mutation that was not verified.
42
40
 
43
- ## Bound action contract and schemas
41
+ Discover the named tools with `gateway(op="describe", capability="extension_wtfp__record")` (and the corresponding `measure_section` or `gate` name), then use `gateway(op="call", capability="<exact name>", args={...})`. A present tool's error or refusal stops the action; never bypass it with a manual write or shell script.
42
+ If desk tools are absent, follow `${pluginRoot}/workflows/audit-milestone.md` and `${pluginRoot}/project/README.md` with native tools and `ask_user` gates.
43
+
44
+ ## Bound action contract
44
45
 
45
46
  @${pluginRoot}/actions/audit-milestone.json
46
- @${pluginRoot}/project/schemas/common.schema.json
47
- @${pluginRoot}/project/schemas/config.schema.json
48
- @${pluginRoot}/project/templates/config.json
49
- @${pluginRoot}/project/schemas/decisions.schema.json
50
- @${pluginRoot}/project/templates/decisions.json
51
- @${pluginRoot}/project/schemas/evidence.schema.json
52
- @${pluginRoot}/project/templates/evidence.json
53
- @${pluginRoot}/project/schemas/manifest.schema.json
54
- @${pluginRoot}/project/templates/manifest.json
55
- @${pluginRoot}/project/schemas/outline.schema.json
56
- @${pluginRoot}/project/templates/outline.json
57
- @${pluginRoot}/project/schemas/section.schema.json
58
- @${pluginRoot}/project/templates/section.json
59
- @${pluginRoot}/project/schemas/source.schema.json
60
- @${pluginRoot}/project/templates/source.json
61
- @${pluginRoot}/project/schemas/state.schema.json
62
- @${pluginRoot}/project/templates/state.json
63
- @${pluginRoot}/project/schemas/validation.schema.json
64
- @${pluginRoot}/project/templates/validation.json
65
47
 
66
48
  ## Invocation input
67
49
 
@@ -73,6 +55,6 @@ $ARGUMENTS
73
55
 
74
56
  ## Clio user-gate binding
75
57
 
76
- Call `ask_user` whenever this workflow reaches a declared `user.gate`; only the structured value returned by that tool satisfies the gate. Invocation arguments, assistant prose, silence, or a report artifact do not count as a selection. Apply no gated mutation before `ask_user` returns. After any permitted mutation, perform the workflow-required readback before reporting success.
58
+ For a pending checkpoint in the declared gate's exact scope, call `extension_wtfp__gate` with its ID. Create a missing pending checkpoint through `extension_wtfp__record` only when this action declares checkpoint creation; otherwise use `ask_user` for the unpersisted author decision and do not invent an undeclared output. Only the structured author answer satisfies the gate; cancelled, retained or expired checkpoints authorize nothing. Never write `resolution.resolved_by: author` yourself or infer approval from invocation text, prose or silence. Read back a persisted resolution before applying its gated mutation.
77
59
 
78
60
  <!-- Generated by WTF-P adapter compiler v5 from protocol/actions/audit-milestone; do not edit. -->
@@ -5,18 +5,16 @@ argument-hint: "[arguments]"
5
5
 
6
6
  # Check references
7
7
 
8
- @${pluginRoot}/project/README.md
9
8
  @${pluginRoot}/skills/wtfp-research-literature/SKILL.md
10
- @${pluginRoot}/skills/wtfp-research-literature/references/actions.md
11
9
 
12
10
  ## Record contract
13
11
 
14
12
  Read: `project://config`, `project://sources/{source}`, `project://evidence/{evidence}`, `project://materials/{artifact}`, `project://paper/{artifact}`.
15
13
  Produce: `project://deliverables/bibliography/{artifact}` (create), `project://validations/{validation}` (create).
16
14
 
17
- Resolve every logical URI through the host adapter. Portable v1 JSON records are the source of truth: schema-validate before a write, preserve stable IDs, update revision and timestamps where required, and replace records atomically. Never pass a literal logical URI to a shell command or infer record state from a legacy Markdown control file.
15
+ Use `extension_wtfp__record` for each declared JSON record write: pass its logical `uri`, complete `record`, and the revision read as `expect_revision` for revisioned updates. It validates, bumps revisions/timestamps, replaces atomically and reads back; preserve stable IDs and author decisions.
18
16
 
19
- Manuscript prose and supporting context, research, plan, review, summary, handoff, and deliverable artifacts retain their authored format (normally Markdown). Link them from the relevant v1 record; do not convert manuscript prose into project-state JSON.
17
+ Write prose and linked artifacts with native file tools; keep their authored formats. The record tool handles JSON records only, never manuscript text, deletion or archives.
20
18
 
21
19
  ## Procedure
22
20
 
@@ -40,18 +38,12 @@ Do not initialize a repository or run branch, stage, commit, merge, push, or pub
40
38
 
41
39
  Report the logical resources read, created, updated, archived, or deleted; the gates crossed; validation results; unresolved checkpoints; and the safest next action. Never claim a mutation that was not verified.
42
40
 
43
- ## Bound action contract and schemas
41
+ Discover the named tools with `gateway(op="describe", capability="extension_wtfp__record")` (and the corresponding `measure_section` or `gate` name), then use `gateway(op="call", capability="<exact name>", args={...})`. A present tool's error or refusal stops the action; never bypass it with a manual write or shell script.
42
+ If desk tools are absent, follow `${pluginRoot}/workflows/check-refs.md` and `${pluginRoot}/project/README.md` with native tools and `ask_user` gates.
43
+
44
+ ## Bound action contract
44
45
 
45
46
  @${pluginRoot}/actions/check-refs.json
46
- @${pluginRoot}/project/schemas/common.schema.json
47
- @${pluginRoot}/project/schemas/config.schema.json
48
- @${pluginRoot}/project/templates/config.json
49
- @${pluginRoot}/project/schemas/evidence.schema.json
50
- @${pluginRoot}/project/templates/evidence.json
51
- @${pluginRoot}/project/schemas/source.schema.json
52
- @${pluginRoot}/project/templates/source.json
53
- @${pluginRoot}/project/schemas/validation.schema.json
54
- @${pluginRoot}/project/templates/validation.json
55
47
 
56
48
  ## Invocation input
57
49
 
@@ -63,7 +55,7 @@ $ARGUMENTS
63
55
 
64
56
  ## Clio user-gate binding
65
57
 
66
- Call `ask_user` whenever this workflow reaches a declared `user.gate`; only the structured value returned by that tool satisfies the gate. Invocation arguments, assistant prose, silence, or a report artifact do not count as a selection. Apply no gated mutation before `ask_user` returns. After any permitted mutation, perform the workflow-required readback before reporting success.
58
+ For a pending checkpoint in the declared gate's exact scope, call `extension_wtfp__gate` with its ID. Create a missing pending checkpoint through `extension_wtfp__record` only when this action declares checkpoint creation; otherwise use `ask_user` for the unpersisted author decision and do not invent an undeclared output. Only the structured author answer satisfies the gate; cancelled, retained or expired checkpoints authorize nothing. Never write `resolution.resolved_by: author` yourself or infer approval from invocation text, prose or silence. Read back a persisted resolution before applying its gated mutation.
67
59
 
68
60
  ## Clio role-result binding
69
61
 
@@ -5,24 +5,22 @@ argument-hint: "[arguments]"
5
5
 
6
6
  # Review todos
7
7
 
8
- @${pluginRoot}/project/README.md
9
8
  @${pluginRoot}/skills/wtfp-manage-project/SKILL.md
10
- @${pluginRoot}/skills/wtfp-manage-project/references/actions.md
11
9
 
12
10
  ## Record contract
13
11
 
14
12
  Read: `project://state`, `project://checkpoints/{checkpoint}`.
15
13
  Produce: `project://checkpoints/{checkpoint}` (update), `project://state` (update).
16
14
 
17
- Resolve every logical URI through the host adapter. Portable v1 JSON records are the source of truth: schema-validate before a write, preserve stable IDs, update revision and timestamps where required, and replace records atomically. Never pass a literal logical URI to a shell command or infer record state from a legacy Markdown control file.
15
+ Use `extension_wtfp__record` for each declared JSON record write: pass its logical `uri`, complete `record`, and the revision read as `expect_revision` for revisioned updates. It validates, bumps revisions/timestamps, replaces atomically and reads back; preserve stable IDs and author decisions.
18
16
 
19
- Manuscript prose and supporting context, research, plan, review, summary, handoff, and deliverable artifacts retain their authored format (normally Markdown). Link them from the relevant v1 record; do not convert manuscript prose into project-state JSON.
17
+ Write prose and linked artifacts with native file tools; keep their authored formats. The record tool handles JSON records only, never manuscript text, deletion or archives.
20
18
 
21
19
  ## Procedure
22
20
 
23
21
  1. List pending human-action checkpoints in deterministic order with their requests and scope URIs.
24
- 2. Ask the user to resolve, waive, retain, or expire each selected checkpoint.
25
- 3. Apply only the approved status transitions and reconcile state.active_checkpoint_uris.
22
+ 2. Call `extension_wtfp__gate` for each selected pending checkpoint; the parked interview records the author's answer.
23
+ 3. Read back the resulting checkpoint and state; retained or cancelled gates remain pending.
26
24
 
27
25
  ## Safety and completion
28
26
 
@@ -30,14 +28,12 @@ Do not initialize a repository or run branch, stage, commit, merge, push, or pub
30
28
 
31
29
  Report the logical resources read, created, updated, archived, or deleted; the gates crossed; validation results; unresolved checkpoints; and the safest next action. Never claim a mutation that was not verified.
32
30
 
33
- ## Bound action contract and schemas
31
+ Discover the named tools with `gateway(op="describe", capability="extension_wtfp__record")` (and the corresponding `measure_section` or `gate` name), then use `gateway(op="call", capability="<exact name>", args={...})`. A present tool's error or refusal stops the action; never bypass it with a manual write or shell script.
32
+ If desk tools are absent, follow `${pluginRoot}/workflows/check-todos.md` and `${pluginRoot}/project/README.md` with native tools and `ask_user` gates.
33
+
34
+ ## Bound action contract
34
35
 
35
36
  @${pluginRoot}/actions/check-todos.json
36
- @${pluginRoot}/project/schemas/common.schema.json
37
- @${pluginRoot}/project/schemas/checkpoint.schema.json
38
- @${pluginRoot}/project/templates/checkpoint.json
39
- @${pluginRoot}/project/schemas/state.schema.json
40
- @${pluginRoot}/project/templates/state.json
41
37
 
42
38
  ## Invocation input
43
39
 
@@ -49,6 +45,6 @@ $ARGUMENTS
49
45
 
50
46
  ## Clio user-gate binding
51
47
 
52
- Call `ask_user` whenever this workflow reaches a declared `user.gate`; only the structured value returned by that tool satisfies the gate. Invocation arguments, assistant prose, silence, or a report artifact do not count as a selection. Apply no gated mutation before `ask_user` returns. After any permitted mutation, perform the workflow-required readback before reporting success.
48
+ For a pending checkpoint in the declared gate's exact scope, call `extension_wtfp__gate` with its ID. Create a missing pending checkpoint through `extension_wtfp__record` only when this action declares checkpoint creation; otherwise use `ask_user` for the unpersisted author decision and do not invent an undeclared output. Only the structured author answer satisfies the gate; cancelled, retained or expired checkpoints authorize nothing. Never write `resolution.resolved_by: author` yourself or infer approval from invocation text, prose or silence. Read back a persisted resolution before applying its gated mutation.
53
49
 
54
50
  <!-- Generated by WTF-P adapter compiler v5 from protocol/actions/check-todos; do not edit. -->
@@ -5,18 +5,16 @@ argument-hint: "[arguments]"
5
5
 
6
6
  # Manage checkpoints
7
7
 
8
- @${pluginRoot}/project/README.md
9
8
  @${pluginRoot}/skills/wtfp-manage-project/SKILL.md
10
- @${pluginRoot}/skills/wtfp-manage-project/references/actions.md
11
9
 
12
10
  ## Record contract
13
11
 
14
12
  Read: the declared portable records and authored artifacts selected for the snapshot.
15
13
  Produce: `project://checkpoints/{checkpoint}` (create), `project://archives/checkpoints/{checkpoint}` (create), `project://archives/recovery/{artifact}` (create on restore), `project://manifest` (update), `project://state` (update).
16
14
 
17
- Resolve every logical URI through the host adapter. Portable v1 JSON records are the source of truth: schema-validate before a write, preserve stable IDs, update revision and timestamps where required, and replace records atomically. Never pass a literal logical URI to a shell command or infer record state from a legacy Markdown control file.
15
+ Use `extension_wtfp__record` for each declared JSON record write: pass its logical `uri`, complete `record`, and the revision read as `expect_revision` for revisioned updates. It validates, bumps revisions/timestamps, replaces atomically and reads back; preserve stable IDs and author decisions.
18
16
 
19
- Manuscript prose and supporting context, research, plan, review, summary, handoff, and deliverable artifacts retain their authored format (normally Markdown). Link them from the relevant v1 record; do not convert manuscript prose into project-state JSON.
17
+ Write prose and linked artifacts with native file tools; keep their authored formats. The record tool handles JSON records only, never manuscript text, deletion or archives.
20
18
 
21
19
  ## Procedure
22
20
 
@@ -30,30 +28,12 @@ Do not initialize a repository or run branch, stage, commit, merge, push, or pub
30
28
 
31
29
  Report the logical resources read, created, updated, archived, or deleted; the gates crossed; validation results; unresolved checkpoints; and the safest next action. Never claim a mutation that was not verified.
32
30
 
33
- ## Bound action contract and schemas
31
+ Discover the named tools with `gateway(op="describe", capability="extension_wtfp__record")` (and the corresponding `measure_section` or `gate` name), then use `gateway(op="call", capability="<exact name>", args={...})`. A present tool's error or refusal stops the action; never bypass it with a manual write or shell script.
32
+ If desk tools are absent, follow `${pluginRoot}/workflows/checkpoint.md` and `${pluginRoot}/project/README.md` with native tools and `ask_user` gates.
33
+
34
+ ## Bound action contract
34
35
 
35
36
  @${pluginRoot}/actions/checkpoint.json
36
- @${pluginRoot}/project/schemas/common.schema.json
37
- @${pluginRoot}/project/schemas/checkpoint.schema.json
38
- @${pluginRoot}/project/templates/checkpoint.json
39
- @${pluginRoot}/project/schemas/config.schema.json
40
- @${pluginRoot}/project/templates/config.json
41
- @${pluginRoot}/project/schemas/decisions.schema.json
42
- @${pluginRoot}/project/templates/decisions.json
43
- @${pluginRoot}/project/schemas/evidence.schema.json
44
- @${pluginRoot}/project/templates/evidence.json
45
- @${pluginRoot}/project/schemas/manifest.schema.json
46
- @${pluginRoot}/project/templates/manifest.json
47
- @${pluginRoot}/project/schemas/outline.schema.json
48
- @${pluginRoot}/project/templates/outline.json
49
- @${pluginRoot}/project/schemas/section.schema.json
50
- @${pluginRoot}/project/templates/section.json
51
- @${pluginRoot}/project/schemas/source.schema.json
52
- @${pluginRoot}/project/templates/source.json
53
- @${pluginRoot}/project/schemas/state.schema.json
54
- @${pluginRoot}/project/templates/state.json
55
- @${pluginRoot}/project/schemas/validation.schema.json
56
- @${pluginRoot}/project/templates/validation.json
57
37
 
58
38
  ## Invocation input
59
39
 
@@ -65,6 +45,6 @@ $ARGUMENTS
65
45
 
66
46
  ## Clio user-gate binding
67
47
 
68
- Call `ask_user` whenever this workflow reaches a declared `user.gate`; only the structured value returned by that tool satisfies the gate. Invocation arguments, assistant prose, silence, or a report artifact do not count as a selection. Apply no gated mutation before `ask_user` returns. After any permitted mutation, perform the workflow-required readback before reporting success.
48
+ For a pending checkpoint in the declared gate's exact scope, call `extension_wtfp__gate` with its ID. Create a missing pending checkpoint through `extension_wtfp__record` only when this action declares checkpoint creation; otherwise use `ask_user` for the unpersisted author decision and do not invent an undeclared output. Only the structured author answer satisfies the gate; cancelled, retained or expired checkpoints authorize nothing. Never write `resolution.resolved_by: author` yourself or infer approval from invocation text, prose or silence. Read back a persisted resolution before applying its gated mutation.
69
49
 
70
50
  <!-- Generated by WTF-P adapter compiler v5 from protocol/actions/checkpoint; do not edit. -->