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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.