Systematic author identity review
Identity cleanup starts with the full registered corpus, independently of the
website's filters or names reported by a reader. Reported failures belong in the
validation suite. They do not change candidate ranking, scope, or identity rules.
PatchScholar owns candidate generation and atomic source assignments. This
repository owns the corpus scope, frozen evidence, Luna review events, application
validation, and public status. The earlier 36-group pilot and the abandoned
filtered second-round preparation remain historical evidence; neither establishes
coverage of the author population.
Repeatable cycle
- Export all canonical authors, source authors and native authorship assertions
using public inspection APIs, refusing inspection limits. Freeze all registered
works and their current authorships, including included, excluded, deferred,
historical and duplicate records. Record unresolved assertions and works
without resolved identities separately.
- Call
build_author_review_queue with the stable scope
andreev-literature:author-identities. Supply current source aliases and
per-author digests of complete paper histories and native assertions. Exact
normalized names, contextual initial variants and matching ORCIDs nominate
pairs; no channel makes an identity decision.
- Persist the entire queue and all batches. No author-specific priority, accepted
paper requirement, component-size exclusion, or total review cap is allowed.
Batch size limits individual review requests only. Candidate connectivity is
never an instruction to merge a group.
- Give Luna complete histories, native source IDs/bylines and per-work
affiliations for each pair. Record an explicit merge, distinct or defer
judgment, confidence, rationale and work evidence. Names or graph overlap
alone are insufficient. Contradictory source IDs and ORCIDs need explicit
investigation. Preserve uncertainty rather than manufacturing a decision.
- Import append-only review events bound to candidate and evidence fingerprints.
Changed evidence makes a decision pending/stale. Retain removed candidates'
reviews as orphans. Report pending, deferred, distinct, merge, stale and
applied counts separately; completing one batch does not complete cleanup.
- Only propose disjoint merge sets for which every member pair has a current
high-confidence Luna merge decision. Missing pair judgments, distinct native
IDs on the same native work, or conflicting ORCIDs hold the set for follow-up.
- Replay the exact source assignments on a fresh database clone. Verify source
mappings, all prior author/work memberships under the mapping, evidence for
additional resolved memberships, audit-event counts, SQLite integrity and
unchanged non-author tables. Apply only an unchanged validated plan to
unchanged live inputs, with stale guards and a fresh backup.
- Rebuild the graph and nominate again. Validate reported examples and broader
homonym/projection regressions, publish the remaining inventory, and resume
at pending or evidence-enriched deferred pairs. Newly available evidence starts
a new snapshot; it does not rewrite old decisions.
Commands and evidence
pixi run author-review capture --cache CACHE_DIR retrieves complete fresh
inspection projections into a new private cache.
pixi run author-review freeze --run REVIEWS_DIR --cache CACHE_DIR creates a
new immutable snapshot from complete cached inspection exports and the current
register-backed display projection. dossier --run REVIEWS_DIR --batch N emits
one numbered batch with complete histories. Luna writes decisions separately;
import --run REVIEWS_DIR --file DECISIONS_JSON validates and appends them.
report --run REVIEWS_DIR reports coverage; plan --run REVIEWS_DIR creates a
reviewable assignment plan and records held groups. pixi run author-review-apply preview --run REVIEWS_DIR --cache NEW_APPLICATION_CACHE
replays a frozen plan; changing preview to apply requires a matching successful
replay and unchanged live inputs. Existing snapshots and plans
cannot be overwritten. Pass --previous-run PREVIOUS_REVIEWS_DIR when freezing
a successor snapshot to carry the entire event history forward and explicitly
mark changed evidence stale.
The first full-scope snapshot is under reviews/author-workflow-2026-09-27.
It covers 22,669 current identities across all 12,218 registered works and
nominates 18,317 pairs in 367 lossless batches. These counts describe candidates awaiting identity review. There are 691 works without resolved author identities
and 15,918 unresolved native assertion rows; those remain a separate coverage gap.
The status report records
review progress. The complete pair inventory includes every nominated pair and its current status.
Frozen large input dossiers remain local; review events and
validation reports are published.
Coverage means all matches under the declared channels over supplied inputs.
Missing aliases, arbitrary transliteration, different surname conventions and
provider errors can still hide true duplicates. Unrelated publication clusters
within an already conflated provider identity require a separate split workflow;
merging canonical IDs does not repair them.
First workflow application
The first six batches contain 300 Luna pair judgments: 233 merge recommendations,
66 deferrals and one distinct pair. Confidence and complete pairwise agreement
limit application to 170 groups and 181 source assignments; six incomplete or
contradictory merge components remain held. The unchanged plan passed a fresh
clone replay, including no lost mapped author/work memberships and unchanged
non-author tables. This is a validated workflow iteration, not complete cleanup:
18,017 pairs were still pending before the post-application rescan.
The post-application scan
contains 22,488 current identities and 17,734 candidate pairs: 17,731 pending and
three deferred under unchanged evidence. It preserves all 300 review events;
101 surviving pairs need reassessment because their evidence changed, and 196
historical events concern pairs no longer nominated. The
remaining pair inventory
is the continuation point. Prior applications are linked in its
continuation record.
Holdout validation
confirms that the generic detector finds every Isidora pair, while the graph
retains the earlier Akhmerov correction and Luna's distinct-person judgment.
At that scan, the Isidora pairs remained pending Luna review; nomination was not
a resolved identity. They received no case-specific scheduling or assignments.
Completed frozen review and second application, 28 September
Luna completed all 355 batches in the post-application frozen run: 17,731
pending pairs received decisions and three existing current deferrals were
preserved. The final frozen inventory has 9,426 merge recommendations, 8,164
deferrals, 144 distinct judgments, and no pending or stale reviews. Historical
events, including 196 orphan events, remain available. Completion refers to
reviewing the nominated pairs, not resolving every author identity.
The unchanged application rules admitted 548 disjoint groups and 559 source
assignments. Another 287 high-confidence connected components failed the
complete-pair or identifier checks and remain held in the
application plan.
Medium-confidence recommendations do not qualify. This includes all three
Isidora pairs: Luna recommended merging at medium confidence, so the reported
example remains unresolved rather than being promoted by orchestration.
The fresh replay
and live application
both passed. The 559 assignments reduced canonical author/work memberships from
52,377 to 52,292, with no lost memberships under the reviewed mapping. Each of
121 additional resolved memberships had exact current source-name alias evidence.
All 17 non-author tables were unchanged, exactly 559 audit events were added,
and SQLite integrity and foreign-key checks passed. Both databases were backed
up before assignment. The completed frozen review stays immutable; successor
evidence must be reviewed under its own fingerprints.
The 28 September successor inventory
contains 21,934 active identities and 16,682 nominated pairs. Its 14,577 pending
pairs comprise 14,253 stale reviews and 324 newly nominated pairs; 923 deferrals,
24 distinct judgments and 1,158 merge recommendations retain current evidence.
All 18,231 historical events were carried, including 1,603 orphan events. The
large stale count reflects fingerprints containing paper and coauthor context;
it does not erase or reverse Luna's previous judgments. No successor review run
has been launched. Coordinate planned source enrichment before reviewing changed
evidence again. The graph now resolves identities on 11,549 registered works;
669 works and 15,344 native assertion rows remain unresolved.