Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
8405c4a
ANAI-29: scaffold openfang-mcp-bridge crate (spike)
benhoverter May 5, 2026
32b77da
ANAI-30 step 1: daemon-side bridge IPC listener + wire protocol
benhoverter May 5, 2026
83c80a1
ANAI-30 step 2: wire bridge IPC dispatch to execute_tool
benhoverter May 5, 2026
4dfaf2f
ANAI-30 step 3: bridge-side RuntimeDispatcher (IPC client) + real too…
benhoverter May 5, 2026
6497443
ANAI-30 step 4: wire CC driver to spawn bridge via --mcp-config
benhoverter May 5, 2026
5d9edb2
ANAI-30 step 4 follow-up: gate bridge mcp-config on OPENFANG_BRIDGE_E…
benhoverter May 5, 2026
f02247a
ANAI-30 diagnostic: --debug + stderr tail logging when bridge wired
benhoverter May 5, 2026
da758ab
ANAI-30 cleanup: bridge IPC INFO logs + gate CC --debug behind env
benhoverter May 5, 2026
f1b99a7
fix(windows): cfg-gate MCP bridge to unix-only platforms
benhoverter May 9, 2026
4e60e7d
ANAI-31 phase A: BridgeAuthority + TokenIssuer scaffolding
benhoverter May 14, 2026
c922f98
ANAI-31 phase B: thread Arc<dyn TokenIssuer> into ClaudeCodeDriver
benhoverter May 14, 2026
7385e81
feat(kernel): thread Option<Arc<dyn TokenIssuer>> through create_driver
benhoverter May 14, 2026
792db90
feat(kernel): plumb bridge TokenIssuer through KernelHandle to agent …
benhoverter May 14, 2026
34e6708
feat(bridge): authenticate Hello via BridgeAuthority, bind AgentId pe…
benhoverter May 14, 2026
d73cd4d
feat(kernel): construct TokenIssuer before boot to harden autostart a…
benhoverter May 14, 2026
a2c7b78
feat(bridge): per-agent allowlist via CompletionRequest → OPENFANG_BR…
benhoverter May 14, 2026
3193c94
feat(bridge): expose agent_send tool
benhoverter May 14, 2026
ee7edd5
fix(bridge): sandbox filesystem tools to agent workspace
benhoverter May 15, 2026
34c63df
feat(bridge): execute-time per-agent permission gate
benhoverter May 15, 2026
908c39c
feat(bridge): expose file_write and web_fetch tools
benhoverter May 15, 2026
d804074
feat(bridge): expose agent_spawn, agent_kill, agent_activate, agent_find
benhoverter May 15, 2026
b367476
feat(bridge): expose memory_store and memory_recall tools
benhoverter May 15, 2026
b324daf
feat(driver): deny CC native FS/shell/web tools via per-spawn --settings
benhoverter May 15, 2026
9bd3e48
feat(bridge): expose shell_exec tool with workspace + exec_policy gating
benhoverter May 15, 2026
64078d0
feat(bridge): expose web_search tool
benhoverter May 15, 2026
904be9a
fix(bridge): advertise shell_exec and web_search on the MCP surface
benhoverter May 15, 2026
2a67030
feat(bridge): expose apply_patch tool with workspace sandbox
benhoverter May 15, 2026
ce1c971
feat(driver): expand CC_NATIVE_DENY to close deny-set audit gaps
benhoverter May 15, 2026
478ac5a
test(bridge): three-way drift-catcher for tool-surface correspondence
benhoverter May 15, 2026
e59cdaf
fix(bridge): strip trailing period from allowlist deny reason
benhoverter May 15, 2026
521391a
fix(security): unify FS_SANDBOXED_TOOLS gate; bridge create_directory
benhoverter May 19, 2026
48a7741
fix(security): pwsh -EncodedCommand decode + load-from-disk hard-deny…
benhoverter May 19, 2026
52e13ab
fix(security): wrapper-binary recursion + hard-deny for sysadmin/inte…
benhoverter May 19, 2026
8c74500
fix(security): HTTP /mcp exec_policy parity with bridge IPC (S3-01)
benhoverter May 19, 2026
f01700c
fix(security): refuse caller-supplied sender identity on HTTP message…
benhoverter May 19, 2026
b421318
fix(security): exclude privileged lifecycle tools from bridge default…
benhoverter May 19, 2026
421e5d9
fix(security): hard-deny sensitive OpenFang home paths in workspace s…
benhoverter May 19, 2026
1aec0bb
chore(deps): bump lettre 0.11.21 to 0.11.22 (RUSTSEC-2026-0141)
benhoverter May 19, 2026
b5258b7
style: cargo fmt + clippy fixes for CI
benhoverter May 19, 2026
2458280
chore(bridge): gate unix-only imports for windows clippy
benhoverter May 19, 2026
b6467a0
chore(github): add pre-PR checks section to PR template
benhoverter May 19, 2026
a29441a
chore(api): gate warn import for windows clippy
benhoverter May 19, 2026
a6f9870
chore(scripts): add check-windows.sh cross-compile helper
benhoverter May 19, 2026
02c2ded
fix(cc-driver): deny native Task, Skill, AskUserQuestion in CC_NATIVE…
benhoverter Jun 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,18 @@

<!-- Brief list of what changed. -->

## Pre-PR checks (run locally before opening)

Run the full gate locally before opening the PR — CI is strict and Windows clippy in particular catches things macOS/Linux clippy skips via `#[cfg]`.

- [ ] `cargo fmt --all --check`
- [ ] `cargo clippy --workspace --all-targets -- -D warnings`
- [ ] `cargo test --workspace`
- [ ] `cargo audit` (no new vulns; warnings reviewed)
- [ ] **Windows cross-check:** `scripts/check-windows.sh` (catches `#[cfg(unix)]`-gated import warnings that only fire on Windows CI). First run installs the `x86_64-pc-windows-gnu` rustup target; requires `mingw-w64` (macOS: `brew install mingw-w64`).

## Testing

- [ ] `cargo clippy --workspace --all-targets -- -D warnings` passes
- [ ] `cargo test --workspace` passes
- [ ] Live integration tested (if applicable)

## Security
Expand Down
92 changes: 74 additions & 18 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ members = [
"crates/openfang-desktop",
"crates/openfang-hands",
"crates/openfang-extensions",
"crates/openfang-mcp-bridge",
"xtask",
]

Expand Down
1 change: 1 addition & 0 deletions crates/openfang-api/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ openfang-skills = { path = "../openfang-skills" }
openfang-hands = { path = "../openfang-hands" }
openfang-extensions = { path = "../openfang-extensions" }
openfang-migrate = { path = "../openfang-migrate" }
openfang-mcp-bridge = { path = "../openfang-mcp-bridge" }
dashmap = { workspace = true }
tokio = { workspace = true }
serde = { workspace = true }
Expand Down
Loading
Loading