Skip to content

Commit 11cf672

Browse files
committed
docs: self-document evidence schema, fix GitHub setup, align evidence types
Add description fields to every property in evidence.schema.json so AI agents and contributors reading the schema understand exactly what each field requires (grain, specificity, what counts as a limitation). This makes the schema self-documenting rather than requiring cross-referencing with agent guides. Fix docs/GITHUB_SETUP.md to remove outdated 'no configured Git remote' message and reference the canonical GitHub URL. Fix literature-scout.md to use exact schema evidence_type enum values (primary-source, peer-reviewed-study, dataset, field-report, expert-review, replication, negative-result) and clarify suggested_next_issue semantics: required field in schema, but opening a GitHub issue is optional.
1 parent efb72bd commit 11cf672

2 files changed

Lines changed: 26 additions & 11 deletions

File tree

‎docs/GITHUB_SETUP.md‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ Field-Tested
2929

3030
The canonical label manifest is `.github/labels.yml`. `pnpm validate` checks that every governance-required label is present in that file.
3131

32-
## Remote Limitation
32+
## GitHub Repository
3333

34-
This local repository currently has no configured Git remote. Remote setup, Wiki enablement, and Project board creation require a GitHub repository URL and maintainer permissions.
34+
The canonical remote is at `https://github.com/Open-Problem-Lab/open-problem-lab`.
35+
36+
To sync labels from `.github/labels.yml`, use the `github-label-sync` tool or the GitHub API. To enable Wiki publishing, configure the `update-wiki.yml` workflow and enable the Wiki on the repository settings page.

‎schemas/evidence.schema.json‎

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"$schema": "https://json-schema.org/draft/2020-12/schema",
33
"$id": "https://open-problem-lab.local/schemas/evidence.schema.json",
44
"title": "Evidence Record",
5+
"description": "A single verified evidence record in a problem pack. Every claim that enters canonical truth requires one or more evidence records. The burden of proof sits with the submitter — reviewers need enough information to attack the claim.",
56
"type": "object",
67
"additionalProperties": false,
78
"required": [
@@ -19,18 +20,22 @@
1920
"properties": {
2021
"id": {
2122
"type": "string",
22-
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
23+
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
24+
"description": "Unique identifier for this evidence record. Use kebab-case. Example: who-malaria-fact-sheet-2024"
2325
},
2426
"problem_id": {
2527
"type": "string",
26-
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*/[a-z0-9]+(?:-[a-z0-9]+)*$"
28+
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*/[a-z0-9]+(?:-[a-z0-9]+)*$",
29+
"description": "The problem pack this evidence belongs to. Must match the id field in problem.json. Example: climate-health/malaria-early-warning-africa"
2730
},
2831
"claim": {
2932
"type": "string",
30-
"minLength": 20
33+
"minLength": 20,
34+
"description": "One specific, falsifiable statement this source supports. State what the source can prove and at what grain. Do not state what it cannot prove here — use the limitations field for that."
3135
},
3236
"evidence_type": {
3337
"type": "string",
38+
"description": "The type of evidence. Use the most specific type that applies.",
3439
"enum": [
3540
"primary-source",
3641
"dataset",
@@ -45,39 +50,47 @@
4550
"type": "object",
4651
"additionalProperties": false,
4752
"required": ["title", "url"],
53+
"description": "The source document or dataset. Use the original source, not a secondary report about it.",
4854
"properties": {
4955
"title": {
5056
"type": "string",
51-
"minLength": 4
57+
"minLength": 4,
58+
"description": "Full title of the source document or dataset. Do not abbreviate."
5259
},
5360
"url": {
5461
"type": "string",
55-
"format": "uri"
62+
"format": "uri",
63+
"description": "Direct, stable URL to the source. Prefer DOIs, archived URLs, or official permanent pages over search results or blog posts."
5664
}
5765
}
5866
},
5967
"source_date": {
6068
"type": "string",
61-
"format": "date"
69+
"format": "date",
70+
"description": "Publication or last-updated date of the source in ISO 8601 format (YYYY-MM-DD). If only the year is known, use YYYY-01-01 and note the uncertainty in limitations."
6271
},
6372
"access_date": {
6473
"type": "string",
65-
"format": "date"
74+
"format": "date",
75+
"description": "Date you accessed the source in ISO 8601 format (YYYY-MM-DD). Required because URLs and content change."
6676
},
6777
"method": {
6878
"type": "string",
69-
"minLength": 10
79+
"minLength": 10,
80+
"description": "How you assessed what the source proves. Describe which sections you reviewed and what analytical steps you applied. A reviewer should be able to replicate your assessment."
7081
},
7182
"limitations": {
7283
"type": "array",
7384
"items": {
7485
"type": "string",
7586
"minLength": 5
7687
},
77-
"minItems": 1
88+
"minItems": 1,
89+
"description": "What this source cannot prove. Be specific: name the grain, geography, time period, or causal claims that exceed what the source supports. 'Results may vary' is not a limitation."
7890
},
7991
"confidence": {
8092
"type": "string",
93+
"description": "Your confidence that this evidence record accurately represents what the source proves. Not confidence that the claim itself is true in the world.",
8194
"enum": ["high", "medium", "low", "unknown"]
8295
}
8396
}

0 commit comments

Comments
 (0)