Skip to content

cc-research 1.1.1

Choose a tag to compare

@richer-richard richer-richard released this 22 May 11:13
· 4 commits to main since this release
v1.1.1
b9ec25c

Synthesis quality

  • Per-entity load-bearing-claim verification — before synthesis, the orchestrator re-confirms each main entity's single most decision-relevant claim (current architecture / conflict-resolution model / maturity / status) against the actual current text of that entity's highest-tier primary / first-party source — never a competitor's description or a researcher's paraphrase — and persists any correction as normal per-strand evidence. The synthesizer enforces the same rule and lowers confidence when only a secondary/competitor source backs such a claim.
  • Version strings are not maturity — a bare semver no longer reads as stability/GA; the release channel / dist-tag (alpha/beta/rc/stable) and the project's own roadmap/status language outrank it, and any discrepancy is stated explicitly.
  • Recency widened from figures to architecture — the recency self-check now also catches an entity with a rewrite, major-version transition, acquisition, or license change (one targeted "what changed in the last ~12 months" search) and feeds the finding back before synthesis.

Fixed

  • The SDK install is now self-contained. The wheel bundles the shared plugin/ core (agents + research-method skill) at cc_research/_core/plugin/, so pipx install / pip install of the SDK works from any directory; previously only an editable install (pip install -e) could locate the core. coreloader prefers the packaged copy and still falls back to the repo layout for development.
  • The synthesizer no longer silently misses late strands. It now has Glob and discovers every sources-*.jsonl / claims-*.jsonl itself (the orchestrator's strand list is a hint), matching what the Stop-hook audit already globs — wave-2, outlook, and load-bearing-claim correction strands can no longer be dropped.
  • The Stop-hook audit is session-scoped (still fail-open). A run whose evidence files are all older than a staleness window is treated as abandoned, so an earlier unfinished run can't block an unrelated later turn; and a plan-only run resumed past planning (sources present) is now correctly audited for a report.
  • --budget 0 is honored as a real $0 cap and labeled correctly in the banner (was shown as "unlimited").
  • SDK resume restores the run's stored budget / max_turns / max_waves from meta.json instead of reverting to defaults; an explicit flag overrides and is persisted.

Docs / tests

  • Clarified that ≤ 8 tool calls per researcher is a self-imposed budget while maxTurns: 8 is a turn-cap backstop (it caps agentic turns, not tool calls). Corrected the SDK install ordering in the READMEs. Added unit tests for auth credential resolution + env scrubbing, frontmatter parsing, and the citation audit.

Unchanged

  • The in-body [#<id>] citation sigil and what the Stop-hook audit checks, the per-strand file set / plan.md / meta.json / report.md substrate, the budget rails, the aim-wide / independence rules, and the v1.1 citation-style / TodoWrite / Frame / outlook / recency machinery.