Skip to content

v1.6.2 — QA-loop robustness hardening

Choose a tag to compare

@sdsrss sdsrss released this 13 Jul 17:28
· 6 commits to main since this release

Robustness hardening from an autonomous QA self-test loop (5 rounds). All changes are bugfixes / fail-fast on already-broken input; no behavior change for valid configs or well-formed member output.

Fixed

  • ISSUE-001 — non-object member JSON (a top-level array/scalar) no longer crashes stats; parse_json returns dict-or-None and the aggregation layer gates success on isinstance(parsed, dict).
  • ISSUE-002 — nested member fields (issues/ideas/confidence/…) are type-guarded; a single malformed seat no longer crashes the whole aggregation.
  • ISSUE-003 — min_successful_members / timeout_seconds / max_tokens_member are validated like grace_seconds; quoted values give a named [config] error instead of a traceback.
  • ISSUE-004 — discuss now requires unique seats (seat is the anonymized speaker identity); duplicate seats stay legal in generate/refine.
  • ISSUE-005 — missing --input/--inject files give a named error instead of FileNotFoundError.

Testing

Suite 177 → 209 (+32). leak-check clean; version synced across 6 manifests; CI green (3.9 / 3.12 / version-check).

See CHANGELOG.md for full detail.