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: jsturtevant/copilot-codeact-plugin
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: fix/hyperlight-python-compat
Choose a base ref
...
head repository: jsturtevant/copilot-codeact-plugin
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.
  • 8 commits
  • 42 files changed
  • 1 contributor

Commits on Apr 24, 2026

  1. Merge pull request #1 from jsturtevant/fix/hyperlight-python-compat

    fix(hyperlight-codeact): pin version >=0.3.0 and handle Python 3.14+
    jsturtevant authored Apr 24, 2026
    Configuration menu
    Copy the full SHA
    e9d49be View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2026

  1. perf: sandbox improvements, perf test infrastructure, benchmarks

    Sandbox fixes (both monty + hyperlight):
    - glob() returns workspace-relative paths (was absolute — caused retries)
    - glob() supports brace expansion: {db,services}/**/*.py
    - web_fetch() strips HTML to text via html.parser, caps at 20K chars
    - uv run --quiet suppresses spinner that polluted tool results
    - mcp_call always listed in tool reference (was missing at install time)
    
    Skill documentation:
    - Return types documented (glob→list, view→string, bash→dict)
    - No os.path/os.walk — explicit prohibition
    - One program, one bash call rule
    - Backend-specific MCP syntax (monty: mcp_call(), hyperlight: call_tool)
    
    Perf test infrastructure:
    - Input token tracking from copilot process logs
    - Context bloat measurement (tool_result_bytes)
    - Cost estimation at GPT-5.4 pricing
    - Failed/timed-out runs marked SKIPPED (not fake 100% reduction)
    - Partial result capture (tool.execution_partial_result events)
    - compare_results.py updated with context + cost metrics
    
    13 benchmark prompts covering:
    - Cross-file analysis (config audit, test coverage, import maps)
    - MCP context bloat (same task with 0 vs 4 MCP servers)
    - Real-world tasks (docstring coverage, function index, env var audit)
    - Difficult cases that track where codeact still needs improvement
    
    README updated with benchmark results table.
    Unit tests for tool allow/deny configuration (14 tests).
    jsturtevant committed Apr 26, 2026
    Configuration menu
    Copy the full SHA
    1451b39 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    451f6e0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e2e0c5e View commit details
    Browse the repository at this point in the history
  4. security: fix critical and high findings from fleet review

    Critical fixes:
    - Path traversal: use os.sep in _check_workspace (prevents /workspace_evil bypass)
    - Env var leak: MCP bridge now uses allowlist (PATH,HOME,LANG,etc) not full os.environ
    - SSRF: web_fetch blocks non-http/https URLs; MCP bridge validates URL scheme
    - File size: _view() rejects files >50MB before reading
    - MCP response cap: _read_capped() limits to 10MB
    - SQLite leak: connections closed and dict cleared at start of each run
    - Silent exceptions: MCP config parse errors now logged to stderr
    
    High fixes:
    - curl: added --max-time 30 --max-redirs 5
    - web_fetch truncation: [truncated] marker already present (verified)
    
    Low fixes:
    - Removed unused itertools import in monty _glob
    - Fixed monty SKILL.md brace expansion docs (said fails, actually works)
    - Fixed hyperlight web_fetch description and added max_length param
    jsturtevant committed Apr 26, 2026
    Configuration menu
    Copy the full SHA
    8c6fada View commit details
    Browse the repository at this point in the history
  5. security: fix remaining review findings

    - SQL fetchall capped at 10K rows (both backends)
    - Template injection: base64-encode values before passing to Python heredoc
    - Process log extraction: retry loop + 20MB read cap
    - Glob brace expansion: already correctly capped at 200 after merge (verified)
    jsturtevant committed Apr 26, 2026
    Configuration menu
    Copy the full SHA
    7e303ad View commit details
    Browse the repository at this point in the history

Commits on May 1, 2026

  1. Add --raw output mode, glob auto-excludes, and output guidance

    - Add --raw flag to both monty and hyperlight codeact scripts for
      direct stdout/stderr output instead of JSON envelope
    - Add glob auto-exclude for common dirs (.venv, node_modules,
      __pycache__, .git, target, dist, build) with exclude_dirs param
    - Raise glob cap from 200 to 10000 with truncation warning
    - Add output minimization guidance to instructions template
    - Add glob auto-exclude documentation to instructions
    jsturtevant committed May 1, 2026
    Configuration menu
    Copy the full SHA
    bc71cc9 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #3 from jsturtevant/codeact-local-updates

    Add --raw output mode, glob auto-excludes, and output guidance
    jsturtevant authored May 1, 2026
    Configuration menu
    Copy the full SHA
    8294618 View commit details
    Browse the repository at this point in the history
Loading