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.
- package/README.md +10 -10
- package/bin/commands/install-logic.js +1 -1
- package/bin/lib/adapter-compiler.js +163 -55
- package/bin/lib/clio-registration.js +127 -36
- package/bin/lib/manifest.js +11 -3
- package/bin/uninstall.js +3 -2
- package/package.json +1 -1
- package/vendors/antigravity/.wtfp-generated.json +2 -2
- package/vendors/antigravity/plugin.json +1 -1
- package/vendors/claude/.claude-plugin/marketplace.json +2 -2
- package/vendors/claude/.claude-plugin/plugin.json +1 -1
- package/vendors/claude/.wtfp-generated.json +5 -5
- package/vendors/claude/ai.iowarp.clio/prompts/wtfp/help.md +1 -1
- package/vendors/claude/plugin.json +1 -1
- package/vendors/clio-extension/.wtfp-generated.json +228 -0
- package/vendors/clio-extension/actions/add-todo.json +52 -0
- package/vendors/clio-extension/actions/analyze-bib.json +97 -0
- package/vendors/clio-extension/actions/audit-milestone.json +63 -0
- package/vendors/clio-extension/actions/check-refs.json +80 -0
- package/vendors/clio-extension/actions/check-todos.json +52 -0
- package/vendors/clio-extension/actions/checkpoint.json +76 -0
- package/vendors/clio-extension/actions/contribute.json +57 -0
- package/vendors/clio-extension/actions/create-outline.json +84 -0
- package/vendors/clio-extension/actions/create-poster.json +54 -0
- package/vendors/clio-extension/actions/create-slides.json +54 -0
- package/vendors/clio-extension/actions/discuss-section.json +76 -0
- package/vendors/clio-extension/actions/execute-outline.json +116 -0
- package/vendors/clio-extension/actions/export-latex.json +65 -0
- package/vendors/clio-extension/actions/help.json +30 -0
- package/vendors/clio-extension/actions/insert-section.json +61 -0
- package/vendors/clio-extension/actions/list-assumptions.json +35 -0
- package/vendors/clio-extension/actions/map-project.json +71 -0
- package/vendors/clio-extension/actions/new-paper.json +70 -0
- package/vendors/clio-extension/actions/pause-writing.json +71 -0
- package/vendors/clio-extension/actions/plan-milestone-gaps.json +57 -0
- package/vendors/clio-extension/actions/plan-revision.json +58 -0
- package/vendors/clio-extension/actions/plan-section.json +100 -0
- package/vendors/clio-extension/actions/polish-prose.json +69 -0
- package/vendors/clio-extension/actions/progress.json +51 -0
- package/vendors/clio-extension/actions/quick.json +70 -0
- package/vendors/clio-extension/actions/remove-section.json +63 -0
- package/vendors/clio-extension/actions/report-bug.json +47 -0
- package/vendors/clio-extension/actions/request-feature.json +47 -0
- package/vendors/clio-extension/actions/research-gap.json +102 -0
- package/vendors/clio-extension/actions/resume-writing.json +65 -0
- package/vendors/clio-extension/actions/review-section.json +83 -0
- package/vendors/clio-extension/actions/settings.json +47 -0
- package/vendors/clio-extension/actions/submit-milestone.json +77 -0
- package/vendors/clio-extension/actions/update.json +42 -0
- package/vendors/clio-extension/actions/verify-work.json +63 -0
- package/vendors/clio-extension/actions/write-section.json +115 -0
- package/vendors/clio-extension/clio-coder-extension.yaml +53 -0
- package/vendors/clio-extension/compatibility/action-availability.json +295 -0
- package/vendors/clio-extension/project/schemas/checkpoint.schema.json +102 -0
- package/vendors/clio-extension/project/schemas/common.schema.json +33 -0
- package/vendors/clio-extension/project/schemas/config.schema.json +69 -0
- package/vendors/clio-extension/project/schemas/decisions.schema.json +31 -0
- package/vendors/clio-extension/project/schemas/evidence.schema.json +48 -0
- package/vendors/clio-extension/project/schemas/manifest.schema.json +102 -0
- package/vendors/clio-extension/project/schemas/outline.schema.json +67 -0
- package/vendors/clio-extension/project/schemas/section.schema.json +95 -0
- package/vendors/clio-extension/project/schemas/source.schema.json +73 -0
- package/vendors/clio-extension/project/schemas/state.schema.json +58 -0
- package/vendors/clio-extension/project/schemas/validation.schema.json +74 -0
- package/vendors/clio-extension/runtime/extension.test.ts +248 -0
- package/vendors/clio-extension/runtime/extension.ts +1321 -0
- package/vendors/clio-extension/runtime/json-schema.cjs +304 -0
- package/vendors/clio-extension/runtime/package.json +3 -0
- package/vendors/clio-extension/runtime/write-guard.json +21 -0
- package/vendors/clio-extension/skins/wtfp.json +20 -0
- package/vendors/codex/plugins/wtfp/.codex-plugin/plugin.json +1 -1
- package/vendors/codex/plugins/wtfp/.wtfp-generated.json +3 -3
- package/vendors/codex/plugins/wtfp/plugin.json +1 -1
- package/vendors/copilot/.wtfp-generated.json +2 -2
- package/vendors/copilot/marketplace.json +2 -2
- package/vendors/copilot/plugins/wtfp/.claude-plugin/plugin.json +1 -1
- package/vendors/copilot/plugins/wtfp/.wtfp-generated.json +2 -2
- package/vendors/gemini/.wtfp-generated.json +2 -2
- package/vendors/gemini/gemini-extension.json +1 -1
- package/vendors/plugin/.wtfp-generated.json +30 -30
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/add-todo.md +6 -12
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/analyze-bib.md +7 -19
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/audit-milestone.md +7 -25
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/check-refs.md +7 -15
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/check-todos.md +9 -13
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/checkpoint.md +7 -27
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/create-outline.md +7 -25
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/discuss-section.md +7 -17
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/execute-outline.md +8 -27
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/help.md +2 -2
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/insert-section.md +7 -13
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/map-project.md +6 -14
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/new-paper.md +7 -17
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/pause-writing.md +6 -18
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/plan-milestone-gaps.md +7 -15
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/plan-section.md +7 -27
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/polish-prose.md +8 -15
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/quick.md +8 -15
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/research-gap.md +7 -21
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/resume-writing.md +7 -23
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/review-section.md +7 -19
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/settings.md +7 -9
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/submit-milestone.md +7 -25
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/verify-work.md +7 -15
- package/vendors/plugin/ai.iowarp.clio/prompts/wtfp/write-section.md +8 -28
- package/vendors/plugin/compatibility/action-availability.json +16 -1
- package/vendors/plugin/plugin.json +7 -7
- /package/vendors/plugin/ai.iowarp.clio/{fleets → playbooks}/wtfp-draft-review.md +0 -0
- /package/vendors/plugin/ai.iowarp.clio/{fleets → playbooks}/wtfp-plan-section.md +0 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.wtf-p.dev/project/decisions/v1",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"required": ["schema", "project_id", "revision", "items", "updated_at"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"schema": { "const": "wtfp.project.decisions/v1" },
|
|
9
|
+
"project_id": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
10
|
+
"revision": { "type": "integer", "minimum": 0 },
|
|
11
|
+
"items": {
|
|
12
|
+
"type": "array",
|
|
13
|
+
"items": {
|
|
14
|
+
"type": "object",
|
|
15
|
+
"additionalProperties": false,
|
|
16
|
+
"required": ["id", "authority", "disposition", "statement", "rationale", "scope_uri", "recorded_at"],
|
|
17
|
+
"properties": {
|
|
18
|
+
"id": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
19
|
+
"authority": { "enum": ["author", "venue", "project-evidence"] },
|
|
20
|
+
"disposition": { "enum": ["locked", "deferred", "discretion", "superseded"] },
|
|
21
|
+
"statement": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
22
|
+
"rationale": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
23
|
+
"scope_uri": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/logicalUri" },
|
|
24
|
+
"recorded_at": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/timestamp" },
|
|
25
|
+
"supersedes": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" }
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"updated_at": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/timestamp" }
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.wtf-p.dev/project/evidence/v1",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"required": [
|
|
7
|
+
"schema",
|
|
8
|
+
"id",
|
|
9
|
+
"project_id",
|
|
10
|
+
"source_uri",
|
|
11
|
+
"claim_id",
|
|
12
|
+
"relation",
|
|
13
|
+
"statement",
|
|
14
|
+
"locator",
|
|
15
|
+
"interpretation",
|
|
16
|
+
"confidence",
|
|
17
|
+
"inspection_depth",
|
|
18
|
+
"verified_at"
|
|
19
|
+
],
|
|
20
|
+
"properties": {
|
|
21
|
+
"schema": { "const": "wtfp.project.evidence/v1" },
|
|
22
|
+
"id": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
23
|
+
"project_id": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
24
|
+
"source_uri": { "type": "string", "pattern": "^project://sources/[A-Za-z0-9._~-]+$" },
|
|
25
|
+
"claim_id": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
26
|
+
"relation": { "enum": ["supports", "contradicts", "contextualizes", "method-precedent"] },
|
|
27
|
+
"statement": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
28
|
+
"locator": {
|
|
29
|
+
"type": "object",
|
|
30
|
+
"additionalProperties": false,
|
|
31
|
+
"required": ["kind", "value"],
|
|
32
|
+
"properties": {
|
|
33
|
+
"kind": { "enum": ["page", "section", "figure", "table", "timestamp", "record", "abstract"] },
|
|
34
|
+
"value": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" }
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"quote": { "type": "string", "minLength": 1 },
|
|
38
|
+
"interpretation": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
39
|
+
"limitations": {
|
|
40
|
+
"type": "array",
|
|
41
|
+
"items": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
42
|
+
"uniqueItems": true
|
|
43
|
+
},
|
|
44
|
+
"confidence": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/confidence" },
|
|
45
|
+
"inspection_depth": { "enum": ["metadata", "abstract", "full-text", "primary-data"] },
|
|
46
|
+
"verified_at": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/timestamp" }
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.wtf-p.dev/project/manifest/v1",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"required": [
|
|
7
|
+
"schema",
|
|
8
|
+
"protocol_version",
|
|
9
|
+
"id",
|
|
10
|
+
"title",
|
|
11
|
+
"document_type",
|
|
12
|
+
"core_argument",
|
|
13
|
+
"created_at",
|
|
14
|
+
"updated_at",
|
|
15
|
+
"artifacts"
|
|
16
|
+
],
|
|
17
|
+
"properties": {
|
|
18
|
+
"schema": { "const": "wtfp.project.manifest/v1" },
|
|
19
|
+
"protocol_version": { "const": 1 },
|
|
20
|
+
"id": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
21
|
+
"title": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
22
|
+
"document_type": {
|
|
23
|
+
"enum": [
|
|
24
|
+
"research-article",
|
|
25
|
+
"conference-paper",
|
|
26
|
+
"review",
|
|
27
|
+
"grant-proposal",
|
|
28
|
+
"thesis",
|
|
29
|
+
"dissertation",
|
|
30
|
+
"book-chapter",
|
|
31
|
+
"other"
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
"core_argument": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
35
|
+
"target": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"additionalProperties": false,
|
|
38
|
+
"properties": {
|
|
39
|
+
"venue": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
40
|
+
"audience": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
41
|
+
"word_limit": { "type": "integer", "minimum": 1 },
|
|
42
|
+
"deadline": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/date" }
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"requirements": {
|
|
46
|
+
"type": "object",
|
|
47
|
+
"additionalProperties": false,
|
|
48
|
+
"required": ["must_have", "should_have", "out_of_scope"],
|
|
49
|
+
"properties": {
|
|
50
|
+
"must_have": {
|
|
51
|
+
"type": "array",
|
|
52
|
+
"items": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
53
|
+
"uniqueItems": true
|
|
54
|
+
},
|
|
55
|
+
"should_have": {
|
|
56
|
+
"type": "array",
|
|
57
|
+
"items": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
58
|
+
"uniqueItems": true
|
|
59
|
+
},
|
|
60
|
+
"out_of_scope": {
|
|
61
|
+
"type": "array",
|
|
62
|
+
"items": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
63
|
+
"uniqueItems": true
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"created_at": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/timestamp" },
|
|
68
|
+
"updated_at": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/timestamp" },
|
|
69
|
+
"artifacts": {
|
|
70
|
+
"type": "object",
|
|
71
|
+
"additionalProperties": false,
|
|
72
|
+
"required": ["manifest", "config", "state", "decisions", "outline"],
|
|
73
|
+
"properties": {
|
|
74
|
+
"manifest": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/logicalUri" },
|
|
75
|
+
"config": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/logicalUri" },
|
|
76
|
+
"state": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/logicalUri" },
|
|
77
|
+
"decisions": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/logicalUri" },
|
|
78
|
+
"outline": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/logicalUri" },
|
|
79
|
+
"materials": {
|
|
80
|
+
"type": "array",
|
|
81
|
+
"items": { "type": "string", "pattern": "^project://materials/[A-Za-z0-9._~-]+(?:/[A-Za-z0-9._~-]+)*$" },
|
|
82
|
+
"uniqueItems": true
|
|
83
|
+
},
|
|
84
|
+
"manuscripts": {
|
|
85
|
+
"type": "array",
|
|
86
|
+
"items": { "type": "string", "pattern": "^project://paper/[A-Za-z0-9._~-]+(?:/[A-Za-z0-9._~-]+)*$" },
|
|
87
|
+
"uniqueItems": true
|
|
88
|
+
},
|
|
89
|
+
"deliverables": {
|
|
90
|
+
"type": "array",
|
|
91
|
+
"items": { "type": "string", "pattern": "^project://deliverables/[A-Za-z0-9._~-]+(?:/[A-Za-z0-9._~-]+)*$" },
|
|
92
|
+
"uniqueItems": true
|
|
93
|
+
},
|
|
94
|
+
"archives": {
|
|
95
|
+
"type": "array",
|
|
96
|
+
"items": { "type": "string", "pattern": "^project://archives/[A-Za-z0-9._~-]+(?:/[A-Za-z0-9._~-]+)*$" },
|
|
97
|
+
"uniqueItems": true
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.wtf-p.dev/project/outline/v1",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"required": ["schema", "project_id", "revision", "thesis", "target_words", "sections", "updated_at"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"schema": { "const": "wtfp.project.outline/v1" },
|
|
9
|
+
"project_id": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
10
|
+
"revision": { "type": "integer", "minimum": 0 },
|
|
11
|
+
"thesis": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
12
|
+
"target_words": { "type": "integer", "minimum": 1 },
|
|
13
|
+
"sections": {
|
|
14
|
+
"type": "array",
|
|
15
|
+
"minItems": 1,
|
|
16
|
+
"items": {
|
|
17
|
+
"type": "object",
|
|
18
|
+
"additionalProperties": false,
|
|
19
|
+
"required": [
|
|
20
|
+
"id",
|
|
21
|
+
"title",
|
|
22
|
+
"goal",
|
|
23
|
+
"argument_role",
|
|
24
|
+
"word_target",
|
|
25
|
+
"wave",
|
|
26
|
+
"depends_on",
|
|
27
|
+
"claim_ids",
|
|
28
|
+
"research"
|
|
29
|
+
],
|
|
30
|
+
"properties": {
|
|
31
|
+
"id": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
32
|
+
"title": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
33
|
+
"goal": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
34
|
+
"argument_role": {
|
|
35
|
+
"enum": ["setup", "background", "method", "evidence", "synthesis", "implications", "conclusion", "other"]
|
|
36
|
+
},
|
|
37
|
+
"word_target": { "type": "integer", "minimum": 1 },
|
|
38
|
+
"wave": { "type": "integer", "minimum": 1 },
|
|
39
|
+
"depends_on": {
|
|
40
|
+
"type": "array",
|
|
41
|
+
"items": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
42
|
+
"uniqueItems": true
|
|
43
|
+
},
|
|
44
|
+
"claim_ids": {
|
|
45
|
+
"type": "array",
|
|
46
|
+
"items": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
47
|
+
"uniqueItems": true
|
|
48
|
+
},
|
|
49
|
+
"research": {
|
|
50
|
+
"type": "object",
|
|
51
|
+
"additionalProperties": false,
|
|
52
|
+
"required": ["required", "topics"],
|
|
53
|
+
"properties": {
|
|
54
|
+
"required": { "type": "boolean" },
|
|
55
|
+
"topics": {
|
|
56
|
+
"type": "array",
|
|
57
|
+
"items": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
58
|
+
"uniqueItems": true
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
"updated_at": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/timestamp" }
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.wtf-p.dev/project/section/v1",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"required": [
|
|
7
|
+
"schema",
|
|
8
|
+
"id",
|
|
9
|
+
"project_id",
|
|
10
|
+
"outline_uri",
|
|
11
|
+
"title",
|
|
12
|
+
"goal",
|
|
13
|
+
"status",
|
|
14
|
+
"word_target",
|
|
15
|
+
"word_count",
|
|
16
|
+
"wave",
|
|
17
|
+
"depends_on",
|
|
18
|
+
"claims",
|
|
19
|
+
"artifacts",
|
|
20
|
+
"checkpoint_uris",
|
|
21
|
+
"validation_uris",
|
|
22
|
+
"updated_at"
|
|
23
|
+
],
|
|
24
|
+
"properties": {
|
|
25
|
+
"schema": { "const": "wtfp.project.section/v1" },
|
|
26
|
+
"id": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
27
|
+
"project_id": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
28
|
+
"outline_uri": { "const": "project://structure/outline" },
|
|
29
|
+
"title": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
30
|
+
"goal": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
31
|
+
"status": {
|
|
32
|
+
"enum": ["not-started", "researching", "planned", "writing", "reviewing", "complete", "blocked"]
|
|
33
|
+
},
|
|
34
|
+
"word_target": { "type": "integer", "minimum": 1 },
|
|
35
|
+
"word_count": { "type": "integer", "minimum": 0 },
|
|
36
|
+
"wave": { "type": "integer", "minimum": 1 },
|
|
37
|
+
"depends_on": {
|
|
38
|
+
"type": "array",
|
|
39
|
+
"items": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
40
|
+
"uniqueItems": true
|
|
41
|
+
},
|
|
42
|
+
"claims": {
|
|
43
|
+
"type": "array",
|
|
44
|
+
"items": {
|
|
45
|
+
"type": "object",
|
|
46
|
+
"additionalProperties": false,
|
|
47
|
+
"required": ["id", "statement", "status", "evidence_required", "evidence_uris"],
|
|
48
|
+
"properties": {
|
|
49
|
+
"id": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
50
|
+
"statement": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
51
|
+
"status": { "enum": ["planned", "drafted", "verified", "rejected"] },
|
|
52
|
+
"evidence_required": { "type": "boolean" },
|
|
53
|
+
"evidence_uris": {
|
|
54
|
+
"type": "array",
|
|
55
|
+
"items": { "type": "string", "pattern": "^project://evidence/[A-Za-z0-9._~-]+$" },
|
|
56
|
+
"uniqueItems": true
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"artifacts": {
|
|
62
|
+
"type": "object",
|
|
63
|
+
"additionalProperties": false,
|
|
64
|
+
"required": ["plans", "reviews"],
|
|
65
|
+
"properties": {
|
|
66
|
+
"context": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/logicalUri" },
|
|
67
|
+
"research": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/logicalUri" },
|
|
68
|
+
"plans": {
|
|
69
|
+
"type": "array",
|
|
70
|
+
"items": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/logicalUri" },
|
|
71
|
+
"uniqueItems": true
|
|
72
|
+
},
|
|
73
|
+
"reviews": {
|
|
74
|
+
"type": "array",
|
|
75
|
+
"items": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/logicalUri" },
|
|
76
|
+
"uniqueItems": true
|
|
77
|
+
},
|
|
78
|
+
"manuscript": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/logicalUri" },
|
|
79
|
+
"summary": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/logicalUri" },
|
|
80
|
+
"handoff": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/logicalUri" }
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"checkpoint_uris": {
|
|
84
|
+
"type": "array",
|
|
85
|
+
"items": { "type": "string", "pattern": "^project://checkpoints/[A-Za-z0-9._~-]+$" },
|
|
86
|
+
"uniqueItems": true
|
|
87
|
+
},
|
|
88
|
+
"validation_uris": {
|
|
89
|
+
"type": "array",
|
|
90
|
+
"items": { "type": "string", "pattern": "^project://validations/[A-Za-z0-9._~-]+$" },
|
|
91
|
+
"uniqueItems": true
|
|
92
|
+
},
|
|
93
|
+
"updated_at": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/timestamp" }
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.wtf-p.dev/project/source/v1",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"required": [
|
|
7
|
+
"schema",
|
|
8
|
+
"id",
|
|
9
|
+
"project_id",
|
|
10
|
+
"kind",
|
|
11
|
+
"title",
|
|
12
|
+
"creators",
|
|
13
|
+
"year",
|
|
14
|
+
"identifiers",
|
|
15
|
+
"status",
|
|
16
|
+
"provenance"
|
|
17
|
+
],
|
|
18
|
+
"properties": {
|
|
19
|
+
"schema": { "const": "wtfp.project.source/v1" },
|
|
20
|
+
"id": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
21
|
+
"project_id": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
22
|
+
"kind": {
|
|
23
|
+
"enum": [
|
|
24
|
+
"journal-article",
|
|
25
|
+
"conference-paper",
|
|
26
|
+
"book",
|
|
27
|
+
"book-chapter",
|
|
28
|
+
"preprint",
|
|
29
|
+
"thesis",
|
|
30
|
+
"dataset",
|
|
31
|
+
"software",
|
|
32
|
+
"standard",
|
|
33
|
+
"web-resource",
|
|
34
|
+
"author-material",
|
|
35
|
+
"other"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"title": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
39
|
+
"creators": {
|
|
40
|
+
"type": "array",
|
|
41
|
+
"minItems": 1,
|
|
42
|
+
"items": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" }
|
|
43
|
+
},
|
|
44
|
+
"year": { "type": ["integer", "null"], "minimum": 1000, "maximum": 2200 },
|
|
45
|
+
"identifiers": {
|
|
46
|
+
"type": "object",
|
|
47
|
+
"additionalProperties": false,
|
|
48
|
+
"minProperties": 1,
|
|
49
|
+
"properties": {
|
|
50
|
+
"doi": { "type": "string", "pattern": "^10\\.[0-9]{4,9}/\\S+$" },
|
|
51
|
+
"arxiv": { "type": "string", "pattern": "^(?:[a-z-]+/[0-9]{7}|[0-9]{4}\\.[0-9]{4,5})(?:v[0-9]+)?$" },
|
|
52
|
+
"isbn": { "type": "string", "minLength": 10 },
|
|
53
|
+
"url": { "type": "string", "format": "uri" },
|
|
54
|
+
"local_id": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" }
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"citation_key": { "type": "string", "pattern": "^[A-Za-z0-9:_-]+$" },
|
|
58
|
+
"status": { "enum": ["verified", "provisional", "unavailable", "retracted"] },
|
|
59
|
+
"provenance": {
|
|
60
|
+
"type": "object",
|
|
61
|
+
"additionalProperties": false,
|
|
62
|
+
"required": ["discovered_via", "inspection_depth", "verified_at"],
|
|
63
|
+
"properties": {
|
|
64
|
+
"discovered_via": {
|
|
65
|
+
"enum": ["scholarly-index", "bibliography-import", "author-provided", "repository", "manual"]
|
|
66
|
+
},
|
|
67
|
+
"inspection_depth": { "enum": ["metadata", "abstract", "full-text", "primary-data"] },
|
|
68
|
+
"verified_at": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/timestamp" },
|
|
69
|
+
"notes": { "type": "string" }
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.wtf-p.dev/project/state/v1",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"required": [
|
|
7
|
+
"schema",
|
|
8
|
+
"project_id",
|
|
9
|
+
"revision",
|
|
10
|
+
"phase",
|
|
11
|
+
"status",
|
|
12
|
+
"current_section_uri",
|
|
13
|
+
"progress",
|
|
14
|
+
"active_checkpoint_uris",
|
|
15
|
+
"updated_at"
|
|
16
|
+
],
|
|
17
|
+
"properties": {
|
|
18
|
+
"schema": { "const": "wtfp.project.state/v1" },
|
|
19
|
+
"project_id": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
20
|
+
"revision": { "type": "integer", "minimum": 0 },
|
|
21
|
+
"phase": {
|
|
22
|
+
"enum": ["initialized", "mapped", "outlining", "planning", "writing", "reviewing", "ready", "delivered"]
|
|
23
|
+
},
|
|
24
|
+
"status": { "enum": ["active", "paused", "blocked", "complete"] },
|
|
25
|
+
"current_section_uri": {
|
|
26
|
+
"type": ["string", "null"],
|
|
27
|
+
"pattern": "^project://sections/[A-Za-z0-9._~-]+$"
|
|
28
|
+
},
|
|
29
|
+
"progress": {
|
|
30
|
+
"type": "object",
|
|
31
|
+
"additionalProperties": false,
|
|
32
|
+
"required": ["sections_total", "sections_complete", "word_target", "word_count"],
|
|
33
|
+
"properties": {
|
|
34
|
+
"sections_total": { "type": "integer", "minimum": 0 },
|
|
35
|
+
"sections_complete": { "type": "integer", "minimum": 0 },
|
|
36
|
+
"word_target": { "type": "integer", "minimum": 0 },
|
|
37
|
+
"word_count": { "type": "integer", "minimum": 0 }
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"active_checkpoint_uris": {
|
|
41
|
+
"type": "array",
|
|
42
|
+
"items": { "type": "string", "pattern": "^project://checkpoints/[A-Za-z0-9._~-]+$" },
|
|
43
|
+
"uniqueItems": true
|
|
44
|
+
},
|
|
45
|
+
"last_transition": {
|
|
46
|
+
"type": "object",
|
|
47
|
+
"additionalProperties": false,
|
|
48
|
+
"required": ["from", "to", "reason", "at"],
|
|
49
|
+
"properties": {
|
|
50
|
+
"from": { "type": "string", "minLength": 1 },
|
|
51
|
+
"to": { "type": "string", "minLength": 1 },
|
|
52
|
+
"reason": { "type": "string", "minLength": 1 },
|
|
53
|
+
"at": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/timestamp" }
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"updated_at": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/timestamp" }
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.wtf-p.dev/project/validation/v1",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"required": [
|
|
7
|
+
"schema",
|
|
8
|
+
"id",
|
|
9
|
+
"project_id",
|
|
10
|
+
"subject_uri",
|
|
11
|
+
"validator_role",
|
|
12
|
+
"action_id",
|
|
13
|
+
"status",
|
|
14
|
+
"checks",
|
|
15
|
+
"issues",
|
|
16
|
+
"next_actions",
|
|
17
|
+
"effects_applied",
|
|
18
|
+
"executed_at"
|
|
19
|
+
],
|
|
20
|
+
"properties": {
|
|
21
|
+
"schema": { "const": "wtfp.project.validation/v1" },
|
|
22
|
+
"id": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
23
|
+
"project_id": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
24
|
+
"subject_uri": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/logicalUri" },
|
|
25
|
+
"validator_role": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
26
|
+
"action_id": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
27
|
+
"status": { "enum": ["passed", "issues-found", "needs-input", "failed"] },
|
|
28
|
+
"checks": {
|
|
29
|
+
"type": "array",
|
|
30
|
+
"minItems": 1,
|
|
31
|
+
"items": {
|
|
32
|
+
"type": "object",
|
|
33
|
+
"additionalProperties": false,
|
|
34
|
+
"required": ["id", "status", "summary", "evidence"],
|
|
35
|
+
"properties": {
|
|
36
|
+
"id": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
37
|
+
"status": { "enum": ["passed", "warning", "failed", "not-applicable"] },
|
|
38
|
+
"summary": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
39
|
+
"evidence": {
|
|
40
|
+
"type": "array",
|
|
41
|
+
"items": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" }
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"issues": {
|
|
47
|
+
"type": "array",
|
|
48
|
+
"items": {
|
|
49
|
+
"type": "object",
|
|
50
|
+
"additionalProperties": false,
|
|
51
|
+
"required": ["severity", "summary"],
|
|
52
|
+
"properties": {
|
|
53
|
+
"severity": { "enum": ["info", "warning", "error", "blocker"] },
|
|
54
|
+
"summary": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" },
|
|
55
|
+
"evidence": { "type": "string" }
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"next_actions": {
|
|
60
|
+
"type": "array",
|
|
61
|
+
"items": {
|
|
62
|
+
"type": "object",
|
|
63
|
+
"additionalProperties": false,
|
|
64
|
+
"required": ["action", "reason"],
|
|
65
|
+
"properties": {
|
|
66
|
+
"action": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/identifier" },
|
|
67
|
+
"reason": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/nonEmptyString" }
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"effects_applied": { "const": [] },
|
|
72
|
+
"executed_at": { "$ref": "https://schemas.wtf-p.dev/project/common/v1#/$defs/timestamp" }
|
|
73
|
+
}
|
|
74
|
+
}
|