Repository navigation
Releases: ChaseHendrick/Research-Integrity
Release list
research-integrity 1.5.0
A review of the 1.2.0–1.4.4 work, which was drafted with Grok, found that two of this repository's own checks could not fail, and that the skill told every project it was installed in that scripts/gate.py existed there.
Skill:
- Removed the sentence "This repository asked for it:
scripts/gate.py" from the shipped skill. In a user's project it pointed at a program that is not there. - Section 8 is renamed "a program gate instead of a checklist". The rule is unchanged and still off unless asked for.
- Rule 4 gains two sentences: anchor a match to the row or sentence that states the claim, and make a failure control exercise the code that decides. Section 8 asks for a reproducible build, so a downloaded archive can be compared byte for byte.
Checks in this repository:
scripts/gate.py: its planted-count control raised its own error and never ran the comparison the real check used. Each control now writes its fault into a copy of the tree, and the real check must reject it for its own reason. The gate now also checks the README's class table, AI-review share and agreement figures againstincidents.csv, the README's case-study version, the citation date against the changelog, and the shipped prose for overclaim phrases beyond the listed quotations.scripts/gate.pybuilds a reproducible zip, now with the license.--compare FILEchecks a downloaded release asset against it.docs/case-study/code/check_numbers.py: it confirmed a Table 2 row by finding| 3 |anywhere in the manuscript, which a cell of Table 1 also matches, and it checked the figures for tokens such as>1<that any axis contains. It now checks Tables 1 and 2 row by row, the abstract counts, rates, κ and all 80 rows of Appendix A; compares each figure with a fresh drawing; and fails if the PDF was built from other sources. Seven planted faults must each be rejected first.- Removed
scripts/checks/check_write.pyandscripts/checks/server.py. Nothing ran them after 1.4.4, and the server still reported version 1.4.1.phrases.pystays and the gate uses it. - A release workflow publishes a release from the zip built on the released commit (a pushed tag, or a run by hand on main that creates the tag), then downloads it and compares.
Case study v1.17:
- Section 4.4 named three of the five public incidents in class V. V18 and V19 are now named.
- Section 5.4 states the 1.4.x releases in one sentence and records the two defects above. The manuscript names the skill release it describes rather than "the current" one, so a plugin release no longer forces a manuscript revision.
- The PDF shows the figures instead of naming them, and carries a digest of the files it was built from.
- Figures: the reach colors are re-stepped to pass a colorblind-safety check the old set failed; the timeline has wider columns and labels each control line directly. Counts unchanged.
README.mdnames the plugin skill as/research-integrity:research-integrity.
research-integrity 1.4.4
The plugin no longer ships a hook or a server.
The directory auto-follows a command only when the script has no variables and opens no path. A script that reads an edit or answers a tool call cannot meet that. The portal says a reviewer can read such a script, and this release takes the other option: no command at all.
The skill is instructions only. It sends nothing and fetches nothing. The phrase checks used while developing the hook remain in scripts/checks/ for this repository. They are not installed with the plugin.
Not claimed. The research rules are unchanged.
research-integrity 1.4.3
The hook and the server are now the shell scripts themselves.
They start no other program, so the directory has no second file to refuse to follow. The server's only tool is scan_text. It does not open a file. The hook warns on five overclaim phrases and blocks only when the current directory has .research-integrity.json with "block": true.
Not claimed. A phrase hit is not proof the sentence is false. The research rules are unchanged.
research-integrity 1.4.2
Directory validation, second pass.
The launch scripts no longer compute a path. Each is ${CLAUDE_PLUGIN_ROOT} and a fixed file name. The server no longer contains the text the directory read as a credential, and the author profile URL is removed. The homepage remains.
The scripts still start Python. The directory follows a script one level and then a person reads the file it starts. That part is unchanged.
Not claimed. The research rules are unchanged.
research-integrity 1.4.1
Directory validation fix.
The hook and the local server now start from shell scripts under the plugin path. They do not read the process environment. A 512×512 PNG icon is at .claude-plugin/icon.png.
The shell scripts still start the Python files. The directory says a file a script runs in turn is read by a reviewer, and that waiting for that review is acceptable.
Not claimed. This does not change the research rules.
research-integrity 1.4.0
Local tools, allowed because they stay on the machine.
Claude Code, and Cowork on your computer, now start:
- a small server with three tools:
scan_text,read_field, andappend_search - a hook before Write and Edit that warns on a few overclaim phrases
The hook blocks the write only if the project has .research-integrity.json with "block": true. Otherwise the write proceeds. Neither piece opens a network connection. Claude Chat does not run them; the uploaded zip is still the instructions alone.
Rules 1–7 are unchanged. Beating a checklist stays optional.
Not claimed. A phrase hit is not proof the sentence is false. The server does not search the web.
research-integrity 1.3.0
Beating a checklist is now optional.
Rules 1–7 stay on for every research claim: how a claim is known, what a search could not open, no novelty from a miss, a check that can fail, an adversarial reading, an honest review label, and no bending of a gate you already have.
Section 8, a program that recomputes public counts and fails on a planted fault, applies only when you ask for it, or when the project already has a gate you chose to keep. This repository asked, so scripts/gate.py still guards its own release. A project that does not ask is not a failed release.
Install in Claude Code with /plugin marketplace add ChaseHendrick/Research-Integrity, or upload research-integrity.zip under Settings → Capabilities → Skills.
Not claimed. The skill does not open sources a session cannot reach, and an in-project reading is not peer review.
research-integrity 1.2.0
The goal is to beat a checklist. A checklist can be ticked by the session that failed it. This release adds rule 8: a public count is recomputed by a committed program, and a planted fault must make that program fail.
scripts/gate.py reads incidents.csv (80 rows) and fails if the skill or the README states a different count. It fails if the plugin manifest, the citation file, the changelog, the skill's release line, and the case study disagree about the version. A planted count of 79 and a planted version mismatch each make it fail. The clean tree passes.
Install in Claude Code with /plugin marketplace add ChaseHendrick/Research-Integrity, or upload research-integrity.zip in claude.ai under Settings → Capabilities → Skills.
Not claimed. The gate checks sentences in this repository. It does not check a proof, and it was not a control during the two weeks the case study records.
research-integrity 1.0.0
First release. Install in Claude Code with /plugin marketplace add ChaseHendrick/research-integrity, or upload research-integrity.zip in claude.ai under Settings → Capabilities → Skills. See the README.