Skip to content

Single meta_model config + unified agent transcripts - #11

Merged
PauBadiaM merged 2 commits into
mainfrom
meta-model-refactor
Sep 4, 2026
Merged

Single meta_model config + unified agent transcripts#11
PauBadiaM merged 2 commits into
mainfrom
meta-model-refactor

Conversation

@PauBadiaM

Copy link
Copy Markdown
Collaborator

Two related changes to how acumen configures its meta-agents and renders their transcripts.

1. Single meta_model config key

Collapses the five per-command meta-agent model keys — draft_model, improve_model, tasks_model, ship_model, check_model — into one meta_model key. It still defaults to the first models entry, and each command's --model flag still overrides it per run. A config that sets any of the old keys now errors as an unknown key. The scaffolded models: list is also reformatted to block style (one model per line). Bumps the package to 0.0.2dev.

2. Unified transcript format + one renderer

Replaces the two provider-specific transcript renderers (claude-code-log for Claude, an in-house Codex renderer) with a single path:

  • A run is mapped into a new harness-neutral trajectory model (acumen.trajectory).
  • One mapper per harness (Claude Code, Codex) converts the native record into that model.
  • One renderer turns any trajectory into HTML — so both providers' reports finally look alike, and adding a harness later is one mapper, not a new renderer.
  • Each run also writes a portable trajectory.json beside its .html.

Claude is now rendered in-house too, so claude-code-log is dropped from the claude extra. The renderer:

  • collapses tool calls and reasoning into <details> toggles (auto-opened on error),
  • renders agent text as markdown — bold/italic/inline code, links, headings, lists, fenced code, and GitHub-flavored tables,
  • is escape-first, so no transcript content can inject markup.

The Codex prompt (which its exec --json stream never echoes) is now carried on the result and shown as a leading block, matching Claude.

Testing

  • Full suite green (289 tests), including new tests for both mappers, the renderer, trajectory.json serialization, <details> toggles, markdown, and GFM tables.
  • Verified end-to-end that Codex and Claude reports render through the same model/renderer with a trajectory.json beside each.

🤖 Generated with Claude Code

PauBadiaM and others added 2 commits September 4, 2026 12:44
Merge the five per-command meta-agent model keys (draft_model, improve_model,
tasks_model, ship_model, check_model) into a single meta_model key. It still
defaults to the first models entry and each command's --model flag still
overrides it; setting any of the old keys now errors as unknown. Reformat the
scaffolded models list to block style, one model per line. Bump to 0.0.2dev.

Also render the run's prompt as a leading block in Codex transcripts. Codex's
exec --json stream never echoes the prompt, so AgentResult now carries it and
render_codex_events prints it, matching what a Claude transcript shows.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace the two provider-specific transcript renderers (claude-code-log for
Claude, an in-house Codex renderer) with a single path: a run is mapped into a
new harness-neutral trajectory model (acumen.trajectory), one mapper per harness
(Claude Code, Codex), and one renderer turns any trajectory into HTML. Adding a
harness is now one mapper, not a new renderer, and both providers' reports look
alike. Each run also writes a portable trajectory.json beside its .html.

Claude is rendered in-house too, so claude-code-log is dropped from the claude
extra. The renderer collapses tool calls and reasoning into <details> toggles
(auto-opened on error), and renders agent text as markdown — bold/italic/inline
code, links, headings, lists, fenced code, and GitHub-flavored tables — all
escape-first so no transcript content can inject markup.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 82.82443% with 90 lines in your changes missing coverage. Please review.
✅ Project coverage is 78.44%. Comparing base (06e1269) to head (590b5e3).

Files with missing lines Patch % Lines
src/acumen/trajectory.py 85.81% 63 Missing ⚠️
src/acumen/cli.py 47.36% 10 Missing ⚠️
src/acumen/logs.py 18.18% 9 Missing ⚠️
src/acumen/transcript.py 87.09% 4 Missing ⚠️
src/acumen/draft.py 0.00% 1 Missing ⚠️
src/acumen/improve.py 0.00% 1 Missing ⚠️
src/acumen/ship.py 0.00% 1 Missing ⚠️
src/acumen/taskgen.py 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #11      +/-   ##
==========================================
+ Coverage   77.84%   78.44%   +0.60%     
==========================================
  Files          29       30       +1     
  Lines        4942     5336     +394     
==========================================
+ Hits         3847     4186     +339     
- Misses       1095     1150      +55     
Files with missing lines Coverage Δ
src/acumen/__init__.py 100.00% <100.00%> (ø)
src/acumen/agents.py 89.23% <100.00%> (+0.05%) ⬆️
src/acumen/config.py 86.55% <100.00%> (-0.44%) ⬇️
src/acumen/paths.py 84.52% <100.00%> (+0.18%) ⬆️
src/acumen/review.py 93.52% <100.00%> (ø)
src/acumen/runner.py 88.48% <100.00%> (+0.28%) ⬆️
src/acumen/scaffold.py 92.30% <ø> (ø)
src/acumen/draft.py 33.80% <0.00%> (ø)
src/acumen/improve.py 50.45% <0.00%> (ø)
src/acumen/ship.py 42.24% <0.00%> (ø)
... and 5 more
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@PauBadiaM
PauBadiaM merged commit dfedfe0 into main Sep 4, 2026
7 checks passed
@PauBadiaM
PauBadiaM deleted the meta-model-refactor branch September 4, 2026 22:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants