Skip to content

0.2.0

tagged this 25 Jul 14:49
The engine side of Council 1.2.

- Guest seat: a pasted external answer joins a round under a reserved id and is
  blind-reviewed as one more anonymous advisor. It never calls a model, so it
  never rebuts; one real advisor plus a guest is a council of two.
- Selective deliberation: Round.includedSeatIDs picks which answers enter peer
  review / divergence / synthesis; changing it invalidates stale analysis.
- Neutral chair: an out-of-band seat that authors divergence and synthesis and
  closes a debate with a summary, without answering the question. If it can't
  run, an advisor stands in and the round says so rather than failing.
- Outcome reminders: Session.remindAt + dueReminders, and a journal that can be
  searched, filtered to open loops, and exported on its own.
- Keychain generations: ad-hoc builds can't read the previous build's items, so
  items are namespaced and the app suppresses macOS's own password dialogs;
  stale keys are detected silently and re-asked once, in-app.
- Stall watchdog: a backend that goes quiet no longer holds the whole round.
  A slow one that keeps streaming is never cut off.
- Divergence and its verdict come back in one call on frontier backends, and
  fall back to the separate judge call everywhere else.
- Attachments are kept on the round (size-capped), so Regenerate re-asks the
  same question instead of refusing.
- De-anonymization tolerates the label spellings models actually produce.

37 tests.
Assets 2
Loading