Skip to content

Bot Account Application: AgenticCommonsBot #12887

Description

@WendyLee07

Bot Account Application Request

Account Name: AgenticCommonsBot
GitHub Username: WendyLee07 (working as part of the Agentic Commons project)
Purpose: Fill missing native-script alternate_names on long-tail OpenLibrary author records (CJK / Cyrillic / Arabic / etc.), citing Wikidata + Wikipedia as independent evidence sources.

Request

  • Please grant bot privileges to the AgenticCommonsBot account
  • Please add AgenticCommonsBot to the "API" usergroup

Why this matters

Many OL authors with a real backlog of works (5+) still have an empty alternate_names array — readers searching with a different script or language form of the author's name can't find them. For example, before a recent manual edit the entry for "Chih-tsing Hsia" had no native-script form on file, so a reader typing "夏志清" couldn't find him.

Bot behavior (per edit)

For one author at a time:

  1. GET /authors/OL...A.json
  2. Verify alternate_names is still empty (skip if already populated)
  3. Append exactly one well-evidenced addition
  4. PUT the updated record with a factual-citation edit comment

Scope guardrails

  • Author pages only (/authors/OL...A). No work / edition / subject edits.
  • Append-only — never removes or reorders existing entries.
  • Skips authors with work_count < 5 (low search value).
  • ≤8 edits/day total, well below polite-bot thresholds.

Evidence requirement

Each proposed addition requires two independent reputable sources:

  • Wikidata — author's Q-id with matching multilingual label
  • Wikipedia article title in another language (typically the native-language wiki)

If two sources cannot be confirmed, the candidate is dropped — no speculative or single-source additions.

Edit comment format

Pure factual citation, no slogans or project attribution:

Adding native-script form per Wikidata Q778276 (zh label '苏童') and Chinese Wikipedia article title '苏童'.

Pipeline architecture

This is not a free-form LLM editing OL. The pipeline is:

  1. Discovery crawler finds candidates with alternate_names == [] and work_count ≥ 5
  2. Research worker (LLM-assisted) gathers two-source evidence and produces a structured proposal
  3. Independent QA gate re-fetches both evidence URLs and verifies the proposed value matches before the bot sees it
  4. Only QA-passed proposals reach the bot, which performs the single PUT

The LLM proposes; an independent automated check verifies; the bot only commits proposals that survived both.

Code

Already up for review at openlibrary-bots#451 — single-file Python 3 stdlib, S3-key auth, with a sample two-source proposal (Su Tong → 苏童 for OL2630047A) and captured dry-run output (login 200, GET 200, PUT 403 as expected pending this grant).

Operator contact

Thank you for reviewing! 🙏

@mekarpeles @hornc

Metadata

Metadata

Assignees

No one assigned

    Labels

    Needs: ResponseIssues which require feedback from lead

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions