- Citation verification treats a reference cited by URL as a web source, not
a registry match. Only an identity-confirmed reference can ground an
integrity finding, and an empty citation-results block tells the panel
that nothing was checked.
- Workers AI runs as an OpenAI-compatible panel provider, metered against its
free daily allocation, with a usage guard per provider. The panel roster
and its fallback routes are updated, and the example config matches the
live roster.
- A replay harness runs real submissions through intake up to the panel and
grades each stage against an answer key.
- Keywords reach the public record through every registry writer.
- Curator notifications go out without link previews, and test fixtures use
Crossref's test prefix.
- Decision letters name the removed references list by its size and name the
earlier submission a revision answers. The HTML part keeps the templates'
line breaks, and revise letters describe what a resubmission's revi…
Author mail: the receipt no longer calls the audit log tamper-evident; the Zenodo-community comments send a disputed point to help@ instead of inviting a cover note or a reply to the thread
accept.md, scope-reject.md, revise-and-resubmit(-comment).md and the
community invitation said human curator(s); the invitation also said
"We are not a journal" and "reviews available on request", and accept.md
offered the report on request although the record publishes it.
intake/scripts/test_audit_20260929.py: 37 offline checks for this audit.
The curation team decides and hears appeals: README note to authors, the legacy acceptance comments and the RQC status line; the intake README lists every field the form now collects
Redaction: a vendor tied to a panel seat is fatal in prose too and the RQC's "Claude-position" reads "first-seat"; the boilerplate says human curators, not human editors
The RQC on the first external paper called one seat "the Claude-position
reviewers"; the jargon rewrite covered "slot" but not that, and reviewer
prose sits outside the fatal vendor scan by design (a paper's own AI-use
disclosure is legitimate content there). A vendor or model name tied to a
seat is never a disclosure, so it is now fatal wherever it appears, and the
observed phrasing is rewritten before the gate. "Rest with human editors"
and its siblings in the review boilerplate, the RQC status line, the rubric,
the legacy templates and the README now say human curators or the curation
team.
Single-commit consolidation of the work between the initial commit
and public release. Folds in:
- The FastAPI submission front-end as the intake/ subpackage,
removing the prior sibling-import indirection in favor of normal
Python imports.
- Module renames to the public-facing identifiers
(editorial_workflow, submission_intake, redaction,
repository_deposit) and matching systemd unit names.
- Migration of deployment URLs and the monitoring push token to
environment variables sourced from /etc/icsac/editorial.env.
- Verdict refactor: accept, revise-and-resubmit (default decline),
scope-reject (reserved for submissions outside the institutes
editorial remit). The reviewer prompt and decision aggregator
match the calibration rubric line-by-line.
- AI Provenance Signal as the canonical name for the AI-style
detection dimension across the rubric, reviewer prompt, JSON
schema, and author-facing copy.
- README, rubrics, templates, and config.example.py aligned with
the …
Open-source release of the AI editorial system that reviews every
submission to icsacinstitute.org/submit.
Includes: intake, citation verification, five-reviewer panel, review
quality control, redaction layer, decision dispatch, author
correspondence, and post-acceptance publication.
Worked examples of the system reviewing real accepted ICSAC papers
are included in reviews/.