e02506b688
docs: document rebase-before-merge protection ( #1253 )
2026-04-15 21:24:02 -04:00
c4201ae27d
feat: codify rebase-before-merge protection ( #1253 )
2026-04-15 21:24:02 -04:00
2d73c816d5
feat: codify rebase-before-merge protection ( #1253 )
2026-04-15 21:24:02 -04:00
3c367f1ca7
wip: add rebase-before-merge protection tests
2026-04-15 21:24:02 -04:00
Alexander Whitestone
eb50b39c0f
docs: add night shift prediction report ( #1353 )
2026-04-15 21:24:02 -04:00
de82be0621
fix: add branch existence check before Gitea API file operations ( #1441 ) ( #1487 )
...
Merge PR #1487
2026-04-15 21:24:02 -04:00
fc117f6e7c
fix: port 8080 conflict between L402 server and preview ( #1415 ) ( #1431 )
...
Merge PR #1431
2026-04-15 21:24:02 -04:00
eafe213c66
feat: cross-session agent memory via MemPalace ( #1477 )
...
Merge PR #1477
2026-04-15 21:24:02 -04:00
e7f6655a10
fix: add portals.json validation tests ( #1489 )
...
Merge PR #1489
2026-04-15 21:24:02 -04:00
675e352351
feat: implement Issue #1127 triage recommendations ( #1403 )
...
Merge PR #1403
2026-04-15 21:24:02 -04:00
01339952fe
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
c3fc2e4c29
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
2c8844a478
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
1cadc33882
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
4e2a353ba3
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
c3d0400918
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
1fb98ff769
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
a3570df3b2
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
a62d39470f
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
4fb292ca43
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
4b0e375697
[claude] Close duplicate PRs for issue #1128 ( #1449 ) ( #1466 )
2026-04-15 21:24:01 -04:00
Alexander Whitestone
17be3c8804
feat: Add forge cleanup tools and documentation ( #1128 )
...
## Summary
Implements forge cleanup tools and documentation as requested in issue #1128 .
## Changes
- scripts/cleanup-duplicate-prs.sh: Automated duplicate PR detection
- docs/forge-cleanup-analysis.md: Analysis of duplicate PRs
- docs/forge-cleanup-report.md: Cleanup report with metrics
- .github/workflows/pr-duplicate-check.yml: Weekly automated checks
Issue: #1128
2026-04-15 21:24:01 -04:00
6bbd1c2baf
[claude] Close duplicate PRs for issue #1338 ( #1451 ) ( #1464 )
2026-04-15 21:24:01 -04:00
604f73a1b8
[claude] Close duplicate PRs for issue #1339 ( #1450 ) ( #1465 )
2026-04-15 21:24:01 -04:00
825a2c8a94
[claude] Close duplicate PRs for issue #1336 ( #1452 ) ( #1456 )
2026-04-15 21:24:01 -04:00
Alexander Whitestone
b2f4bd0448
fix: Remove duplicate content blocks from README.md and POLICY.md ( #1338 )
...
This commit fixes issue #1338 by removing duplicate content blocks that
were appearing 3-4 times on the page.
Changes:
1. README.md:
- Removed duplicate "Branch Protection & Review Policy" section (lines 121-134)
- Removed duplicate "Running Locally" section (lines 149-167)
- Kept the detailed "Branch Protection & Review Policy" section at the top
- Kept the first "Running Locally" section with all content
2. POLICY.md:
- Consolidated duplicate content into single cohesive policy
- Merged two "Branch Protection Rules" sections
- Merged two "Default Reviewer" sections
- Merged two "Acceptance Criteria" sections
- Added "Enforcement" and "Notes" sections from second half
The duplicate content was likely caused by a bad merge or template duplication.
This cleanup ensures each section appears only once while preserving all content.
Closes #1338
2026-04-15 21:24:01 -04:00
40502cf91c
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
2c2181cbaf
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
3cb45008f6
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
7d475151ea
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
181d4ce933
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
ecbd104d03
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
6e3ea2637c
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
779a65cd83
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
bc48abd970
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
a3f1688cb7
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
a80d749f69
[claude] Add .gitattributes export-ignore + large-repo clone docs ( #1428 ) ( #1433 )
2026-04-15 21:24:01 -04:00
e7ab9fbe17
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
c61c8bb030
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
8fd5d57864
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
3b5c62fa76
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
a4f76705df
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
dc74a84192
feat: standardize llama.cpp backend ( #1123 )
2026-04-15 21:24:01 -04:00
48f85da0c0
feat: standardize llama.cpp backend ( #1123 )
2026-04-15 21:24:01 -04:00
a0443a7003
feat: standardize llama.cpp backend ( #1123 )
2026-04-15 21:24:01 -04:00
428a9da3bd
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
3361100830
feat: standardize llama.cpp backend for sovereign local inference ( #1123 )
2026-04-15 21:24:01 -04:00
Alexander Whitestone
6da8d627b6
fix: ChatLog.log() crash — CHATLOG_FILE defined after use ( #1349 )
...
Move configuration block (WORLD_DIR, CHATLOG_FILE, etc.) before the
ChatLog class definition. Previously CHATLOG_FILE was defined at line ~254
but used at line ~200 inside ChatLog.log(), causing NameError on every
chat message persistence attempt.
Fixes #1349 .
2026-04-15 21:24:01 -04:00
Alexander Whitestone
ec2a427a7a
feat: implement A2A protocol for fleet-wizard delegation ( #1122 )
...
Implements Google Agent2Agent Protocol v1.0 with full fleet integration:
## Phase 1 - Agent Card & Discovery
- Agent Card types with JSON serialization (camelCase, Part discrimination by key)
- Card generation from YAML config (~/.hermes/agent_card.yaml)
- Fleet registry with LocalFileRegistry + GiteaRegistry backends
- Discovery by skill ID or tag
## Phase 2 - Task Delegation
- Async A2A client with JSON-RPC SendMessage/GetTask/ListTasks/CancelTask
- FastAPI server with pluggable task handlers (skill-routed)
- CLI tool (bin/a2a_delegate.py) for fleet delegation
- Broadcast to multiple agents in parallel
## Phase 3 - Security & Reliability
- Bearer token + API key auth (configurable per agent)
- Retry logic (max 3 retries, 30s timeout)
- Audit logging for all inter-agent requests
- Error handling per A2A spec (-32001 to -32009 codes)
## Test Coverage
- 37 tests covering types, card building, registry, server integration
- Auth (required + success), handler routing, error handling
Files:
- nexus/a2a/ (types.py, card.py, client.py, server.py, registry.py)
- bin/a2a_delegate.py (CLI)
- config/ (agent_card.example.yaml, fleet_agents.json)
- docs/A2A_PROTOCOL.md
- tests/test_a2a.py (37 tests, all passing)
2026-04-15 21:24:01 -04:00
Timmy
d19f62476c
fix( #1356 ): ThreadingHTTPServer for multi-user bridge concurrency
...
Replace single-threaded HTTPServer with ThreadingHTTPServer
(thread-per-request) in both multi_user_bridge.py copies.
Fixes #1356
2026-04-15 21:24:01 -04:00