Skip to content

Omnibus CR follow-up: 50+ fixes across recorder, providers, CI, competitive matrix#133

Merged
jpr5 merged 6 commits intomainfrom
fix/omnibus-cr-followup
Apr 23, 2026
Merged

Omnibus CR follow-up: 50+ fixes across recorder, providers, CI, competitive matrix#133
jpr5 merged 6 commits intomainfrom
fix/omnibus-cr-followup

Conversation

@jpr5
Copy link
Copy Markdown
Contributor

@jpr5 jpr5 commented Apr 23, 2026

Summary

Addresses all bucket (c) and (d) items from PR #122's 7-agent CR, plus correctness issues discovered during this PR's own iterative CR process (6 rounds, 4 fix cycles).

Server core

  • readBody 10MB size limit (DoS surface closed)
  • Control API: error detail in responses, one-shot race fix (synchronous splice), fixtures_loaded gauge updates on mutations
  • normalizeCompatPath magic number replaced with readable expression
  • source field ("fixture" | "proxy") added to JournalEntry type

Recorder correctness

  • Crash hardening: headersSent guards, clientDisconnected tracking, encoding_format logging
  • Content+toolCalls: preserve both (previously dropped content)
  • Cohere v2 native detection branch in buildFixtureResponse
  • Tool-call IDs preserved from 5 provider formats
  • Reasoning/thinking extracted from 4 provider formats (including tool-call-only)
  • Multi-block text: filter+join instead of find (Anthropic/Gemini/Bedrock)
  • Thinking-only Anthropic responses handled (not error fixture)
  • Empty-content responses recorded correctly (not error fixture)
  • Ollama /api/generate format detection
  • Streaming collapse reasoning propagated

Provider handlers

  • Bedrock/Converse: ContentWithToolCallsResponse guards, ResponseOverrides wired into all builders + streaming, Converse-wrapped stream format (matches collapse parser), text_delta type field, Converse error envelope, webSearches warnings
  • Cohere v2: reasoning in all builders + streaming, webSearches warnings, response_format forwarding, assistant tool_calls preservation, full ResponseOverrides (finish_reason, usage, id)
  • Ollama: ContentWithToolCallsResponse, default stream:true, field validation
  • Gemini: tool_call_id collision fix (shared callCounter), thought-part filtering
  • All: journal source field on proxy paths, Azure embedding routing

Competitive matrix pipeline

  • computeChanges matches actual HTML structure (span class="no")
  • applyChanges regex matches actual td>span structure
  • updateProviderCounts scoped to competitor column (not global)
  • extractFeatures tightened keyword patterns
  • Added mokksy/ai-mocks competitor

CI + framework

  • --auto instead of --admin on fix-drift merge
  • Slack secrets via env vars across 5 workflows
  • Script injection prevention in notify-pr.yml (env vars + jq)
  • Portable grep -oE, SLACK_WEBHOOK guards
  • Router: RegExp g-flag lastIndex reset
  • Jest/Vitest: save/restore pre-existing env vars, loadFixtures warnings

Test plan

  • 2573/2573 tests passing (69 test files)
  • TSC clean
  • Prettier + ESLint clean
  • 0 merge conflicts with main
  • 6 CR rounds converged (R1-R4 on original, R1-R6 on additions)

🤖 Generated with Claude Code

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Apr 23, 2026

Open in StackBlitz

npm i https://pkg.pr.new/@copilotkit/aimock@133

commit: 903acf9

@jpr5 jpr5 force-pushed the fix/omnibus-cr-followup branch from 54a524d to 79af244 Compare April 23, 2026 17:36
jpr5 added a commit that referenced this pull request Apr 23, 2026
…rock overrides + recorder correctness

Folds PR #135 into PR #133. 5 commits:
- CI workflow security hardening (5 workflows)
- Cohere v2 complete parity (reasoning, webSearches, response_format, tool_calls, overrides)
- Bedrock ResponseOverrides + stream format + Converse error wrapping
- Recorder correctness (tool-call IDs, reasoning, multi-block text, empty-content, Ollama generate)
- Router RegExp g-flag safety + test framework patchEnv save/restore + loadFixtures warnings
@jpr5 jpr5 force-pushed the fix/omnibus-cr-followup branch from ccaf987 to 6ce5dfa Compare April 23, 2026 23:21
@jpr5 jpr5 changed the title Omnibus fix: CR follow-up buckets C & D from PR #122 Omnibus CR follow-up: 50+ fixes across recorder, providers, CI, competitive matrix Apr 23, 2026
jpr5 added 5 commits April 23, 2026 16:22
readBody 10MB size limit, control API error detail, one-shot race fix,
normalizeCompatPath clarity, fixtures_loaded gauge updates on mutations,
VideoStateMap TTL/bounds. JournalEntry source field, FixtureResponse type
widening, matchesPattern JSDoc, isContentWithToolCallsResponse re-export.
headersSent guards, clientDisconnected tracking, content+toolCalls
preservation, Cohere v2 detection, tool-call ID extraction (5 providers),
reasoning extraction (4 providers), filter+join multi-block text,
thinking-only/empty-content handling, Ollama /api/generate detection,
streaming collapse reasoning propagation.
Bedrock/Converse: ContentWithToolCallsResponse, ResponseOverrides in all
builders + streaming, Converse-wrapped stream events, text_delta type,
error envelope, webSearches warnings. Cohere v2: reasoning, webSearches,
response_format, tool_calls, full overrides. Ollama: content+toolCalls,
stream default, validation. Gemini: callCounter collision fix, thought
filtering. All: journal source field, Azure embedding routing.
computeChanges matches actual span class="no" structure, applyChanges
regex matches td>span, updateProviderCounts scoped to competitor column,
extractFeatures tightened keywords, added mokksy/ai-mocks competitor.
CI: --auto merge, Slack env vars (5 workflows), portable grep, injection
prevention (jq). Router: lastIndex reset. Jest/Vitest: save/restore env
vars, loadFixtures console.warn.
@jpr5 jpr5 force-pushed the fix/omnibus-cr-followup branch from 6ce5dfa to 6d3f4dc Compare April 23, 2026 23:24
@jpr5 jpr5 force-pushed the fix/omnibus-cr-followup branch from 6d3f4dc to 903acf9 Compare April 23, 2026 23:39
@jpr5 jpr5 merged commit 0683040 into main Apr 23, 2026
22 checks passed
@jpr5 jpr5 deleted the fix/omnibus-cr-followup branch April 23, 2026 23:43
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.

1 participant