Skip to content

AutoScribe 1.1.1

Choose a tag to compare

@johnjanney johnjanney released this 19 Aug 20:53
· 38 commits to main since this release
ec1f871

A third external review, against 1.1.0. Ten findings; nine confirmed and fixed,
one rejected on evidence. Each is answered individually in
CODEX-REVIEW-RESPONSE.md.

Upgrade from 1.1.0. Two of these are financial-control defects that affect
every install, and one of them silently under-reports what you have spent.

The two that matter most

A provider call that was charged for could vanish from your monthly total.
Recording token and image usage returned nothing, so a refused database write let
the step finish while the charge disappeared from the figure the budget cap
reads. The cap would then allow spending it should have stopped. Both writes now
report, and a step that cannot record what it just spent stops the run — the
charge is still counted.

A run could publish, fail to close, and announce itself anyway. The review
email went out and the next occurrence was armed off a state change that had not
happened, and the stall sweeper would later find the still-open run and do both
again. Every ending is now a single conditional update that only an open run
accepts, and nothing is announced until it succeeds.

Both predate the pipeline split in 1.1.0.

Also fixed

  • Two workers could perform the same step, and pay for it twice. A
    compare-and-swap on the run's position now decides between them before either
    spends.
  • A site default model changed mid-run applied to the rest of that run, which
    could finish under a model its budget was never checked for.
  • Force review could be switched off under a run already in progress, and the
    article it began under review would publish. An open run now keeps the stricter
    of the two settings: turning review on mid-run still takes effect; turning it
    off never applies to work already under way.
  • A featured image could be reported as attached when it was not, so a prompt
    in required mode could publish without one.
  • The stall sweep made one queue query per candidate run — up to two thousand
    per pass, against the queue it exists to watch. One query per page now.
  • The monthly budget warning could be sent twice by two runs finishing
    together.

Corrections to the 1.1.0 documentation

Three claims in the 1.1.0 release text were wrong and are corrected:

  • Not every request makes one provider call. The topic step asks again after
    a collision and the article step makes one repair call, so a step can make two
    at up to 120 seconds each. What the split buys is that a killed request costs a
    step rather than an article, and that the sweeper restarts what was killed.
  • "Run now" queues; it does not answer in the request that asked. It always
    has queued — only Preview is synchronous.
  • The README version table had said 1.0.0 since 1.0.1.

Verification

298 tests and 1,108 assertions pass on PHP 8.1, 8.2, and 8.3. PHPCS reports zero
errors and zero warnings. No test contacts a live provider.

Install

Download autoscribe-1.1.1.zip below and install it through Plugins → Add New
→ Upload Plugin
. Runtime dependencies are bundled; nothing else is needed.