Skip to content

Releases: cainhopwood/editbot

v0.8.4

Choose a tag to compare

@github-actions github-actions released this 30 Jul 08:21

Release v0.8.4

Fix editing-status drift after batched phases finish.

Two related bugs kept the phase-completion state out of sync with
actual progress, causing files to appear 'Pending' after the harness
had already finished them:

  1. The batching harness never set the phase-complete flag on the
    final batch (except for prose_polish which had its own fallback).
    Small files that fit in one batch were even worse — they skipped
    the batch machinery entirely and had no completion writer at all.
    The system relied on the coordinator to notice a tool-result string
    and issue update_file_status by hand; when the coordinator forgot,
    the file stayed stuck at 'proofreading pending' with all batches
    complete.

  2. Proofreading completion used two field names. The reader path
    (readEditingStatus, get_next_editing_step, aggregate stats, and
    the Zod schema itself) checked 'proofread_complete'. The writer
    path since v0.8.2 wrote 'proofreading_complete' to a different
    field the reader never looked at. Result: harness set the flag,
    reader reported 'Pending', coordinator issued a redundant
    update_file_status that happened to write the correct field —
    masking the bug most of the time and making it look like a
    coordinator memory issue.

Same class of bug hit 'last_edited_phase': only ever updated by
update_file_status, so files completed by the harness alone kept
the previous phase's value (e.g. showing 'readability' after a
successful proofread).

Fix:

  • New phaseCompleteField(phase) helper maps 'proofreading' to the
    canonical 'proofread_complete'; other phases pass through. Every
    writer routes through this helper so future name drift can only
    happen in one place.
  • New markPhaseComplete helper called from the non-batched path of
    all four batched specialists (dialog, style, readability,
    proofreading). Idempotent — only no-ops when both the completion
    flag AND last_edited_phase are correct, so stale values from
    previous versions get repaired on the next specialist run.
  • Both completeBatch and setupBatching now set last_edited_phase
    when marking a phase complete.
  • Reset map in index-tools switched to the canonical field name.

Tests: 6 new tests covering markPhaseComplete acceptance, name
mapping for proofreading, idempotency, stale-last_edited_phase
repair, and a completeBatch case locking in the field name. Total:
921 tests, all passing.

Full Changelog: v0.8.3...v0.8.4

v0.8.3

Choose a tag to compare

@github-actions github-actions released this 28 Jul 11:16

Release v0.8.3

Proofreader accuracy overhaul.

Introduces a new audit-then-propose enforcement layer for the proofreader:

  • Every proofreading batch now goes through submit_batch_audit before
    any changes are proposed. The model must reproduce each line's full
    content verbatim and mark a per-line verdict; propose_changes is
    gated to refuse anything targeting an unaudited or 'clean' line.
  • Prompt drives sentence-by-sentence scanning with sentence-tagged
    notes (s1:, s2:, ...) so multi-issue lines and skipped sentences
    become visible. Explicit statement that a line may have any number
    of issues, not just one.
  • Strict-scope clamp prevents stylistic drift: the proofreader now
    refuses to propose any change that can't cite a mechanical rule
    ('reads better' is disqualified by definition).

Model & batch changes:

  • Default proofreader model bumped from Haiku (small) to Sonnet
    (medium) — Sonnet holds the multi-category attention required by
    the audit much more reliably.
  • Proofreading batches capped at 25 lines regardless of tier so the
    model can genuinely re-scan each sentence.

Robustness:

  • Audit content match now tolerates typographic variants (straight
    vs curly quotes, em/en dashes vs hyphens, ellipsis vs three dots)
    using the same normalization the proposal system already applies —
    mixed-typography manuscripts no longer trigger retry storms.
  • Auto-reset behavior from v0.8.2 is preserved: re-proofreading a
    completed file works transparently.

21 new tests cover the audit tool acceptance path, every rejection
condition, quote/dash equivalence, and cross-file audit isolation.
Total suite: 914 tests, all passing.

Full Changelog: v0.8.2...v0.8.3

v0.8.2

Choose a tag to compare

@github-actions github-actions released this 27 Jul 06:25

Release v0.8.2

Proofreader improvements:

  • Auto-reset batch state when re-running the proofreader on a file
    whose batches were all marked complete. Previously the tool would
    silently short-circuit with an internal 'batches complete' message
    which the coordinator paraphrased as 'file is clean'.
  • Fix field-name mismatch in reset_batch_progress that left the
    proofreading completion flag stuck (proofread_complete vs
    proofreading_complete).
  • Tighten the proofreader prompt: mandate paragraph-by-paragraph
    scan, override the shared 'quality over quantity' guideline, and
    require concrete verification evidence before returning
    NO_CHANGES_NEEDED.

Full Changelog: v0.8.1...v0.8.2

v0.8.1

Choose a tag to compare

@github-actions github-actions released this 27 Jul 06:14

Full Changelog: v0.8.0...v0.8.1

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 11 Jul 01:38

Full Changelog: v0.7.1...v0.8.0

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 10 Jul 00:04

Full Changelog: v0.7.0...v0.7.1

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 09 Jul 23:55

Full Changelog: v0.6.0...v0.7.0

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 07 Jul 05:54

Full Changelog: v0.5.0...v0.6.0

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 06 Jul 10:13

Full Changelog: v0.4.4...v0.5.0

v0.4.4

Choose a tag to compare

@github-actions github-actions released this 05 Jul 08:59