Skip to content

research-integrity 1.5.0

Latest

Choose a tag to compare

@github-actions github-actions released this 06 Oct 12:06
e55c001

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 against incidents.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.py builds a reproducible zip, now with the license. --compare FILE checks 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.py and scripts/checks/server.py. Nothing ran them after 1.4.4, and the server still reported version 1.4.1. phrases.py stays 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.md names the plugin skill as /research-integrity:research-integrity.