Skip to content

Update documentation and add CodeQL analysis configuration#5

Closed
brandwe wants to merge 15 commits into
mainfrom
dev
Closed

Update documentation and add CodeQL analysis configuration#5
brandwe wants to merge 15 commits into
mainfrom
dev

Conversation

@brandwe
Copy link
Copy Markdown
Member

@brandwe brandwe commented May 27, 2026

This pull request makes several important improvements across documentation, test reliability, and workflow automation. The main themes are: updating URLs to point to the correct canonical repository and documentation site, clarifying the project's research/prototype status, improving test assertions for reliability, and adding a CodeQL workflow for advanced code scanning.

Documentation and URL Updates:

  • Updated all references from the old repository and documentation URLs (e.g., https://github.com/microsoft/Entraclaw and https://legendary-adventure-k5npoz7.pages.github.io/) to their canonical forms (https://github.com/microsoft/entraclaw and https://microsoft.github.io/entraclaw/) across README.md, CHANGELOG.md, docs/, and manifest files. [1] [2] [3] [4] [5] [6] [7] [8]

  • Clarified in README.md that Entraclaw is a research project/prototype, added a disclaimer, and included contribution guidelines, links to the Microsoft CLA, Code of Conduct, and other relevant legal/policy documents. [1] [2]

Test and Code Quality Improvements:

  • Improved test reliability and clarity in tests/tools/test_teams.py by using urllib.parse.parse_qs for parsing URL-encoded form data, and making test assertions stricter and more explicit. [1] [2] [3] [4]
  • Refined log assertion logic in tests/test_mcp_server_integration.py to check for specific log message structure and arguments.
  • Made test assertions for Teams license warnings more precise in tests/test_preflight.py.

Workflow and Automation:

  • Added a new .github/workflows/codeql.yml workflow for advanced CodeQL code scanning on main and dev branches, including scheduled weekly scans.
  • Added explicit permissions to test-windows.yml workflow for improved security.

Other Notable Changes:

  • Simplified error handling and output in scripts/entra_provisioning.py and docs/reference/agent-foundry-entra-provisioning.py for better clarity and maintainability. [1] [2] [3]
  • Improved error message consistency in the bot server response.

These changes improve the clarity, maintainability, and security posture of the project, while making documentation and contribution guidelines more accessible.

brandwe and others added 10 commits May 26, 2026 15:16
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add CodeQL analysis workflow configuration
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-advanced-security
Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

evanclan and others added 5 commits May 27, 2026 14:56
Graph's receivedDateTime gt filter can re-deliver messages at the cursor's
exact second after a server restart when per-session dedup is lost. Bump the
watermark by 1 ms after each poll batch and isolate email poll tests from
blob env leakage.
…odies

The 60-second email-poll channel push truncates the body preview of
inbound mail. Long forwards (recipient lists, threaded replies,
attached metadata) get cut off mid-content, so the agent can't read
past the cut even when the message_id is right there in the push.

Adds `read_email(message_id, mailbox="")` which calls Graph
`GET /me/messages/{message_id}` (or `/users/{mailbox}/messages/{id}`
for shared mailboxes) with `$select` covering body (text + HTML), all
recipient lists, sender, subject, internetMessageHeaders, and
hasAttachments. Reuses the same Agent User token chain + `Mail.Read`
scope as `email_poll`. Errors mirror `send_email`: 401 →
TokenExpiredError (auto-refresh + retry); 404/403/5xx → clean
{"error", "status", "message_id"} dict; bearer token never echoed.

+7 tests (happy path + verbatim long body + shared mailbox + 401/404/500
+ no-token-leak).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
feat(tools): add read_email MCP tool for fetching full inbound mail bodies
Homebrew-based prerequisite installer for macOS, mirroring
prereqs-windows.ps1. Installs Xcode CLT, Python 3.12+, git, Azure CLI
by default; .NET SDK + a365 CLI + PowerShell 7 are on by default with
--skip-a365, --skip-pwsh, --core-only opt-outs. Idempotent. Prints
a per-tool already/installed/failed summary at the end.

setup.sh's prereq-missing error now points macOS users at the script
(or the manual `brew install python@3.12 git azure-cli` line).

Includes fixes from real install failures: PowerShell on macOS is the
`powershell` formula in homebrew-core (the cask was retired), and the
.NET SDK is the `dotnet` formula (not the `dotnet-sdk` cask) since the
powershell formula depends on dotnet (formula).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Documents how to launch the entraclaw stdio MCP server from different
host CLIs and the inbound-message delivery model that differs between
them — channel push (Claude Code) vs auto-blocking send_teams_message
(Copilot CLI, Codex, Cursor).

- README "Launching the agent" section with the
  `--dangerously-load-development-channels server:entraclaw` invocation
  and a callout that the double-dash matters (Learning #44).
- quickstart.md expanded "Launching the Agent" section with the same
  content plus the dog-ASCII heartbeat preview shown by hosts that
  block on a Teams reply.
- TODOS P0 entry tracking the persona-sati OAuth /authorize + /token
  PKCE gap that blocks SSE-native auth on Claude Code v2.1.152; the
  current workaround uses persona-sati's stdio shim. Fix lives in
  persona-sati, not here.
@brandwe
Copy link
Copy Markdown
Member Author

brandwe commented May 29, 2026

Superseded by entraclaw→entrabot rename merged directly to main (commit 8c2783c). All 15 dev commits included.

@brandwe brandwe closed this May 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants