You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Browse filesBrowse the repository at this point in the historyBrowse files
Yen Kha
committed
refactor(mcp): rename tools to user-oriented names; remove scorer identity
MCP tool rename (validate_* is implementation-oriented, not user-oriented):
validate_corpus_record -> check_case
validate_prompt_jsonl -> check_prompt
generate_prompt_template -> new_prompt
create_contribution_bundle -> bundle_prompts
Consistent verb/object structure, low cognitive load, better autocomplete,
easier to demo. Updated server.py, corpus_tools.py, prompt_tools.py,
dali_mcp/README.md, and CONTRIBUTING.md references.
Scorer identity removed:
scoring/support.py: SCORER_MODEL hardcoded constant removed. Scorer
is now read from DALI_SCORER_MODEL env var at runtime with a clear
error if unset. No specific vendor is named or defaulted.
METHODOLOGY.md: Step 4 and Scorer Bias Disclosure rewritten to be
provider-neutral. Cross-vendor requirement stated as policy; specific
scorer identity lives in run artifacts only.
Em dashes removed from all newly written dali_mcp content.
Copy file name to clipboardExpand all lines: METHODOLOGY.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -178,7 +178,7 @@ The longer-term mitigation for 403 blocking is content-addressable archival (Way
178
178
179
179
## Step 4: Support Scoring
180
180
181
-
**Model:**`claude-3-5-haiku-20241022` (Anthropic) — cross-vendor scorer for all OpenAI subject models; no self-evaluation bias for GPT-4o/GPT-4.1/GPT-4o-mini results
181
+
**Model:**LLM-based verification scorer, configurable via `DALI_SCORER_MODEL`. Use a cross-vendor model (different provider than your subject models) to avoid self-evaluation bias. The scorer model used in each run is recorded in `methodology.json`.
**Source input:** first 3,000 characters of the fetched source text
184
184
@@ -252,7 +252,7 @@ If a provider deprecates a model version, a new versioned results directory is c
252
252
253
253
## Scorer Bias Disclosure
254
254
255
-
The support scorer for v0.2 is `claude-3-5-haiku-20241022` (Anthropic). All v0.2 subject models are OpenAI (GPT-4o-mini, GPT-4.1, GPT-4o), so there is no self-evaluation bias in this run. The scorer model is recorded in `methodology.json` per run. If an Anthropic model is used as a subject in a future run, the scorer must be switched to a different provider.
255
+
The scorer model is recorded in `methodology.json` per run. For any published run, the scorer must be from a different provider than the subject models being evaluated. This cross-vendor requirement is the primary guard against self-evaluation bias. The v0.2 public run satisfies this requirement; the specific scorer identity is recorded in the run artifacts rather than in this document to keep the methodology provider-neutral.
Copy file name to clipboardExpand all lines: dali_mcp/README.md
+30-25Lines changed: 30 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,19 +1,21 @@
1
-
# Dali MCP — Contributor Tools
1
+
# Dali MCP Contributor Tools
2
2
3
3
Dali exposes four MCP tools so you can validate, scaffold, and bundle
4
4
corpus records and synthetic prompts directly from Claude or any
5
-
MCP-capable editor — without running terminal commands.
5
+
MCP-capable editor, without running terminal commands.
6
6
7
7
## Tools
8
8
9
-
| Tool |What it does|
9
+
| Tool |Purpose|
10
10
|---|---|
11
-
|`validate_corpus_record`|Validates a CitationFailureCase JSON object — checks required fields, taxonomy values, lineage rules, and scoring eligibility|
12
-
|`validate_prompt_jsonl`|Validates a single synthetic prompt JSONL entry — checks required fields, category/subcategory/difficulty taxonomy, and prompt length|
13
-
|`generate_prompt_template`|Scaffolds a new prompt template for a given category, subcategory, and difficulty — ready to fill in and paste|
14
-
|`create_contribution_bundle`|Validates a batch of prompts and returns a PR-ready checklist|
11
+
|`check_case`|Validate a canonical citation-failure case|
12
+
|`check_prompt`|Validate a synthetic benchmark prompt |
13
+
|`new_prompt`|Generate a prompt scaffold|
14
+
|`bundle_prompts`|Create a PR-ready contribution bundle|
15
15
16
-
These tools wrap the same validation logic used by the CLI (`corpus/validator.py`, `runners/`) so there are no discrepancies between editor and terminal validation.
16
+
These tools wrap the same validation logic used by the CLI
17
+
(`corpus/validator.py`, `runners/`) so there are no discrepancies
18
+
between editor and terminal validation.
17
19
18
20
---
19
21
@@ -25,7 +27,9 @@ These tools wrap the same validation logic used by the CLI (`corpus/validator.py
25
27
pip install mcp
26
28
```
27
29
28
-
The `mcp` package is listed under `# MCP server` in `requirements.txt`. The rest of Dali (Tier 1 evaluator) runs on stdlib only — `mcp` is only required if you want the editor integration.
30
+
The `mcp` package is listed under the MCP server section in
31
+
`requirements.txt`. The rest of Dali (Tier 1 evaluator) runs on
32
+
stdlib only. `mcp` is only required for the editor integration.
29
33
30
34
### Claude Desktop
31
35
@@ -43,9 +47,9 @@ Add to your Claude Desktop `claude_desktop_config.json`:
43
47
}
44
48
```
45
49
46
-
Replace `/path/to/your/Dali/clone` with the absolute path to your local repo.
47
-
48
-
Restart Claude Desktop. The four tools will appear in Claude's tool list.
50
+
Replace `/path/to/your/Dali/clone` with the absolute path to your
51
+
local repo. Restart Claude Desktop. The four tools will appear in
52
+
the tool list.
49
53
50
54
### VS Code (with MCP extension)
51
55
@@ -86,37 +90,38 @@ Add to your Cursor MCP settings:
86
90
87
91
### Validate a corpus record
88
92
89
-
Ask Claude:
90
-
> "Use validate_corpus_record to check this record: `{ "case_id": "my-case-2024", "year": 2024, ... }`"
93
+
Ask your editor assistant:
94
+
> "Use check_case to validate this record: { "case_id": "my-case-2024", "year": 2024, ... }"
91
95
92
-
The tool returns a report with `valid`, `scoring_eligible`, `issues`, and a one-line `summary`.
96
+
The tool returns `valid`, `scoring_eligible`, `issues`, and a one-line `summary`.
93
97
94
98
### Scaffold a new adversarial prompt
95
99
96
-
Ask Claude:
97
-
> "Use generate_prompt_template for category=adversarial, subcategory=hallucination_prone, difficulty=adversarial, notes=Tests fabrication under recent AI regulation prompts"
100
+
Ask your editor assistant:
101
+
> "Use new_prompt for category=adversarial, subcategory=hallucination_prone, difficulty=adversarial, notes=Tests fabrication under recent AI regulation prompts"
98
102
99
-
The tool returns a ready-to-fill JSONL entry and tells you which file to add it to.
103
+
The tool returns a ready-to-fill entry and tells you which file to add it to.
100
104
101
105
### Bundle prompts for a PR
102
106
103
-
Ask Claude:
104
-
> "Use create_contribution_bundle on this list of prompts: [...]"
107
+
Ask your editor assistant:
108
+
> "Use bundle_prompts on this list: [...]"
105
109
106
-
Returns pass/fail by prompt ID and a PR checklist.
110
+
Returns pass/fail by prompt ID and a pre-PR checklist.
107
111
108
112
---
109
113
110
114
## CLI equivalent
111
115
112
-
All tools have direct CLI equivalents if you prefer the terminal:
116
+
All tools have direct CLI equivalents for terminal users:
0 commit comments