wtf-p 0.7.1 → 0.7.2

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 (71) hide show
  1. package/README.md +10 -9
  2. package/package.json +1 -1
  3. package/protocol/actions/research-gap.json +2 -1
  4. package/protocol/roles/research-synthesizer.md +1 -0
  5. package/protocol/skills/wtfp-research-literature/references/actions.md +1 -1
  6. package/protocol/workflows/research-gap.md +1 -1
  7. package/vendors/antigravity/.wtfp-generated.json +7 -7
  8. package/vendors/antigravity/actions/research-gap.json +2 -1
  9. package/vendors/antigravity/agents/wtfp-research-synthesizer.md +1 -0
  10. package/vendors/antigravity/plugin.json +1 -1
  11. package/vendors/antigravity/roles/research-synthesizer.md +1 -0
  12. package/vendors/antigravity/skills/wtfp-research-literature/references/actions.md +1 -1
  13. package/vendors/antigravity/workflows/research-gap.md +1 -1
  14. package/vendors/claude/.claude-plugin/marketplace.json +2 -2
  15. package/vendors/claude/.claude-plugin/plugin.json +1 -1
  16. package/vendors/claude/.wtfp-generated.json +13 -13
  17. package/vendors/claude/actions/research-gap.json +2 -1
  18. package/vendors/claude/agents/wtfp-research-synthesizer.md +1 -0
  19. package/vendors/claude/ai.iowarp.clio/agents/wtfp-research-synthesizer.md +1 -0
  20. package/vendors/claude/ai.iowarp.clio/prompts/wtfp/help.md +1 -1
  21. package/vendors/claude/ai.iowarp.clio/prompts/wtfp/research-gap.md +1 -1
  22. package/vendors/claude/commands/research-gap.md +1 -1
  23. package/vendors/claude/plugin.json +1 -1
  24. package/vendors/claude/roles/research-synthesizer.md +1 -0
  25. package/vendors/claude/skills/wtfp-research-literature/references/actions.md +1 -1
  26. package/vendors/claude/workflows/research-gap.md +1 -1
  27. package/vendors/codex/plugins/wtfp/.codex-plugin/plugin.json +1 -1
  28. package/vendors/codex/plugins/wtfp/.wtfp-generated.json +8 -8
  29. package/vendors/codex/plugins/wtfp/actions/research-gap.json +2 -1
  30. package/vendors/codex/plugins/wtfp/agents/wtfp-research-synthesizer.toml +1 -0
  31. package/vendors/codex/plugins/wtfp/plugin.json +1 -1
  32. package/vendors/codex/plugins/wtfp/roles/research-synthesizer.md +1 -0
  33. package/vendors/codex/plugins/wtfp/skills/wtfp-research-literature/references/actions.md +1 -1
  34. package/vendors/codex/plugins/wtfp/workflows/research-gap.md +1 -1
  35. package/vendors/copilot/.wtfp-generated.json +8 -8
  36. package/vendors/copilot/marketplace.json +2 -2
  37. package/vendors/copilot/plugins/wtfp/.claude-plugin/plugin.json +1 -1
  38. package/vendors/copilot/plugins/wtfp/.wtfp-generated.json +7 -7
  39. package/vendors/copilot/plugins/wtfp/actions/research-gap.json +2 -1
  40. package/vendors/copilot/plugins/wtfp/agents/wtfp-research-synthesizer.md +1 -0
  41. package/vendors/copilot/plugins/wtfp/roles/research-synthesizer.md +1 -0
  42. package/vendors/copilot/plugins/wtfp/skills/wtfp-research-literature/references/actions.md +1 -1
  43. package/vendors/copilot/plugins/wtfp/workflows/research-gap.md +1 -1
  44. package/vendors/copilot/project/.github/agents/wtfp-research-synthesizer.agent.md +1 -0
  45. package/vendors/copilot/project/.github/skills/wtfp-research-literature/references/actions.md +1 -1
  46. package/vendors/copilot/project/.github/wtfp/actions/research-gap.json +2 -1
  47. package/vendors/copilot/project/.github/wtfp/roles/research-synthesizer.md +1 -0
  48. package/vendors/copilot/project/.github/wtfp/skills/wtfp-research-literature/references/actions.md +1 -1
  49. package/vendors/copilot/project/.github/wtfp/workflows/research-gap.md +1 -1
  50. package/vendors/gemini/.wtfp-generated.json +7 -7
  51. package/vendors/gemini/actions/research-gap.json +2 -1
  52. package/vendors/gemini/agents/wtfp-research-synthesizer.md +1 -0
  53. package/vendors/gemini/gemini-extension.json +1 -1
  54. package/vendors/gemini/roles/research-synthesizer.md +1 -0
  55. package/vendors/gemini/skills/wtfp-research-literature/references/actions.md +1 -1
  56. package/vendors/gemini/workflows/research-gap.md +1 -1
  57. package/vendors/opencode/.wtfp-generated.json +6 -6
  58. package/vendors/opencode/actions/research-gap.json +2 -1
  59. package/vendors/opencode/agents/wtfp/research-synthesizer.md +1 -0
  60. package/vendors/opencode/roles/research-synthesizer.md +1 -0
  61. package/vendors/opencode/skills/wtfp-research-literature/references/actions.md +1 -1
  62. package/vendors/opencode/workflows/research-gap.md +1 -1
  63. package/vendors/plugin/.wtfp-generated.json +9 -9
  64. package/vendors/plugin/actions/research-gap.json +2 -1
  65. package/vendors/plugin/ai.iowarp.clio/agents/wtfp-research-synthesizer.md +1 -0
  66. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/help.md +1 -1
  67. package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/research-gap.md +1 -1
  68. package/vendors/plugin/plugin.json +1 -1
  69. package/vendors/plugin/roles/research-synthesizer.md +1 -0
  70. package/vendors/plugin/skills/wtfp-research-literature/references/actions.md +1 -1
  71. package/vendors/plugin/workflows/research-gap.md +1 -1
package/README.md CHANGED
@@ -19,7 +19,7 @@ the scientific judgment. The agent keeps the bookkeeping and does bounded jobs.
19
19
 
20
20
  It ships as one canonical [Agent Plugins 1.0.0](https://agent-plugins.org)
21
21
  bundle that a deterministic compiler projects into a native package for seven
22
- coding-agent hosts. Version `0.7.1` is the current stable release and is
22
+ coding-agent hosts. Version `0.7.2` is the current stable release and is
23
23
  what npm `latest` resolves to; v0.5 remains installable by explicit version.
24
24
 
25
25
  **Optional CiteNexus research backend (since 0.7.0):** `citation-search --backend=cite-nexus`
@@ -56,18 +56,19 @@ registers it with the host's native plugin lifecycle where one exists.
56
56
 
57
57
  | Host | Install | Native registration the installer performs | Verified with |
58
58
  | --- | --- | --- | --- |
59
- | Clio Coder (0.4.7 or newer) | `npx --yes --package=wtf-p@0.7.1 -- wtf-p install clio` | `clio-coder library install <staged-bundle> --user`, then `clio-coder library inspect wtfp --user --json` | 0.4.9 (local build) |
60
- | Claude Code | `npx --yes --package=wtf-p@0.7.1 -- wtf-p install claude` | `claude plugin marketplace add <root>/marketplaces/wtfp --scope user`, then `claude plugin install wtfp@wtfp --scope user -y` | 2.1.274 |
61
- | Codex | `npx --yes --package=wtf-p@0.7.1 -- wtf-p install codex` | `codex plugin marketplace add <root>/marketplaces/wtfp`, then `codex plugin add wtfp@wtfp --json`; agents copied to `$CODEX_HOME/agents/` | 0.153.3 |
62
- | GitHub Copilot CLI | `npx --yes --package=wtf-p@0.7.1 -- wtf-p install copilot` | `copilot plugin marketplace add <root>/marketplaces/wtfp`, then `copilot plugin install wtfp@wtfp` | 1.0.85 |
63
- | OpenCode | `npx --yes --package=wtf-p@0.7.1 -- wtf-p install opencode` | Files under the OpenCode config root; OpenCode discovers them by directory | 1.18.31 |
64
- | Antigravity CLI | `npx --yes --package=wtf-p@0.7.1 -- wtf-p install antigravity` | `agy plugin install <root>/sources/wtfp` | 1.2.5 |
65
- | Gemini CLI | `npx --yes --package=wtf-p@0.7.1 -- wtf-p install gemini` | Files under `<root>/extensions/wtfp`; Gemini discovers the extension by directory | 0.60.0 |
59
+ | Clio Coder (0.4.7 or newer) | `npx --yes --package=wtf-p@0.7.2 -- wtf-p install clio` | `clio-coder library install <staged-bundle> --user`, then `clio-coder library inspect wtfp --user --json` | 0.4.9 (local build) |
60
+ | Claude Code | `npx --yes --package=wtf-p@0.7.2 -- wtf-p install claude` | `claude plugin marketplace add <root>/marketplaces/wtfp --scope user`, then `claude plugin install wtfp@wtfp --scope user -y` | 2.1.274 |
61
+ | Codex | `npx --yes --package=wtf-p@0.7.2 -- wtf-p install codex` | `codex plugin marketplace add <root>/marketplaces/wtfp`, then `codex plugin add wtfp@wtfp --json`; agents copied to `$CODEX_HOME/agents/` | 0.153.3 |
62
+ | GitHub Copilot CLI | `npx --yes --package=wtf-p@0.7.2 -- wtf-p install copilot` | `copilot plugin marketplace add <root>/marketplaces/wtfp`, then `copilot plugin install wtfp@wtfp` | 1.0.85 |
63
+ | OpenCode | `npx --yes --package=wtf-p@0.7.2 -- wtf-p install opencode` | Files under the OpenCode config root; OpenCode discovers them by directory | 1.18.31 |
64
+ | Antigravity CLI | `npx --yes --package=wtf-p@0.7.2 -- wtf-p install antigravity` | `agy plugin install <root>/sources/wtfp` | 1.2.5 |
65
+ | Gemini CLI | `npx --yes --package=wtf-p@0.7.2 -- wtf-p install gemini` | Files under `<root>/extensions/wtfp`; Gemini discovers the extension by directory | 0.60.0 |
66
66
 
67
67
  "Verified" means native discovery in a disposable profile on this exact
68
68
  envelope, with the commands recorded in
69
69
  [Host capabilities](docs/HOST_CAPABILITIES.md). Clio Coder is published as
70
70
  `@iowarp/clio-coder`; 0.4.7 and newer carry the plugin engine WTF-P uses.
71
+ Clio Coder itself requires Node.js 22.19 or newer.
71
72
 
72
73
  Keep the explicit `--package=wtf-p@<version> -- wtf-p` form. On a workstation
73
74
  with WTF-P 0.5 installed globally, the shorter `npx wtf-p@<version>` can run
@@ -76,7 +77,7 @@ the old executable instead.
76
77
  ## Sixty-second start
77
78
 
78
79
  ```bash
79
- npx --yes --package=wtf-p@0.7.1 -- wtf-p install clio
80
+ npx --yes --package=wtf-p@0.7.2 -- wtf-p install clio
80
81
  cd /path/to/your-paper-or-proposal
81
82
  clio-coder --autonomy suggest
82
83
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wtf-p",
3
- "version": "0.7.1",
3
+ "version": "0.7.2",
4
4
  "description": "Portable, evidence-grounded academic writing workflows (papers, proposals, posters, presentations) for Clio Coder, Claude Code, Codex, GitHub Copilot CLI, OpenCode, Antigravity CLI, and Gemini CLI.",
5
5
  "bin": {
6
6
  "wtfp": "bin/install.js",
@@ -60,6 +60,7 @@
60
60
  ],
61
61
  "tools": [
62
62
  "bibliography.index",
63
+ "citation.fetch",
63
64
  "citation.rank",
64
65
  "citation.scholar-lookup",
65
66
  "citation.semantic-scholar"
@@ -95,7 +96,7 @@
95
96
  },
96
97
  {
97
98
  "id": "user.gate",
98
- "scope": "research scope and depth"
99
+ "scope": "the external providers, bounded query set, and research scope and depth"
99
100
  }
100
101
  ]
101
102
  }
@@ -42,6 +42,7 @@ Investigate the literature needed to plan and write a specific section well. The
42
42
  ## Boundaries
43
43
 
44
44
  - This is a `mutation-report` role. It may write only the research and suggestion artifacts authorized by the invoking action.
45
+ - When external literature search is approved, `citation-search` may run with `--backend=cite-nexus` and an explicit `--providers` list after the gate. Returned results stay candidates, and this role never performs a bibliography write.
45
46
  - Never fabricate a citation, identifier, quotation, metadata field, source conclusion, or claim of exhaustive coverage.
46
47
  - Never overwrite an existing `project://sources/{source}` record. Additions remain provisional until identity and provenance are verified by an authorized action.
47
48
  - Do not explore alternatives that author decisions explicitly deferred or rejected.
@@ -14,7 +14,7 @@ Contract: [protocol/actions/research-gap.json](../../../actions/research-gap.jso
14
14
  - `standard`: run a focused, reproducible search across the most relevant categories;
15
15
  - `deep`: map foundational, recent, competing, gap-defining, and methodological work, including important disagreements and intellectual lineage.
16
16
  5. Form search questions and inclusion criteria before searching. Record databases or corpora, query strings, date, filters, and stopping rule.
17
- 6. Search authoritative scholarly sources when external research is approved and available. Deduplicate candidates by persistent identifier, then normalized title.
17
+ 6. Search authoritative scholarly sources only after disclosing and receiving approval for the external providers and bounded query set. When using the bundled dispatcher, `citation-search` may run with `--backend=cite-nexus` and an explicit `--providers` list after this gate. Returned results stay candidates, and this action performs no bibliography write. Deduplicate candidates by persistent identifier, then normalized title.
18
18
  7. Verify each retained source from its primary record or publication. Create a `project://sources/{source}` record with title, creators, year, source kind, identifiers, citation key, status, provenance, inspection depth, and verification time.
19
19
  8. Read enough of each source to distinguish its actual claim, method, population, result, and limitation. Do not cite an abstract-only impression as full-paper evidence.
20
20
  9. Create `project://evidence/{evidence}` separately for each retained claim-level interpretation, with relation, locator, limitations, confidence, and inspection depth. Synthesize by question rather than listing papers; identify consensus, disagreement, methodological differences, missing evidence, and defensible positioning.
@@ -22,7 +22,7 @@ Manuscript prose and supporting context, research, plan, review, summary, handof
22
22
  ## Procedure
23
23
 
24
24
  1. Resolve the research question and section scope against locked/deferred decisions; agree on depth and source constraints.
25
- 2. Search declared scholarly services, verify source identity and inspection depth, and separate source records from claim-level evidence.
25
+ 2. Search declared scholarly services only after the gate names the providers and bounded query set. When using the bundled dispatcher, `citation-search` may run with `--backend=cite-nexus` and an explicit `--providers` list after this gate. Returned results stay candidates, and this action performs no bibliography write. Verify source identity and inspection depth, and separate source records from claim-level evidence.
26
26
  3. Synthesize supported, conflicting, and missing evidence into a Markdown research artifact; link new records and disclose limitations.
27
27
 
28
28
  ## Bundled tool execution
@@ -2,7 +2,7 @@
2
2
  "schema": "wtfp.generated-adapter/v1",
3
3
  "generatorVersion": 5,
4
4
  "target": "antigravity",
5
- "sourceHash": "fd300ebe88a80d19a91efd0d8e22700782eceec0728584e5d1004a54794804a7",
5
+ "sourceHash": "23ee519da7229238b594ff551727214e995b56a308c65b3088716b97b02c0b35",
6
6
  "files": [
7
7
  {
8
8
  "path": "actions/add-todo.json",
@@ -118,7 +118,7 @@
118
118
  },
119
119
  {
120
120
  "path": "actions/research-gap.json",
121
- "sha256": "61bb44bf5a5dbbaa5e296f69515b65c21a1ce15022f2bafcb4d22df82f0d690c"
121
+ "sha256": "80659531e18fb60dd46620c8b35aa27ce0f966c467f0d3073ae8c6519084153e"
122
122
  },
123
123
  {
124
124
  "path": "actions/resume-writing.json",
@@ -178,7 +178,7 @@
178
178
  },
179
179
  {
180
180
  "path": "agents/wtfp-research-synthesizer.md",
181
- "sha256": "b4871282113a1ee3c44c42369fe19aaaae3f188a26182a1bc53052592e02c45a"
181
+ "sha256": "2adec7aab0cad7e9cc66312b14f8ee8824d269ad499319ad47094cfe4936f04a"
182
182
  },
183
183
  {
184
184
  "path": "agents/wtfp-section-planner.md",
@@ -362,7 +362,7 @@
362
362
  },
363
363
  {
364
364
  "path": "plugin.json",
365
- "sha256": "1017fe85464c00f4d1f2ad8ac23c1aace4f2edfccccd264b7ba6580568dc42bf"
365
+ "sha256": "62088bf28c24e8a00012b1d3fd0ec67468fd935aed314a1a6ae1916ef5d23637"
366
366
  },
367
367
  {
368
368
  "path": "project/README.md",
@@ -486,7 +486,7 @@
486
486
  },
487
487
  {
488
488
  "path": "roles/research-synthesizer.md",
489
- "sha256": "d04ba72d66f693202b9327aaef82dd47637f1d99349d190149ef82ec43c8be83"
489
+ "sha256": "011feaa1fdb967c267713f4fa4b0c45b27e66a62f71d1f24c4f44360442aef57"
490
490
  },
491
491
  {
492
492
  "path": "roles/section-planner.md",
@@ -570,7 +570,7 @@
570
570
  },
571
571
  {
572
572
  "path": "skills/wtfp-research-literature/references/actions.md",
573
- "sha256": "511439009eebb56a79e88d2ad3851c8d0bad9ba89f7ae564834709bf47163597"
573
+ "sha256": "83cb1dbc27563a02bb35fbb995fe54d37e5afe523821b5cb5b6c3baf2fa72d50"
574
574
  },
575
575
  {
576
576
  "path": "skills/wtfp-research-literature/SKILL.md",
@@ -790,7 +790,7 @@
790
790
  },
791
791
  {
792
792
  "path": "workflows/research-gap.md",
793
- "sha256": "c98eb74ae970713affa435e79ba780703694cd1eca0c141bf840ebe67adc3983"
793
+ "sha256": "a1736edb7e739708a92e5ef11c2d7c7a87fe8e6e4d6586e8ce9b1db3ae5bb428"
794
794
  },
795
795
  {
796
796
  "path": "workflows/resume-writing.md",
@@ -60,6 +60,7 @@
60
60
  ],
61
61
  "tools": [
62
62
  "bibliography.index",
63
+ "citation.fetch",
63
64
  "citation.rank",
64
65
  "citation.scholar-lookup",
65
66
  "citation.semantic-scholar"
@@ -95,7 +96,7 @@
95
96
  },
96
97
  {
97
98
  "id": "user.gate",
98
- "scope": "research scope and depth"
99
+ "scope": "the external providers, bounded query set, and research scope and depth"
99
100
  }
100
101
  ]
101
102
  }
@@ -48,6 +48,7 @@ Investigate the literature needed to plan and write a specific section well. The
48
48
  ## Boundaries
49
49
 
50
50
  - This is a `mutation-report` role. It may write only the research and suggestion artifacts authorized by the invoking action.
51
+ - When external literature search is approved, `citation-search` may run with `--backend=cite-nexus` and an explicit `--providers` list after the gate. Returned results stay candidates, and this role never performs a bibliography write.
51
52
  - Never fabricate a citation, identifier, quotation, metadata field, source conclusion, or claim of exhaustive coverage.
52
53
  - Never overwrite an existing `project://sources/{source}` record. Additions remain provisional until identity and provenance are verified by an authorized action.
53
54
  - Do not explore alternatives that author decisions explicitly deferred or rejected.
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "$schema": "https://antigravity.google/schemas/v1/plugin.json",
3
3
  "name": "wtfp",
4
- "description": "Portable academic research and writing workflows (WTF-P 0.7.1)."
4
+ "description": "Portable academic research and writing workflows (WTF-P 0.7.2)."
5
5
  }
@@ -42,6 +42,7 @@ Investigate the literature needed to plan and write a specific section well. The
42
42
  ## Boundaries
43
43
 
44
44
  - This is a `mutation-report` role. It may write only the research and suggestion artifacts authorized by the invoking action.
45
+ - When external literature search is approved, `citation-search` may run with `--backend=cite-nexus` and an explicit `--providers` list after the gate. Returned results stay candidates, and this role never performs a bibliography write.
45
46
  - Never fabricate a citation, identifier, quotation, metadata field, source conclusion, or claim of exhaustive coverage.
46
47
  - Never overwrite an existing `project://sources/{source}` record. Additions remain provisional until identity and provenance are verified by an authorized action.
47
48
  - Do not explore alternatives that author decisions explicitly deferred or rejected.
@@ -54,7 +54,7 @@ Contract: [protocol/actions/research-gap.json](../../../actions/research-gap.jso
54
54
  - `standard`: run a focused, reproducible search across the most relevant categories;
55
55
  - `deep`: map foundational, recent, competing, gap-defining, and methodological work, including important disagreements and intellectual lineage.
56
56
  5. Form search questions and inclusion criteria before searching. Record databases or corpora, query strings, date, filters, and stopping rule.
57
- 6. Search authoritative scholarly sources when external research is approved and available. Deduplicate candidates by persistent identifier, then normalized title.
57
+ 6. Search authoritative scholarly sources only after disclosing and receiving approval for the external providers and bounded query set. When using the bundled dispatcher, `citation-search` may run with `--backend=cite-nexus` and an explicit `--providers` list after this gate. Returned results stay candidates, and this action performs no bibliography write. Deduplicate candidates by persistent identifier, then normalized title.
58
58
  7. Verify each retained source from its primary record or publication. Create a `project://sources/{source}` record with title, creators, year, source kind, identifiers, citation key, status, provenance, inspection depth, and verification time.
59
59
  8. Read enough of each source to distinguish its actual claim, method, population, result, and limitation. Do not cite an abstract-only impression as full-paper evidence.
60
60
  9. Create `project://evidence/{evidence}` separately for each retained claim-level interpretation, with relation, locator, limitations, confidence, and inspection depth. Synthesize by question rather than listing papers; identify consensus, disagreement, methodological differences, missing evidence, and defensible positioning.
@@ -22,7 +22,7 @@ Manuscript prose and supporting context, research, plan, review, summary, handof
22
22
  ## Procedure
23
23
 
24
24
  1. Resolve the research question and section scope against locked/deferred decisions; agree on depth and source constraints.
25
- 2. Search declared scholarly services, verify source identity and inspection depth, and separate source records from claim-level evidence.
25
+ 2. Search declared scholarly services only after the gate names the providers and bounded query set. When using the bundled dispatcher, `citation-search` may run with `--backend=cite-nexus` and an explicit `--providers` list after this gate. Returned results stay candidates, and this action performs no bibliography write. Verify source identity and inspection depth, and separate source records from claim-level evidence.
26
26
  3. Synthesize supported, conflicting, and missing evidence into a Markdown research artifact; link new records and disclose limitations.
27
27
 
28
28
  ## Bundled tool execution
@@ -5,14 +5,14 @@
5
5
  },
6
6
  "metadata": {
7
7
  "description": "WTF-P evidence-grounded academic workflow plugin.",
8
- "version": "0.7.1"
8
+ "version": "0.7.2"
9
9
  },
10
10
  "plugins": [
11
11
  {
12
12
  "name": "wtfp",
13
13
  "source": "./",
14
14
  "description": "Portable academic research and writing workflows.",
15
- "version": "0.7.1",
15
+ "version": "0.7.2",
16
16
  "author": {
17
17
  "name": "akougkas"
18
18
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wtfp",
3
- "version": "0.7.1",
3
+ "version": "0.7.2",
4
4
  "description": "Portable academic research and writing workflows with stable wtfp actions.",
5
5
  "author": {
6
6
  "name": "akougkas",
@@ -2,15 +2,15 @@
2
2
  "schema": "wtfp.generated-adapter/v1",
3
3
  "generatorVersion": 5,
4
4
  "target": "claude",
5
- "sourceHash": "f3cd9326674a890a0eaea6f2d30816e9d91c9832cbfc6a5c6f18c7dee3b4f075",
5
+ "sourceHash": "37a8fd8b02f436188b91203393eae686c24749034028203907202226f2aae4d2",
6
6
  "files": [
7
7
  {
8
8
  "path": ".claude-plugin/marketplace.json",
9
- "sha256": "55edd7c736d654630ea1267fde8e7f8e090b8fadd8cd0bb3ef16cd6cab5af7a1"
9
+ "sha256": "483f68f214398786956b33c3f4202dbcff0f38966f74b7228424abe733359e0c"
10
10
  },
11
11
  {
12
12
  "path": ".claude-plugin/plugin.json",
13
- "sha256": "1f77fce4cb2bdb2ec25d7dd8a8fa4fb65d7f58beab887e657b73f6d9fcf44d44"
13
+ "sha256": "737a8818dc1ef220429a477c9226664c5c924fcc42da54c421fc36d6b6fcbc37"
14
14
  },
15
15
  {
16
16
  "path": "actions/add-todo.json",
@@ -126,7 +126,7 @@
126
126
  },
127
127
  {
128
128
  "path": "actions/research-gap.json",
129
- "sha256": "61bb44bf5a5dbbaa5e296f69515b65c21a1ce15022f2bafcb4d22df82f0d690c"
129
+ "sha256": "80659531e18fb60dd46620c8b35aa27ce0f966c467f0d3073ae8c6519084153e"
130
130
  },
131
131
  {
132
132
  "path": "actions/resume-writing.json",
@@ -186,7 +186,7 @@
186
186
  },
187
187
  {
188
188
  "path": "agents/wtfp-research-synthesizer.md",
189
- "sha256": "d4e80c84d0ff45e55b38018e879a4f38cabe84e65f2a6769c3447f4ff7a8a021"
189
+ "sha256": "7852d483aa3385604f8d07f018202d7d8396fe1e15c76e3284a3db0696183f4b"
190
190
  },
191
191
  {
192
192
  "path": "agents/wtfp-section-planner.md",
@@ -230,7 +230,7 @@
230
230
  },
231
231
  {
232
232
  "path": "ai.iowarp.clio/agents/wtfp-research-synthesizer.md",
233
- "sha256": "0458f59e99dc04e36e6e8430ecd9d06a6a115af31bab087069f768e9d767034c"
233
+ "sha256": "18cfbac40fe49413797ed8bd12779df158eacb0155620dd34c966e061f2d5182"
234
234
  },
235
235
  {
236
236
  "path": "ai.iowarp.clio/agents/wtfp-section-planner.md",
@@ -306,7 +306,7 @@
306
306
  },
307
307
  {
308
308
  "path": "ai.iowarp.clio/prompts/wtfp/help.md",
309
- "sha256": "f7d0a9479be53c68cc07c9f33522d8484326b5267aa1790a2825d71caba57112"
309
+ "sha256": "dc549d5ea17cd14f945bc1a4cbc8bc95d67488bc61ea82e40dfa2f24bb839877"
310
310
  },
311
311
  {
312
312
  "path": "ai.iowarp.clio/prompts/wtfp/insert-section.md",
@@ -366,7 +366,7 @@
366
366
  },
367
367
  {
368
368
  "path": "ai.iowarp.clio/prompts/wtfp/research-gap.md",
369
- "sha256": "f59efde01a3a461c2fef4219774eb32795324960649980da5e390c99d57774f3"
369
+ "sha256": "9a08d66ac0f23ec846aa054ce50a76ebe1d5b19a922389a96b99c8cbe1e88665"
370
370
  },
371
371
  {
372
372
  "path": "ai.iowarp.clio/prompts/wtfp/resume-writing.md",
@@ -518,7 +518,7 @@
518
518
  },
519
519
  {
520
520
  "path": "commands/research-gap.md",
521
- "sha256": "a99892c6f728cd33325e70e2861287f30c33fcb10124660099411eb7782409ce"
521
+ "sha256": "10a9a5a9e27ad3f30c10b3cf012f935421ac25384480f4f376382619369b9364"
522
522
  },
523
523
  {
524
524
  "path": "commands/resume-writing.md",
@@ -574,7 +574,7 @@
574
574
  },
575
575
  {
576
576
  "path": "plugin.json",
577
- "sha256": "de4f7583a5c4d9d1a04deeb20f1f74d8a3cc718c3d4dbbc82c07c4b8605b28f0"
577
+ "sha256": "9ca54a9c1ac8c20bd741650ec5e8556db9168a55d7b150d8ab03e3c97b64c81f"
578
578
  },
579
579
  {
580
580
  "path": "project/README.md",
@@ -698,7 +698,7 @@
698
698
  },
699
699
  {
700
700
  "path": "roles/research-synthesizer.md",
701
- "sha256": "d04ba72d66f693202b9327aaef82dd47637f1d99349d190149ef82ec43c8be83"
701
+ "sha256": "011feaa1fdb967c267713f4fa4b0c45b27e66a62f71d1f24c4f44360442aef57"
702
702
  },
703
703
  {
704
704
  "path": "roles/section-planner.md",
@@ -786,7 +786,7 @@
786
786
  },
787
787
  {
788
788
  "path": "skills/wtfp-research-literature/references/actions.md",
789
- "sha256": "04768c3c0e0817ae3c3158c59c7075e838ad7c63b70d5a06a719ea0ef9f399b6"
789
+ "sha256": "83ad7126edc5f2012bc4bdbd3486a3eaf6b6453a0d575416b8ca4633c97fff24"
790
790
  },
791
791
  {
792
792
  "path": "skills/wtfp-research-literature/SKILL.md",
@@ -1006,7 +1006,7 @@
1006
1006
  },
1007
1007
  {
1008
1008
  "path": "workflows/research-gap.md",
1009
- "sha256": "c98eb74ae970713affa435e79ba780703694cd1eca0c141bf840ebe67adc3983"
1009
+ "sha256": "a1736edb7e739708a92e5ef11c2d7c7a87fe8e6e4d6586e8ce9b1db3ae5bb428"
1010
1010
  },
1011
1011
  {
1012
1012
  "path": "workflows/resume-writing.md",
@@ -60,6 +60,7 @@
60
60
  ],
61
61
  "tools": [
62
62
  "bibliography.index",
63
+ "citation.fetch",
63
64
  "citation.rank",
64
65
  "citation.scholar-lookup",
65
66
  "citation.semantic-scholar"
@@ -95,7 +96,7 @@
95
96
  },
96
97
  {
97
98
  "id": "user.gate",
98
- "scope": "research scope and depth"
99
+ "scope": "the external providers, bounded query set, and research scope and depth"
99
100
  }
100
101
  ]
101
102
  }
@@ -49,6 +49,7 @@ Investigate the literature needed to plan and write a specific section well. The
49
49
  ## Boundaries
50
50
 
51
51
  - This is a `mutation-report` role. It may write only the research and suggestion artifacts authorized by the invoking action.
52
+ - When external literature search is approved, `citation-search` may run with `--backend=cite-nexus` and an explicit `--providers` list after the gate. Returned results stay candidates, and this role never performs a bibliography write.
52
53
  - Never fabricate a citation, identifier, quotation, metadata field, source conclusion, or claim of exhaustive coverage.
53
54
  - Never overwrite an existing `project://sources/{source}` record. Additions remain provisional until identity and provenance are verified by an authorized action.
54
55
  - Do not explore alternatives that author decisions explicitly deferred or rejected.
@@ -52,6 +52,7 @@ Investigate the literature needed to plan and write a specific section well. The
52
52
  ## Boundaries
53
53
 
54
54
  - This is a `mutation-report` role. It may write only the research and suggestion artifacts authorized by the invoking action.
55
+ - When external literature search is approved, `citation-search` may run with `--backend=cite-nexus` and an explicit `--providers` list after the gate. Returned results stay candidates, and this role never performs a bibliography write.
55
56
  - Never fabricate a citation, identifier, quotation, metadata field, source conclusion, or claim of exhaustive coverage.
56
57
  - Never overwrite an existing `project://sources/{source}` record. Additions remain provisional until identity and provenance are verified by an authorized action.
57
58
  - Do not explore alternatives that author decisions explicitly deferred or rejected.
@@ -6,7 +6,7 @@ display-only: true
6
6
  <!-- Generated by WTF-P adapter compiler v5 from protocol/actions/help; do not edit. -->
7
7
 
8
8
  ```text
9
- WTF-P 0.7.1 on Clio Coder: evidence-grounded academic writing
9
+ WTF-P 0.7.2 on Clio Coder: evidence-grounded academic writing
10
10
 
11
11
  Start here
12
12
  /wtfp:new-paper [input]
@@ -23,7 +23,7 @@ Manuscript prose and supporting context, research, plan, review, summary, handof
23
23
  ## Procedure
24
24
 
25
25
  1. Resolve the research question and section scope against locked/deferred decisions; agree on depth and source constraints.
26
- 2. Search declared scholarly services, verify source identity and inspection depth, and separate source records from claim-level evidence.
26
+ 2. Search declared scholarly services only after the gate names the providers and bounded query set. When using the bundled dispatcher, `citation-search` may run with `--backend=cite-nexus` and an explicit `--providers` list after this gate. Returned results stay candidates, and this action performs no bibliography write. Verify source identity and inspection depth, and separate source records from claim-level evidence.
27
27
  3. Synthesize supported, conflicting, and missing evidence into a Markdown research artifact; link new records and disclose limitations.
28
28
 
29
29
  ## Bundled tool execution
@@ -34,7 +34,7 @@ Manuscript prose and supporting context, research, plan, review, summary, handof
34
34
  ## Procedure
35
35
 
36
36
  1. Resolve the research question and section scope against locked/deferred decisions; agree on depth and source constraints.
37
- 2. Search declared scholarly services, verify source identity and inspection depth, and separate source records from claim-level evidence.
37
+ 2. Search declared scholarly services only after the gate names the providers and bounded query set. When using the bundled dispatcher, `citation-search` may run with `--backend=cite-nexus` and an explicit `--providers` list after this gate. Returned results stay candidates, and this action performs no bibliography write. Verify source identity and inspection depth, and separate source records from claim-level evidence.
38
38
  3. Synthesize supported, conflicting, and missing evidence into a Markdown research artifact; link new records and disclose limitations.
39
39
 
40
40
  ## Bundled tool execution
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
3
3
  "name": "wtfp",
4
- "version": "0.7.1",
4
+ "version": "0.7.2",
5
5
  "description": "Portable, evidence-grounded academic research and writing workflows.",
6
6
  "author": {
7
7
  "name": "akougkas"
@@ -42,6 +42,7 @@ Investigate the literature needed to plan and write a specific section well. The
42
42
  ## Boundaries
43
43
 
44
44
  - This is a `mutation-report` role. It may write only the research and suggestion artifacts authorized by the invoking action.
45
+ - When external literature search is approved, `citation-search` may run with `--backend=cite-nexus` and an explicit `--providers` list after the gate. Returned results stay candidates, and this role never performs a bibliography write.
45
46
  - Never fabricate a citation, identifier, quotation, metadata field, source conclusion, or claim of exhaustive coverage.
46
47
  - Never overwrite an existing `project://sources/{source}` record. Additions remain provisional until identity and provenance are verified by an authorized action.
47
48
  - Do not explore alternatives that author decisions explicitly deferred or rejected.
@@ -14,7 +14,7 @@ Contract: [protocol/actions/research-gap.json](../../../actions/research-gap.jso
14
14
  - `standard`: run a focused, reproducible search across the most relevant categories;
15
15
  - `deep`: map foundational, recent, competing, gap-defining, and methodological work, including important disagreements and intellectual lineage.
16
16
  5. Form search questions and inclusion criteria before searching. Record databases or corpora, query strings, date, filters, and stopping rule.
17
- 6. Search authoritative scholarly sources when external research is approved and available. Deduplicate candidates by persistent identifier, then normalized title.
17
+ 6. Search authoritative scholarly sources only after disclosing and receiving approval for the external providers and bounded query set. When using the bundled dispatcher, `citation-search` may run with `--backend=cite-nexus` and an explicit `--providers` list after this gate. Returned results stay candidates, and this action performs no bibliography write. Deduplicate candidates by persistent identifier, then normalized title.
18
18
  7. Verify each retained source from its primary record or publication. Create a `project://sources/{source}` record with title, creators, year, source kind, identifiers, citation key, status, provenance, inspection depth, and verification time.
19
19
  8. Read enough of each source to distinguish its actual claim, method, population, result, and limitation. Do not cite an abstract-only impression as full-paper evidence.
20
20
  9. Create `project://evidence/{evidence}` separately for each retained claim-level interpretation, with relation, locator, limitations, confidence, and inspection depth. Synthesize by question rather than listing papers; identify consensus, disagreement, methodological differences, missing evidence, and defensible positioning.
@@ -22,7 +22,7 @@ Manuscript prose and supporting context, research, plan, review, summary, handof
22
22
  ## Procedure
23
23
 
24
24
  1. Resolve the research question and section scope against locked/deferred decisions; agree on depth and source constraints.
25
- 2. Search declared scholarly services, verify source identity and inspection depth, and separate source records from claim-level evidence.
25
+ 2. Search declared scholarly services only after the gate names the providers and bounded query set. When using the bundled dispatcher, `citation-search` may run with `--backend=cite-nexus` and an explicit `--providers` list after this gate. Returned results stay candidates, and this action performs no bibliography write. Verify source identity and inspection depth, and separate source records from claim-level evidence.
26
26
  3. Synthesize supported, conflicting, and missing evidence into a Markdown research artifact; link new records and disclose limitations.
27
27
 
28
28
  ## Bundled tool execution
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wtfp",
3
- "version": "0.7.1",
3
+ "version": "0.7.2",
4
4
  "description": "Evidence-grounded academic research, planning, writing, review, and delivery workflows.",
5
5
  "author": {
6
6
  "name": "akougkas",
@@ -2,11 +2,11 @@
2
2
  "schema": "wtfp.generated-adapter/v1",
3
3
  "generatorVersion": 5,
4
4
  "target": "codex",
5
- "sourceHash": "1e1af2ef70ac9839e13375b442cdfab39948203582e4bf63a3047223ac23ca1c",
5
+ "sourceHash": "2f0b9bbd18cb05ce2b6638ac631d8be9b8d04b56a102fd4d55b95cec86b06447",
6
6
  "files": [
7
7
  {
8
8
  "path": ".codex-plugin/plugin.json",
9
- "sha256": "3534b5fe702c0513c6e74c1ee030c15e4532e880d4695a08427cb37f8f699280"
9
+ "sha256": "d3a6f7b32d52b514aeee2b87aa156ced48d2ccf4d2aeb9230a3ff2da69165017"
10
10
  },
11
11
  {
12
12
  "path": "actions/add-todo.json",
@@ -122,7 +122,7 @@
122
122
  },
123
123
  {
124
124
  "path": "actions/research-gap.json",
125
- "sha256": "61bb44bf5a5dbbaa5e296f69515b65c21a1ce15022f2bafcb4d22df82f0d690c"
125
+ "sha256": "80659531e18fb60dd46620c8b35aa27ce0f966c467f0d3073ae8c6519084153e"
126
126
  },
127
127
  {
128
128
  "path": "actions/resume-writing.json",
@@ -182,7 +182,7 @@
182
182
  },
183
183
  {
184
184
  "path": "agents/wtfp-research-synthesizer.toml",
185
- "sha256": "5dcd64229c6f93120771a60f64110285f4c63d5ef39c9cf3925eb9492b3f71b4"
185
+ "sha256": "392a1efbbc36f96e2e3f58c7f397a54b1cf76c8f16b71c154013604bc8f52d70"
186
186
  },
187
187
  {
188
188
  "path": "agents/wtfp-section-planner.toml",
@@ -222,7 +222,7 @@
222
222
  },
223
223
  {
224
224
  "path": "plugin.json",
225
- "sha256": "30ee228934147fbfbb51a61d7e75673691aa36a99fb1576c41f02fc072a77e6f"
225
+ "sha256": "6e98cece8176076bc3d1a09b8c02c44ba46c5393f3a837d0feceb91724098d14"
226
226
  },
227
227
  {
228
228
  "path": "project/README.md",
@@ -346,7 +346,7 @@
346
346
  },
347
347
  {
348
348
  "path": "roles/research-synthesizer.md",
349
- "sha256": "d04ba72d66f693202b9327aaef82dd47637f1d99349d190149ef82ec43c8be83"
349
+ "sha256": "011feaa1fdb967c267713f4fa4b0c45b27e66a62f71d1f24c4f44360442aef57"
350
350
  },
351
351
  {
352
352
  "path": "roles/section-planner.md",
@@ -426,7 +426,7 @@
426
426
  },
427
427
  {
428
428
  "path": "skills/wtfp-research-literature/references/actions.md",
429
- "sha256": "a7d95b8ab9a647b1742dbce1f561454a53f7829947e748819bd1bef3f2c62828"
429
+ "sha256": "5a7729f4d2fe816ea2b850f4d6421b293612c0d1719aadbe01817f5fcb11af72"
430
430
  },
431
431
  {
432
432
  "path": "skills/wtfp-research-literature/SKILL.md",
@@ -646,7 +646,7 @@
646
646
  },
647
647
  {
648
648
  "path": "workflows/research-gap.md",
649
- "sha256": "c98eb74ae970713affa435e79ba780703694cd1eca0c141bf840ebe67adc3983"
649
+ "sha256": "a1736edb7e739708a92e5ef11c2d7c7a87fe8e6e4d6586e8ce9b1db3ae5bb428"
650
650
  },
651
651
  {
652
652
  "path": "workflows/resume-writing.md",
@@ -60,6 +60,7 @@
60
60
  ],
61
61
  "tools": [
62
62
  "bibliography.index",
63
+ "citation.fetch",
63
64
  "citation.rank",
64
65
  "citation.scholar-lookup",
65
66
  "citation.semantic-scholar"
@@ -95,7 +96,7 @@
95
96
  },
96
97
  {
97
98
  "id": "user.gate",
98
- "scope": "research scope and depth"
99
+ "scope": "the external providers, bounded query set, and research scope and depth"
99
100
  }
100
101
  ]
101
102
  }
@@ -38,6 +38,7 @@ Investigate the literature needed to plan and write a specific section well. The
38
38
  ## Boundaries
39
39
 
40
40
  - This is a `mutation-report` role. It may write only the research and suggestion artifacts authorized by the invoking action.
41
+ - When external literature search is approved, `citation-search` may run with `--backend=cite-nexus` and an explicit `--providers` list after the gate. Returned results stay candidates, and this role never performs a bibliography write.
41
42
  - Never fabricate a citation, identifier, quotation, metadata field, source conclusion, or claim of exhaustive coverage.
42
43
  - Never overwrite an existing `project://sources/{source}` record. Additions remain provisional until identity and provenance are verified by an authorized action.
43
44
  - Do not explore alternatives that author decisions explicitly deferred or rejected.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
3
3
  "name": "wtfp",
4
- "version": "0.7.1",
4
+ "version": "0.7.2",
5
5
  "description": "Portable, evidence-grounded academic research and writing workflows.",
6
6
  "author": {
7
7
  "name": "akougkas"
@@ -42,6 +42,7 @@ Investigate the literature needed to plan and write a specific section well. The
42
42
  ## Boundaries
43
43
 
44
44
  - This is a `mutation-report` role. It may write only the research and suggestion artifacts authorized by the invoking action.
45
+ - When external literature search is approved, `citation-search` may run with `--backend=cite-nexus` and an explicit `--providers` list after the gate. Returned results stay candidates, and this role never performs a bibliography write.
45
46
  - Never fabricate a citation, identifier, quotation, metadata field, source conclusion, or claim of exhaustive coverage.
46
47
  - Never overwrite an existing `project://sources/{source}` record. Additions remain provisional until identity and provenance are verified by an authorized action.
47
48
  - Do not explore alternatives that author decisions explicitly deferred or rejected.
@@ -54,7 +54,7 @@ Contract: [protocol/actions/research-gap.json](../../../actions/research-gap.jso
54
54
  - `standard`: run a focused, reproducible search across the most relevant categories;
55
55
  - `deep`: map foundational, recent, competing, gap-defining, and methodological work, including important disagreements and intellectual lineage.
56
56
  5. Form search questions and inclusion criteria before searching. Record databases or corpora, query strings, date, filters, and stopping rule.
57
- 6. Search authoritative scholarly sources when external research is approved and available. Deduplicate candidates by persistent identifier, then normalized title.
57
+ 6. Search authoritative scholarly sources only after disclosing and receiving approval for the external providers and bounded query set. When using the bundled dispatcher, `citation-search` may run with `--backend=cite-nexus` and an explicit `--providers` list after this gate. Returned results stay candidates, and this action performs no bibliography write. Deduplicate candidates by persistent identifier, then normalized title.
58
58
  7. Verify each retained source from its primary record or publication. Create a `project://sources/{source}` record with title, creators, year, source kind, identifiers, citation key, status, provenance, inspection depth, and verification time.
59
59
  8. Read enough of each source to distinguish its actual claim, method, population, result, and limitation. Do not cite an abstract-only impression as full-paper evidence.
60
60
  9. Create `project://evidence/{evidence}` separately for each retained claim-level interpretation, with relation, locator, limitations, confidence, and inspection depth. Synthesize by question rather than listing papers; identify consensus, disagreement, methodological differences, missing evidence, and defensible positioning.