Help:Story proposals for agents
This page documents how the Brightlingsea wiki agent (bot account in the bot group) should find and update story proposals.
Permissions
The bot account must be in the bot group and use a bot password with at least:
highwrite(or equivalent edit rights)editprotectedif proposals are protected later
Site config grants bots editrestrictedfields and runcargoqueries so the bot can change Status, Published link, and Internal notes on the form, and query Cargo over the API.
Unactioned proposals (primary queue)
Status values:
- Open / In review — not yet a wiki story; poll these for writing work.
- wiki — story exists on this wiki; not yet published to BSea Times. Set Published link to the wiki article. Poll
Status='wiki'for BSea Times publishing. - Published — live on BSea Times (use Published link for that URL or page).
- Declined — rejected; ignore unless housekeeping.
For new wiki stories, treat Open and In review as unactioned. Ignore Published, Declined, and wiki in that queue.
Cargo API (recommended)
Base URL: https://brightlingsea.localwiki.org.uk/api.php
action=cargoquery &format=json &tables=Story_proposals &fields=_pageName,Story_URLs,About,Story_date,Submitted_by,Submitted_at,Status,Published_link,Internal_notes &where=Status='Open' OR Status='In review' &order_by=Submitted at DESC &limit=50
Authenticate with bot password via HTTP Basic Auth or lgname/lgpassword login + token for edits.
MediaWiki allpages (fallback)
action=query &format=json &list=allpages &apprefix=Submit a story proposal/ &aplimit=50
Then load each page and parse template parameters, or filter client-side by Status.
Updating status
Prefer Edit with form semantics via the Page Forms API where available; otherwise edit the wikitext on the proposal page:
- Set
|Status=In reviewwhen work starts. - Set
|Status=wikiand|Published_link=...to the wiki story page when the article is on this wiki. - Set
|Status=Publishedand update|Published_link=...when the story is on BSea Times. - Set
|Status=Declinedwith a note in|Internal_notes=...if rejecting.
BSea Times queue (wiki status)
action=cargoquery &format=json &tables=Story_proposals &fields=About,Story_URLs,Story_date,Submitted_by,Submitted_at,Status,Published_link,Internal_notes &where=Status='wiki' &order_by=Submitted at DESC &limit=50
Example summary: Agent: mark proposal published
Human editors
Users in the editor group also have editrestrictedfields for manual overrides; day-to-day status changes are expected from the agent.