As of: 2026-04-22, after PR #123 (migration-page quality sweep) and PR #124 (docs-wide npx bin sweep) were both merged into PR #121's branch.
Total remaining: 42 items across 6 files. All pre-existing; none are regressions from PR #121.
Refs:
- PR #121 (the current omnibus)
- Full bucket-C Notion page (source of truth; has the "fixed/refuted" sections too)
var pshadow between line 102 (pathname) and line 201 (loop counter). Latent footgun if future code readspafterbuildPageToc().- Auto-slug collisions on duplicate heading text — no uniqueness guard.
- Empty-slug case for punctuation- or emoji-only headings.
setActive(0)on load ignoreswindow.location.hash— wrong TOC highlight after deep-link.- IntersectionObserver topmost-heading logic uses change-set entries, not full-visible set.
currentPagecomparison breaks under sub-path hosting (GH Pages project pages).- Duplicate sidebar hrefs:
/chat-completionsand/aimock-clieach appear in two sections. - Heading
textContentconcatenated intoinnerHTML— XSS-unsafe if sections ever become data-driven. - TOC suppressed on pages with < 4 headings AND the id-assignment loop is skipped too → cross-page anchors to short pages silently break.
- Mobile sidebar doesn't close after nav link click.
onclick="document.querySelector('.sidebar').classList.toggle('open')"inline handler has no null guard.
- Quick Start imports
LLMockclass from@copilotkit/aimock— naming asymmetry unexplained. - Quick Start doesn't warn that
OPENAI_BASE_URLmust be set before SDK client construction. - Quick Start doesn't mention
OPENAI_API_KEYrequirement (OpenAI SDK needs a non-empty value even when base URL is mocked). - GitHub Action example hardcodes
:4010inOPENAI_BASE_URLwithout passing aport:input. - "Multimedia APIs" bullet links only to
/imagesdespite covering 4 features. - "MCP / A2A / AG-UI / Vector" bullet links only to
/mcp-mock. - Docker one-liner uses relative
-v ./fixtures:/fixtures(works on modern Docker but not universally portable).
- Provider Support Matrix "Response Overrides" row shows Azure=Yes; CHANGELOG 1.14.0 claims only "4 provider formats" — mild drift.
- Matrix "Ollama Reasoning" row shows
—despite CHANGELOG 1.8.0 adding Ollamathinktags. toolNamematch-field positional scope undocumented (last assistant tool_call? any in history?).endpointfield doesn't listsearch/rerank/moderationvalues (per CHANGELOG 1.7.0).onTranscription1-arg signature asymmetry (vs otheron*helpers) not explained inline.onToolResulthelper shown in example but not in Match Fields table.- Shadowing warning placeholders use
<value>/<N>in docs; real validator output insrc/fixture-loader.ts:538uses single-quoted value and bare index. finishReasonResponses-API mapping shown only forcontent_filter → failed;stop/tool_calls/lengthomitted.
buildFixtureMatchpseudocode at ~line 509 omits null-guard ongetLastMessageByRole(..., "user")— misleading vs real recorder behavior.- Example filename
openai-2025-01-15T10-30-00-000Z-0.jsonhas stale year. - Docker
-v ./fixtures:/fixturesrelative path (same as README item 7).
- v1.14.2 flipped
createServer()default from unbounded → 1000/500 at a PATCH bump; SemVer-wise should be MINOR, no BREAKING marker in the entry. - v1.14.2 CLI rejects negative
--journal-max=-1(previously silently unbounded) — silently breaking CLI change not called out. - v1.14.1 entry leaks internal "production Railway deployments" infra detail to the public CHANGELOG.
- Section headings mix Keep-a-Changelog (
### Added/Changed/Fixed) and Changesets (### Minor Changes/Patch Changes) conventions across versions.
repository.urlmissinggit+prefix and.gitsuffix (publint warnings).engines.node: ">=20.15.0"allows Node 20; OIDC publishing needs Node 24 — mismatch.@google/generative-ai@^0.24.0deprecated by Google in favor of@google/genai.typesVersionslacks.d.ctsentries — breaksmoduleResolution: node16/nodenextfor CJS subpath imports.- No
peerDependenciesdeclared for./vitest+./jestsubpath exports. files[]array doesn't includeCHANGELOG.md— consumers see no changelog in node_modules.prepare: "husky || true"silently swallows install errors; contributors can miss that hooks didn't install.releasescript has no pre-check for version/CHANGELOG/tag alignment beforenpm publish.- No
preinstall: "only-allow pnpm"guard — someone runningnpm installsilently produces wrong lockfile.
Shipped in PR #121 / #123 / #124 (all folded into the same branch):
- Provider count "11" → proper enumeration of 11 (OpenAI Chat/Responses/Realtime, Claude, Gemini/Live, Azure, Bedrock, Vertex AI, Ollama, Cohere); Vertex AI column added to Provider Support Matrix
- Docker examples: ENTRYPOINT mismatch (
npx @copilotkit/aimockprefix stripped), host-bind-h 0.0.0.0everywhere,--configDocker examples replaced with npx/local alternatives npx @copilotkit/aimock -f ...bin resolution: 22+ flag-driven invocations rewritten tonpx -p @copilotkit/aimock llmock ...across migration + integration + feature pages- Auth header forwarding docs rewritten to describe current strip-list behavior
- Matching semantics:
toolCallIdwording corrected,userMessagetransform-flip clarified, shadowing wording reconciled between fixtures and multi-turn class="cmt"CSS bug (21 occurrences across 6 pages) →class="cm"- Claude model-id migration completed in remaining test fixtures
- Migration-page quality sweep: Kotlin/Python fail-fast health checks, Go SDK (
go-openai), Rust SDK (async-openai), Pythonon_messagesignature, invalid JSON, MSW v2 WebSocket claim, Weaviate removal, helm probes, env-var cleanup, proc.wait timeout, subprocess.Popen deadlock,enableRecordingcleanup, GH Actions--rm/if: always(),/healthstandardization
- sidebar.js slug regex collapse — regex actually works
history.pushStatefile:// — modern browsers allow- Tool Call response type missing
reasoning?— intentionally absent persrc/types.ts predicaterow "programmatic only" — already present--stricttable/body disagree — actually agree persrc/server.ts:463