Commit Graph

  • ad00e49262 Merge pull request #130: smoke _resultId regex main michal 2026-09-05 17:04:09 +00:00
  • 22d8e13390 fix(smoke): match the _resultId format the pipeline actually emits fix/smoke-resultid-regex Michal 2026-09-05 18:03:56 +01:00
  • b5d0234d0b Merge pull request #129: drill-down required params michal 2026-09-05 16:59:46 +00:00
  • 0e12637271 fix(mcplocal): stop upstream required params from blocking a drill-down fix/drilldown-required-params Michal 2026-09-05 17:58:57 +01:00
  • 33d7007af5 Merge pull request #128: learn sampling-param rejection michal 2026-08-25 23:12:08 +00:00
  • bc7eb5a0ad fix(mcplocal): learn which models reject sampling params, don't hardcode them deploy/bounded-failures Michal 2026-08-26 00:11:50 +01:00
  • cd20d8b980 Merge pull request #127: bounded, legible MCP failures michal 2026-08-25 23:03:50 +00:00
  • 47d7c779d0 feat: per-server tool-call timeout, on the server resource fix/bounded-mcp-failures Michal 2026-08-26 00:03:06 +01:00
  • 08b451b7aa feat(mcplocal): Anthropic models auto-follow the newest in their family Michal 2026-08-25 23:55:44 +01:00
  • 14eb2623bc fix(cli): trace's 'slowest' names a step, not the aggregate Michal 2026-08-25 23:48:07 +01:00
  • 89db09a12d feat(cli): mcpctl trace <code>, and bound the table it reads Michal 2026-08-25 23:44:36 +01:00
  • b6e270ee48 feat(mcplocal): every request answers, even when the pipeline wedges Michal 2026-08-25 23:41:09 +01:00
  • 0eca4148e3 fix(mcplocal): recreate a stale session instead of 404ing outside the envelope Michal 2026-08-25 23:36:27 +01:00
  • c06c34f0a2 feat(mcplocal): a trace code that actually reaches the audit trail Michal 2026-08-25 23:32:10 +01:00
  • c2a419b4f7 fix(mcplocal): one LLM budget per stage, so a loop cannot multiply it Michal 2026-08-25 23:29:45 +01:00
  • 2c90f5971d fix(mcplocal): no LLM call can hang a tool call forever Michal 2026-08-25 23:23:16 +01:00
  • a87c4faf21 Merge pull request 'test(mcplocal): smoke asserts the wire-form tool-name contract' (#126) from test/wire-safe-smoke into main michal 2026-08-25 21:06:29 +00:00
  • b4ad95ca66 test(mcplocal): smoke asserts the wire-form tool-name contract test/wire-safe-smoke Michal 2026-08-25 22:06:18 +01:00
  • bbd31883e8 Merge pull request 'fix(mcplocal): wire-form tool names in gate and favourite-index prose' (#125) from fix/wire-safe-prose into main michal 2026-08-25 20:59:00 +00:00
  • c014fcdd82 fix(mcplocal): name tools in wire form in gate and favourite-index prose fix/wire-safe-prose Michal 2026-08-25 21:58:52 +01:00
  • 7fbb827aa5 Merge pull request 'fix(mcplocal): serve OpenAI-safe tool names on the wire' (#124) from fix/wire-safe-tool-names into main michal 2026-08-25 19:23:19 +00:00
  • eb0e97e76e test(mcplocal): end-to-end wire-name coverage on the project endpoint fix/wire-safe-tool-names Michal 2026-08-25 20:23:09 +01:00
  • 065ce02a60 fix(mcplocal): serve OpenAI-safe tool names on the wire Michal 2026-08-25 20:17:33 +01:00
  • 9c5d0d1861 Merge pull request 'fix(gitea): pin rebuilt image by digest, match upstream CMD form' (#123) from fix/gitea-mcp-digest-pin into main michal 2026-08-21 16:07:31 +00:00
  • c16d7964c9 fix(gitea): pin the rebuilt image by digest and match upstream's CMD form fix/gitea-mcp-digest-pin Michal 2026-08-21 17:07:23 +01:00
  • 7716e424f9 Merge pull request 'feat(gitea): rebuild gitea-mcp on a shell-bearing base' (#122) from feat/gitea-mcp-shell-base into main michal 2026-08-21 10:16:28 +00:00
  • f097c0f4d5 feat(gitea): rebuild gitea-mcp on a shell-bearing base feat/gitea-mcp-shell-base Michal 2026-08-21 11:16:23 +01:00
  • c79bdab51b Merge pull request 'fix(secrets): wrap an image server's own command, not just entrypoint' (#121) from fix/injector-image-server-argv into main michal 2026-08-21 10:14:42 +00:00
  • 913c0fbdc6 fix(secrets): wrap an image server's own command, not just entrypoint fix/injector-image-server-argv Michal 2026-08-21 11:14:39 +01:00
  • beb57baf58 Merge pull request 'fix(secrets): injector-delivered servers must attach, not exec' (#120) from feat/injector-attach-mode into main michal 2026-08-21 01:05:53 +00:00
  • 0a83f71648 fix(secrets): injector-delivered servers must attach, not exec feat/injector-attach-mode Michal 2026-08-21 02:05:51 +01:00
  • f25616f720 Merge pull request 'fix(secrets): injector wrapper must replace the entrypoint' (#119) from fix/injector-entrypoint into main michal 2026-08-21 00:28:33 +00:00
  • ec35e1cc36 fix(secrets): the injector wrapper must replace the entrypoint, not extend it fix/injector-entrypoint Michal 2026-08-21 01:28:21 +01:00
  • 13421008c7 Merge pull request 'fix(servers): persist secretDelivery and entrypoint' (#118) from fix/server-repo-field-mapping into main michal 2026-08-20 22:41:12 +00:00
  • ef9ba6fb8d fix(servers): persist secretDelivery and entrypoint fix/server-repo-field-mapping Michal 2026-08-20 23:40:59 +01:00
  • fef26a9f81 Merge pull request 'feat(secrets): opt-in injected secret delivery, scoped per server' (#117) from feat/per-server-identity-tests into main michal 2026-08-20 22:33:56 +00:00
  • 0793285105 chore: ignore .claude/worktrees feat/per-server-identity-tests Michal 2026-08-20 23:33:26 +01:00
  • 370fd0a034 feat(secrets): opt-in injected secret delivery, scoped per server Michal 2026-08-20 23:33:13 +01:00
  • f8427959e5 test(secrets): cover per-server identity containment Michal 2026-08-20 23:13:49 +01:00
  • 85e53e8d1e Merge pull request 'fix(secrets): list via GET ?list=true — the LIST verb dies at the proxy' (#116) from fix/openbao-list-verb into main michal 2026-08-20 22:03:40 +00:00
  • 7b5136491f fix(secrets): list via GET ?list=true — the LIST verb dies at the proxy fix/openbao-list-verb Michal 2026-08-20 22:54:42 +01:00
  • eb3e558a44 Merge pull request 'feat(secrets): survive OpenBao outages and report real backend health' (#115) from feat/openbao-resilience into main michal 2026-08-20 21:37:57 +00:00
  • 545e7745da test(secrets): cover the rotator loop's boot-time dead-token detection feat/openbao-resilience Michal 2026-08-20 22:17:24 +01:00
  • fe9987cefd test(secrets): smoke-cover backend health honesty + cache correctness Michal 2026-08-20 22:16:04 +01:00
  • 0fbfc72d68 feat(secrets): report real backend health instead of a hard-coded tick Michal 2026-08-20 22:14:12 +01:00
  • bd3e1134c9 feat(secrets): survive OpenBao outages instead of cascading them Michal 2026-08-20 22:08:10 +01:00
  • 5fb1154190 Merge remote-tracking branch 'origin/main' into fix/stdio-restart-recovery fix/stdio-restart-recovery Michal 2026-08-15 23:32:46 +01:00
  • b022f322f0 fix(mcpd): recover k8s STDIO instances after in-place container restarts Michal 2026-08-15 23:32:23 +01:00
  • c66502e590 fix(mcplocal): fetch project instructions with the caller's token (#113) hotfix/toolcall-timeout Michal 2026-08-15 21:43:00 +01:00
  • 740ce31469 fix(mcplocal): give proxied tools/call a 120s budget, not the 30s default Michal 2026-08-15 21:43:00 +01:00
  • b6983f036d merge: stop the deploy script running smoke twice (#112) michal 2026-08-14 22:45:30 +00:00
  • 21aadf6d82 fix(deploy): stop running the smoke suite twice and crying wolf fix/deploy-double-smoke Michal 2026-08-14 23:45:16 +01:00
  • 35d506df77 merge: paginated-result contract usable by any MCP client (#111) michal 2026-08-14 22:28:00 +00:00
  • 03350856ea fix(mcplocal): make the paginated-result contract usable by any MCP client fix/paginator-drilldown-contract Michal 2026-08-14 23:27:36 +01:00
  • 8c359902c7 Merge 'feat(servers): persistent volumes + self-hosted web search and docs templates' into main Michal 2026-08-12 23:12:05 +01:00
  • 8a31121e30 Merge remote-tracking branch 'origin/main' into feat/web-search-templates Michal 2026-08-12 23:11:54 +01:00
  • db38de7e09 Merge pull request 'fix(cli): don't brick the chat REPL when the first turn fails upstream' (#110) from fix/chat-repl-thread-brick into main michal 2026-08-10 21:55:10 +00:00
  • ac5dee906e fix(cli): don't brick the chat REPL when the first turn fails upstream fix/chat-repl-thread-brick Michal 2026-08-10 22:54:53 +01:00
  • d4c33baf03 Merge pull request 'fix(mcplocal): stream chat SSE through the proxy instead of buffering it' (#109) from fix/chat-sse-streaming into main michal 2026-08-10 21:28:00 +00:00
  • bbd2195c64 test(mcplocal): prove chat SSE streams live through the proxy, not buffered fix/chat-sse-streaming Michal 2026-08-10 22:27:21 +01:00
  • 5a8185d7c9 fix(mcplocal): stop the 30s proxy timeout killing agent turns Michal 2026-08-08 11:35:16 +01:00
  • ae5a6203f8 Merge PR #108: fail the release when smoke tests fail michal 2026-08-10 16:16:05 +00:00
  • 822c1bb047 build: fail the release when smoke tests fail, and fix the SSE test that hung Michal 2026-08-10 17:15:40 +01:00
  • cd94e855aa Merge PR #107: smoke-aws-docs readiness probe michal 2026-08-10 16:00:08 +00:00
  • b8cedd6262 test(smoke): give the smoke-aws-docs fixture a readiness probe Michal 2026-08-10 16:59:41 +01:00
  • 13f1ff28eb Merge PR #106: statusline project resolution + stale-build gate michal 2026-08-10 15:52:50 +00:00
  • 96e27c8716 build: extend the main-sync gate to the image build and the k8s deploy Michal 2026-08-10 16:41:26 +01:00
  • dd29f98f82 build: refuse to package from a branch that is behind main Michal 2026-08-10 16:38:19 +01:00
  • b07287baf2 fix(k8s): set fsGroup on pods with volumes Michal 2026-08-10 12:31:31 +01:00
  • bb4b0b910f fix(k8s): read ApiException.code when classifying client-node errors Michal 2026-08-10 12:20:56 +01:00
  • 2a7bba11ea fix(claude): stop pre-migration .mcp.json residue outranking a project switch Michal 2026-08-10 12:15:46 +01:00
  • 2b87cfdbf1 Merge pull request 'fix(pi-ext): stop importing @earendil-works/pi-ai at runtime' (#105) from fix/pi-ext-module-resolution into main michal 2026-08-09 23:15:30 +00:00
  • be7fabd467 fix(pi-ext): stop importing @earendil-works/pi-ai at runtime fix/pi-ext-module-resolution Michal 2026-08-10 00:15:04 +01:00
  • e4e2e063f1 Merge 'fix(health): a passing tools/list is live, not healthy' into main michal 2026-08-09 23:01:01 +00:00
  • a158e49ec2 fix(templates): make the shipped templates match reality worktree-fix-healthcheck-unifi Michal 2026-08-09 23:53:22 +01:00
  • 732ca98ccc docs(reliability): record the three shapes a failing readiness probe takes Michal 2026-08-09 22:54:33 +01:00
  • b2547429ca fix(health): a passing tools/list is live, not healthy Michal 2026-08-09 21:23:33 +01:00
  • ff0e71da05 Merge 'fix(opencode): guard state parsing, lint the .tsx, correct an overstated doc claim' into main Michal 2026-08-09 20:47:45 +01:00
  • cbd3b95d97 fix(opencode): guard state parsing, lint the .tsx, correct an overstated doc claim Michal 2026-08-09 20:47:45 +01:00
  • a7094c01c6 Merge 'fix(install): rebuild when any packaged input changes' into main Michal 2026-08-09 20:07:55 +01:00
  • 292506ec98 fix(install): rebuild when any packaged input changes, not just src/*.ts Michal 2026-08-09 20:07:55 +01:00
  • c79477d7fe Merge 'feat(claude-vllm): own config file instead of reading opencode's' into main Michal 2026-08-09 20:07:07 +01:00
  • 80fa8a3c7e feat(claude-vllm): own config file instead of reading opencode's Michal 2026-08-09 20:07:07 +01:00
  • 888b72b26c Merge 'feat(claude): register the MCP server in user scope by default' into main Michal 2026-08-09 19:59:48 +01:00
  • b7c0de2bf0 feat(claude): register the MCP server in user scope by default Michal 2026-08-09 19:59:48 +01:00
  • 834aa704ed Merge pull request 'feat: bring claude, pi and prime-agent to the opencode standard (+ claude-vllm)' (#101) from feat/agent-parity into main Michal 2026-08-09 19:48:49 +01:00
  • a9fcd83ed8 refactor(prime-agent): extract the /mcpctl switcher to typechecked source; pi --dry-run; docs feat/agent-parity Michal 2026-08-09 19:20:36 +01:00
  • b3a062ce28 feat(claude): active-project status line + /mcpctl switcher, and stop tests writing to ~/.claude Michal 2026-08-09 19:06:06 +01:00
  • d7055a0953 fix(claude): one constant mcpctl MCP entry instead of one per project Michal 2026-08-09 18:51:31 +01:00
  • c5ea39e959 feat(claude): claude-vllm — run Claude Code against the homelab LLM gateway Michal 2026-08-09 18:39:36 +01:00
  • a1f22f46ef Merge 'feat(opencode): native opencode integration — /mcpctl switcher, live project switching, footer indicator' into main Michal 2026-08-09 18:24:32 +01:00
  • b0233918ff feat(servers): persistent volumes + self-hosted web search and docs templates Michal 2026-08-09 18:17:32 +01:00
  • 99f881dd67 feat(opencode): leader keybind, explicit unmount on switch, non-wrapping indicator feat/opencode-extension Michal 2026-08-09 18:02:52 +01:00
  • 2022e584d1 feat(opencode): native opencode addon — /mcpctl switcher, live project switching, footer indicator feat/opencode-mine Michal 2026-08-09 00:54:51 +01:00
  • 9448c117df feat(opencode): add opencode integration — /mcpctl switcher + footer indicator opencodeeepseek Michal 2026-08-08 22:45:38 +01:00
  • 0a02616c7f feat(opencode): add mcpctl config opencode + /mcpctl TUI switcher with bottom project indicator feat/opencode-extension-mcpctl Michal 2026-08-08 21:23:12 +01:00
  • 9aea1189bd feat(opencode): native opencode addon — bottom-row project indicator + in-TUI switcher feat/opencode-extension-abhishek Michal 2026-08-08 21:48:14 +01:00
  • be2a5cb189 feat(opencode): native opencode integration — /mcpctl switcher, live project switching, footer indicator Michal 2026-08-08 21:03:53 +01:00
  • 2513da33c3 Merge pull request 'feat(pi): native pi integration — extension, config pi, skills sync --agent pi' (#96) from feat/pi-extension into main Michal 2026-08-08 20:16:48 +01:00
  • a8a1045824 Merge 'fix(smoke): actually clean up smoke-test resources' into feat/pi-extension feat/pi-extension Michal 2026-08-08 20:16:21 +01:00