Home

mweinbach / agent-coworker

publicmweinbach/agent-coworker
Overview Code History Branches Pull requestsIssuesInsights
main
HomeOverview Code PRsIssues

perf: optimize startup control bootstrap and package footprint (#64)

7 months ago

b4ed93e
Authored
Max Weinbach3/30/2026, 4:22:00 AM
* perf: optimize startup control bootstrap and package footprint

Combine the kept packaging, startup-lazification, control-session fast-path, runtime schema split, and prompt-template dedupe work into one reviewable branch. The kept changes overlap across package.json, startup/session modules, prompt loading, and prompt-template assets, so they need to land together from merge-base.

Experiments: #2, #3, #12, #13, #15, #17, #19, #23, #25, #27, #28, #30, #32, #33, #34, #35, #38, #39, #42, #44, #45, #46, #48, #49, #50, #52, #53

Metric: control_bootstrap_pack_score 3987.2 → 2277.6 (-42.9%)

Secondary highlights: packed_kb 3635.0 → 2194.5, server_ready_ms 337.9 → 68.3, control_bootstrap_ms 343.0 → 71.0

* fix: preserve discovered skills for child sessions

Made-with: Cursor

* test: fix stream pipeline session fixture

Made-with: Cursor

* fix: preserve prompt readiness with zero skills

Track whether session prompt metadata has been loaded so empty skill catalogs do not trigger prompt reloads on every turn. Also harden the package manifest test under Bun and cover the missing-metadata backfill path.

Made-with: Cursor

Parent2e420a8

38 files changed
  • README.md+14−14
  • config/models/anthropic/claude-haiku-4-5.json+1−1
  • config/models/anthropic/claude-opus-4-6.json+1−1
  • config/models/codex-cli/gpt-5.4-mini.json+1−1
  • config/models/codex-cli/gpt-5.4.json+1−1
  • config/models/openai/gpt-5.4-mini.json+1−1
  • config/models/openai/gpt-5.4.json+1−1
  • docs/generated/websocket-jsonrpc.d.ts
+1
−1
  • docs/generated/websocket-jsonrpc.schema.json+1−16634
  • package.json+30−1
  • prompts/system-models/claude-haiku-4-5.json+21−0
  • prompts/system-models/claude-haiku-4-5.md+0−588
  • prompts/system-models/claude-opus-4-6.json+9−0
  • prompts/system-models/claude-opus-4-6.md+0−567
  • prompts/system-models/gpt-5.4.json+21−0
  • prompts/system-models/gpt-5.4.md+0−755
  • scripts/build_cowork_server_binary.ts+27−9
  • scripts/postinstall.ts+35−0
  • src/index.ts+5−2
  • src/prompt.ts+82−1
  • src/providers/providerOptions.ts+9−6
  • src/server/index.ts+6−2
  • src/server/jsonrpc/codegen.ts+1−1
  • src/server/jsonrpc/routes/session.ts+2−4
  • src/server/jsonrpc/routes/types.ts+1−0
  • src/server/jsonrpc/schema.session.ts+12−16
  • src/server/jsonrpc/schema.sessionRuntime.ts+146−0
  • src/server/session/AgentSession.ts+245−141
  • src/server/session/SessionContext.ts+1−0
  • src/server/session/SessionMetadataManager.ts+1−0
  • src/server/session/SessionRuntimeSupport.ts+3−2
  • src/server/sessionTitleService.ts+25−9
  • src/server/startServer.ts+222−84
  • test/package-manifest.test.ts+95−0
  • test/prompt.test.ts+63−24
  • test/server.jsonrpc.flow.test.ts+33−0
  • test/session.stream-pipeline.test.ts+1−0
  • test/session.test.ts+49−0