Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: BeehiveInnovations/pal-mcp-server
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: InitialForce/pal-mcp-server
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 5 commits
  • 29 files changed
  • 2 contributors

Commits on Feb 18, 2026

  1. style: reformat test files with black 26.1.0

    Pre-existing files that needed reformatting to satisfy the CI black check
    after upgrading to black 26.1.0.
    
    Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
    oysteinkrog and claude committed Feb 18, 2026
    Configuration menu
    Copy the full SHA
    e761926 View commit details
    Browse the repository at this point in the history
  2. fix(concurrency): isolate per-session state for concurrent agent safety

    Fixes #395. All workflow tools share a single singleton instance in
    server.py. When multiple agents call the same tool concurrently, they
    race on shared self.* mutable state at asyncio await yield points.
    
    Changes:
    - workflow_mixin.py: add asyncio.Lock per tool instance; split
      execute_workflow into _execute_workflow_locked so subclasses can
      call the locked body without re-acquiring the lock
    - consensus.py: add _sessions dict keyed by continuation_id to isolate
      original_proposal, models_to_consult, accumulated_responses per caller;
      restore work_history/consolidated_findings from conversation memory on
      continuation steps (base class logic that the custom consensus loop
      bypassed); fix off-by-one in customize_workflow_response status
      condition (step_number < total_steps, not < total_steps - 1)
    - all other workflow tools (analyze, codereview, planner, precommit,
      refactor, secaudit, testgen, tracer): update store_initial_issue call
      signature to match updated base class
    oysteinkrog committed Feb 18, 2026
    Configuration menu
    Copy the full SHA
    86ea859 View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2026

  1. feat(transport): add SSE transport support

    Allow the MCP server to run over HTTP using SSE transport in addition
    to the default stdio. Controlled via MCP_TRANSPORT, MCP_HOST, and
    MCP_PORT environment variables.
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    oysteinkrog and claude committed Feb 19, 2026
    Configuration menu
    Copy the full SHA
    8bc1759 View commit details
    Browse the repository at this point in the history
  2. feat(models): add Gemini 3.1 Pro Preview support

    Add gemini-3.1-pro-preview (released 2025-02-19) with intelligence
    score 19, 1M context, 65K output, extended thinking, and full
    capability support. The "pro" alias now points to 3.1.
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    oysteinkrog and claude committed Feb 19, 2026
    Configuration menu
    Copy the full SHA
    ffa6f58 View commit details
    Browse the repository at this point in the history
  3. fix(concurrency): add asyncio.Lock to SimpleTool for SSE safety

    SimpleTool subclasses (chat, clink, apilookup, challenge) are
    singletons that store per-call state on self during execute(). Under
    concurrent SSE connections, two sessions could clobber each other's
    _current_arguments, _model_context, and _current_model_name.
    
    Add _concurrency_lock (asyncio.Lock) matching the pattern already
    used by WorkflowMixin, serialising concurrent calls to the same tool.
    
    Also add a port-availability check in _run_sse() so the server fails
    fast with a clear error if a stale process holds the SSE port.
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    oysteinkrog and claude committed Feb 19, 2026
    Configuration menu
    Copy the full SHA
    de82dd6 View commit details
    Browse the repository at this point in the history
Loading