Skip to content

Claude/hermes rolodex a2a skrut#12904

Closed
executiveusa wants to merge 4 commits into
NousResearch:mainfrom
executiveusa:claude/hermes-rolodex-a2a-SKRUT
Closed

Claude/hermes rolodex a2a skrut#12904
executiveusa wants to merge 4 commits into
NousResearch:mainfrom
executiveusa:claude/hermes-rolodex-a2a-SKRUT

Conversation

@executiveusa

Copy link
Copy Markdown

What does this PR do?

Related Issue

Fixes #

Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 🔒 Security fix
  • 📝 Documentation update
  • ✅ Tests (adding or improving test coverage)
  • ♻️ Refactor (no behavior change)
  • 🎯 New skill (bundled or hub)

Changes Made

How to Test

Checklist

Code

  • I've read the Contributing Guide
  • My commit messages follow Conventional Commits (fix(scope):, feat(scope):, etc.)
  • I searched for existing PRs to make sure this isn't a duplicate
  • My PR contains only changes related to this fix/feature (no unrelated commits)
  • I've run pytest tests/ -q and all tests pass
  • I've added tests for my changes (required for bug fixes, strongly encouraged for features)
  • I've tested on my platform:

Documentation & Housekeeping

  • I've updated relevant documentation (README, docs/, docstrings) — or N/A
  • I've updated cli-config.yaml.example if I added/changed config keys — or N/A
  • I've updated CONTRIBUTING.md or AGENTS.md if I changed architecture or workflows — or N/A
  • I've considered cross-platform impact (Windows, macOS) per the compatibility guide — or N/A
  • I've updated tool descriptions/schemas if I changed tool behavior — or N/A

For New Skills

  • This skill is broadly useful to most users (if bundled) — see Contributing Guide
  • SKILL.md follows the standard format (frontmatter, trigger conditions, steps, pitfalls)
  • No external dependencies that aren't already available (prefer stdlib, curl, existing Hermes tools)
  • I've tested the skill end-to-end: hermes --toolsets skills -q "Use the X skill to do Y"

Screenshots / Logs

executiveusa and others added 4 commits April 12, 2026 21:19
* fix: add vercel.json to serve web-ui/ as static dashboard

* [ZTE] feat: install ZTE auto-deploy pipeline

* feat: Phase 1 — brain sovereignty, /graph + /repos commands, E: drive protection, Emerald Tablets

- Brain data sovereignty: access wall on workspace/brain/CONTEXT.md (Bambu only)
- Created workspace/ivette/brain/CONTEXT.md (separate Ivette brain)
- Fixed HERMES.md: Paul→Bambu, split brain routing into separate rows
- Added /graph and /repos slash commands (CommandDef + CLI + gateway handlers)
- E: drive write/delete protection patterns in approval.py
- Emerald Tablets cognitive rules in prompt_builder.py (auto-injected when HERMES.md present)
- Wired EMERALD_TABLETS_GUIDANCE import in run_agent.py

* Phase 2: Archon X dashboard + dashboard API endpoints

- Rebuilt web-ui/index.html as full multi-panel Archon X dashboard
  - 6 panels: Chat, Tools, Repos, Processes, Sessions, Settings
  - Command palette (Ctrl+K), voice input, mobile responsive
  - COCKPIT mode design: slate + amber, DM Sans + JetBrains Mono
  - Streaming SSE chat, markdown rendering, health polling
- Added 3 new API endpoints in api_server.py:
  - GET /v1/tools — lists available toolsets with status
  - GET /v1/sessions — searchable session history
  - GET /v1/processes — running/finished process list

* feat: dual-route Vercel deploy — landing page + dashboard

- Add scripts/build-deploy.js: assembles landing page at / and dashboard at /dashboard
- Update vercel.json: dual routing (/ → landing, /dashboard → cockpit, /repos.json → catalog)
- Update package.json: add build script
- Update web-ui/index.html: smart API defaults, repos.json auto-path
- Update zte-autodeploy.yml: build verification step, dual health checks
- Update deploy-site.yml: include dashboard in GitHub Pages deploy
- Add .vercelignore: exclude Python/agent internals from Vercel upload
- Add dist/ to .gitignore

* fix(ci): remove GH_PAT requirement from read-only checkout steps

Memory Scan and Emerald Audit steps only need read access — use
default GITHUB_TOKEN. Push/merge steps (Emerald Install, Ralphy Build,
Auto-merge) fall back to github.token when GH_PAT is not configured.

Fixes: ZTE pipeline failure 'Input required and not supplied: token'

* [ZTE][ZTE-23770473627] install: Emerald Tablets — dominant law

* fix(ci): resolve detached HEAD push + skipped downstream jobs

- Add ref: github.head_ref for push-back checkout steps (emerald_install,
  ralphy_build, auto_merge) so they check out the actual branch instead
  of the PR merge ref (detached HEAD)
- Make emerald_install git push non-fatal (|| true)
- Add always() + result guards on e2e_test and emerald_audit so they
  run even when emerald_install is skipped/fails
- e2e_test now depends on memory_scan directly (not transitively via
  emerald_install → ralphy_build chain)

* fix(ci): use result checks instead of output propagation for always() jobs

Superpowers Check and Vercel Deploy were skipped because GitHub Actions
doesn't reliably propagate job outputs from always() jobs. Switch to
checking needs.*.result == 'success' instead — the audit job already
exits non-zero if it fails, making the output redundant.

* fix(ci): handle missing VERCEL_TOKEN gracefully in deploy step

Instead of failing with exit code 1 when VERCEL_TOKEN is empty,
the deploy step now prints a warning and exits 0. This allows the
full ZTE pipeline to succeed even without CI secrets configured.
Local deployment via 'npx vercel deploy --prod' remains supported.

* feat: final descent — enhanced cockpit, Supabase schema, beads+mail API, voice-first dashboard

- web-ui/index.html: comprehensive cockpit rewrite with full chatbot, voice-forward interface,
  skills browser, tools panel, agent switcher (Hermes/Zero), vision upload, health monitoring,
  beads tracking, cron jobs panel, sessions view, command palette (Ctrl+K)
- gateway/platforms/api_server.py: new endpoints /v1/skills, /v1/health/metrics,
  /v1/beads (GET/POST), /v1/mail/send, /v1/mail/inbox + _start_time initialization
- supabase/migrations: full schema (agents, sessions, messages, beads, agent_mail,
  tool_calls, health_metrics, cron_jobs, skills, repos_index), RLS policies, seed data

* feat: Agent Zero + Supabase persistence + CORS + improved onboarding

- docker-compose.yml: add agent-zero service on port 8643 (opt-in)
- .env.agent-zero.example: Agent Zero persona config template
- .env.vps.example: add API_SERVER_CORS_ORIGINS with Vercel domain
- api_server.py: Supabase REST persistence for beads (fallback to in-memory),
  initialize _beads_log/_agent_mail in __init__, fix getCfg undefined bug
- web-ui/index.html: fix getCfg->cfg.apiUrl/cfg.apiKey bug in bead sync,
  improve settings panel with setup instructions and hints

* test: Playwright E2E smoke tests — dashboard, navigation, settings, repos.json

- playwright.config.js: test config targeting Vercel live site
- tests/e2e/dashboard.spec.js: 9 smoke tests for landing, dashboard,
  agent switcher, chat input, settings, Ctrl+K command palette, repos.json
- package.json: add @playwright/test devDependency, test:e2e scripts
- zte-autodeploy.yml: wire E2E Playwright run in CI stage 2

* feat: Agent MAXX Night Shift — complete microservices architecture

- hermes-api: FastAPI control plane with 11 routes, MCP mount, SQLAlchemy ORM (15 tables)
- provider-router: Multi-model LLM proxy (OpenAI, Gemini, Generic HTTP)
- worker-coder: Coding session runner (clone, analyze, code, test, commit)
- worker-browser: Playwright automation with CAPTCHA detection, state machine
- hermes-dashboard: 12-panel operator cockpit + 3D animated landing page
- notifier: Telegram alerts for approvals, interventions, run completions
- scheduler: Nightly repo scan, PRD batch generation, digest
- infra: Caddy reverse proxy, bootstrap/smoke-test/backup scripts
- migrations: 15-table PostgreSQL schema with indexes
- contracts/policies: JSON schemas for coding sessions, browser runs, approvals
- docker-compose: 10 services (postgres, redis, caddy, api, router, 2 workers, dashboard, notifier, scheduler)

* feat: Agent MAXX Night Shift — production complete

- Add Makefile with dev/prod/logs/backup/shell targets
- Add README.md with full setup, API, deploy, vision docs
- Add CLAUDE.md master coding agent harness
- Add coolify.json for Hostinger/Coolify deployment
- Add skills/agent-maxx and skills/vision-test-taking
- Fix browser_runs: PATCH worker callback + artifact endpoints
- Fix approvals: GET ?status=pending query + normalize decision values
- Fix prds: POST /prd-batches alias for dashboard trigger
- Add provider-router POST /v1/llm/vision (Gemini Flash + GPT-4V)
- Add worker-browser vision_analyze step + remote artifact save pipeline

* feat: dashboard fixes, Supabase env, mcp_agent_mail, smart routing, n8n cleanup

- Fix dashboard index.html: scanRepos POST not GET, readyz direct path, apiPost helper
- Add settings modal to dashboard: configure API URL + refresh interval
- Fix approval buttons: data-approval-id, loading state, use apiPost
- Add smart_model_routing COST_TIERS + classify_task_tier (trivial/standard/complex)
- Add load_studio_prompt/load_studio_mode to prompt_builder (prompts/ directory)
- Add SUPABASE_URL/KEY/SERVICE_KEY + INFISICAL_TOKEN to hermes_cli/config
- Add MERCURY_2_API_TOKEN + Supabase env to .env.vps.example and docker-compose
- Add Supabase MCP connector example to cli-config.yaml.example
- Add model_tools: open_brain_tool + infisical_tool + skill_wizard_tool imports
- Add api_server: /v1/agents, /v1/tasks, /v1/memories endpoints
- Add mcp_agent_mail (Dicklesworthstone agent mailbox protocol)
- Remove FFmpeg-master from n8n-workflows (stale subproject)

* chore: commit vercel.json and web-ui/index.html local changes

* feat: add complete project asset directories and all external tools

Complete build commit - all project directories and external tools included:

Core Hermes Agent (updated):
- run_agent.py, toolsets.py, model_tools.py: updated imports + tool dispatch
- agent/prompt_builder.py: studio prompt loading
- agent/smart_model_routing.py: COST_TIERS + classify_task_tier()
- gateway/platforms/api_server.py: /v1/agents, /v1/tasks, /v1/memories endpoints
- hermes_cli/config.py: Supabase + Infisical env vars
- cli-config.yaml.example, vercel.json, web-ui/index.html: updated configs

External Tools & Asset Directories (full snapshots):
- antigravity-awesome-skills-main: complete skills library (12K files)
- appwrite-1.9.x(1): Appwrite server 1.9.x source (2.5K files)
- StoryToolkitAI-main: AI-powered video story editing tool (1.5K files)
- pauli-pi_agent_rust-main: Agent Rust implementation (1.4K files)
- Front-end design: UI/UX asset collection (939 files)
- AionUi-main: AionUI assistant framework (751 files)
- supermemory-main: SuperMemory AI memory layer (738 files)
- BMAD-METHOD-main: BMAD agent methodology (506 files)
- OfficeCLI-main: Office CLI automation tool (404 files)
- marketingskills-main: Marketing agent skills (283 files)
- context-mode-main: Context mode configs (236 files)
- gastown: Gastown workspace tools (229 files)
- paulis-pope-bot-main: Discord/Telegram bot (209 files)
- mcp_agent_mail: MCP email agent tool (200 files)
- n8n-workflows: n8n automation workflows (123 files)
- ext-apps-main: External app integrations (122 files)
- personaplex-main: Persona management system (109 files)
- unity-web3-game-kit-main: Unity Web3 game kit (97 files)
- LTX-Video-main, nightshift, open-rube-master, font-kit-master
- design-system, skills, workspace, prompts, scripts, and more

Nightshift microservices architecture (62 files):
- hermes-dashboard, worker-coder, notifier, scheduler services
- Makefile, README.md, CLAUDE.md, coolify.json deployment

* feat: add hermes-foundry Rust workspace (Foundry API, billing, coder, browser, MCP, memory, policy, router)

* feat: add Synthia Design Studio skill — dispatch design briefs to Kupuri Media studio

* Add official optional skill for opencli-rs Chrome-backed browser workflows

* Add project review build trajectory operator skill

* Add universal platform operator skill for cross-repo execution

* Add Hermes Night Shift v1 scaffold stack

* Add Hermes Night Shift control-plane scaffold and ops stack (#4)

* feat: add hermes-foundry productized crates (foundry-api, billing, browser, coder, appwrite, mcp, memory, paperclip, policy, router, runs, setup, subagents, telemetry, cockpit-web)

* [ZTE][ZTE-23989597378] install: Emerald Tablets — dominant law

---------

Co-authored-by: Claude <claude@anthropic.com>
Co-authored-by: ZTE Agent <zte-agent@thepaulieffect.com>
* fix: add vercel.json to serve web-ui/ as static dashboard

* [ZTE] feat: install ZTE auto-deploy pipeline

* feat: Phase 1 — brain sovereignty, /graph + /repos commands, E: drive protection, Emerald Tablets

- Brain data sovereignty: access wall on workspace/brain/CONTEXT.md (Bambu only)
- Created workspace/ivette/brain/CONTEXT.md (separate Ivette brain)
- Fixed HERMES.md: Paul→Bambu, split brain routing into separate rows
- Added /graph and /repos slash commands (CommandDef + CLI + gateway handlers)
- E: drive write/delete protection patterns in approval.py
- Emerald Tablets cognitive rules in prompt_builder.py (auto-injected when HERMES.md present)
- Wired EMERALD_TABLETS_GUIDANCE import in run_agent.py

* Phase 2: Archon X dashboard + dashboard API endpoints

- Rebuilt web-ui/index.html as full multi-panel Archon X dashboard
  - 6 panels: Chat, Tools, Repos, Processes, Sessions, Settings
  - Command palette (Ctrl+K), voice input, mobile responsive
  - COCKPIT mode design: slate + amber, DM Sans + JetBrains Mono
  - Streaming SSE chat, markdown rendering, health polling
- Added 3 new API endpoints in api_server.py:
  - GET /v1/tools — lists available toolsets with status
  - GET /v1/sessions — searchable session history
  - GET /v1/processes — running/finished process list

* feat: dual-route Vercel deploy — landing page + dashboard

- Add scripts/build-deploy.js: assembles landing page at / and dashboard at /dashboard
- Update vercel.json: dual routing (/ → landing, /dashboard → cockpit, /repos.json → catalog)
- Update package.json: add build script
- Update web-ui/index.html: smart API defaults, repos.json auto-path
- Update zte-autodeploy.yml: build verification step, dual health checks
- Update deploy-site.yml: include dashboard in GitHub Pages deploy
- Add .vercelignore: exclude Python/agent internals from Vercel upload
- Add dist/ to .gitignore

* fix(ci): remove GH_PAT requirement from read-only checkout steps

Memory Scan and Emerald Audit steps only need read access — use
default GITHUB_TOKEN. Push/merge steps (Emerald Install, Ralphy Build,
Auto-merge) fall back to github.token when GH_PAT is not configured.

Fixes: ZTE pipeline failure 'Input required and not supplied: token'

* [ZTE][ZTE-23770473627] install: Emerald Tablets — dominant law

* fix(ci): resolve detached HEAD push + skipped downstream jobs

- Add ref: github.head_ref for push-back checkout steps (emerald_install,
  ralphy_build, auto_merge) so they check out the actual branch instead
  of the PR merge ref (detached HEAD)
- Make emerald_install git push non-fatal (|| true)
- Add always() + result guards on e2e_test and emerald_audit so they
  run even when emerald_install is skipped/fails
- e2e_test now depends on memory_scan directly (not transitively via
  emerald_install → ralphy_build chain)

* fix(ci): use result checks instead of output propagation for always() jobs

Superpowers Check and Vercel Deploy were skipped because GitHub Actions
doesn't reliably propagate job outputs from always() jobs. Switch to
checking needs.*.result == 'success' instead — the audit job already
exits non-zero if it fails, making the output redundant.

* fix(ci): handle missing VERCEL_TOKEN gracefully in deploy step

Instead of failing with exit code 1 when VERCEL_TOKEN is empty,
the deploy step now prints a warning and exits 0. This allows the
full ZTE pipeline to succeed even without CI secrets configured.
Local deployment via 'npx vercel deploy --prod' remains supported.

* feat: final descent — enhanced cockpit, Supabase schema, beads+mail API, voice-first dashboard

- web-ui/index.html: comprehensive cockpit rewrite with full chatbot, voice-forward interface,
  skills browser, tools panel, agent switcher (Hermes/Zero), vision upload, health monitoring,
  beads tracking, cron jobs panel, sessions view, command palette (Ctrl+K)
- gateway/platforms/api_server.py: new endpoints /v1/skills, /v1/health/metrics,
  /v1/beads (GET/POST), /v1/mail/send, /v1/mail/inbox + _start_time initialization
- supabase/migrations: full schema (agents, sessions, messages, beads, agent_mail,
  tool_calls, health_metrics, cron_jobs, skills, repos_index), RLS policies, seed data

* feat: Agent Zero + Supabase persistence + CORS + improved onboarding

- docker-compose.yml: add agent-zero service on port 8643 (opt-in)
- .env.agent-zero.example: Agent Zero persona config template
- .env.vps.example: add API_SERVER_CORS_ORIGINS with Vercel domain
- api_server.py: Supabase REST persistence for beads (fallback to in-memory),
  initialize _beads_log/_agent_mail in __init__, fix getCfg undefined bug
- web-ui/index.html: fix getCfg->cfg.apiUrl/cfg.apiKey bug in bead sync,
  improve settings panel with setup instructions and hints

* test: Playwright E2E smoke tests — dashboard, navigation, settings, repos.json

- playwright.config.js: test config targeting Vercel live site
- tests/e2e/dashboard.spec.js: 9 smoke tests for landing, dashboard,
  agent switcher, chat input, settings, Ctrl+K command palette, repos.json
- package.json: add @playwright/test devDependency, test:e2e scripts
- zte-autodeploy.yml: wire E2E Playwright run in CI stage 2

* feat: Agent MAXX Night Shift — complete microservices architecture

- hermes-api: FastAPI control plane with 11 routes, MCP mount, SQLAlchemy ORM (15 tables)
- provider-router: Multi-model LLM proxy (OpenAI, Gemini, Generic HTTP)
- worker-coder: Coding session runner (clone, analyze, code, test, commit)
- worker-browser: Playwright automation with CAPTCHA detection, state machine
- hermes-dashboard: 12-panel operator cockpit + 3D animated landing page
- notifier: Telegram alerts for approvals, interventions, run completions
- scheduler: Nightly repo scan, PRD batch generation, digest
- infra: Caddy reverse proxy, bootstrap/smoke-test/backup scripts
- migrations: 15-table PostgreSQL schema with indexes
- contracts/policies: JSON schemas for coding sessions, browser runs, approvals
- docker-compose: 10 services (postgres, redis, caddy, api, router, 2 workers, dashboard, notifier, scheduler)

* feat: Agent MAXX Night Shift — production complete

- Add Makefile with dev/prod/logs/backup/shell targets
- Add README.md with full setup, API, deploy, vision docs
- Add CLAUDE.md master coding agent harness
- Add coolify.json for Hostinger/Coolify deployment
- Add skills/agent-maxx and skills/vision-test-taking
- Fix browser_runs: PATCH worker callback + artifact endpoints
- Fix approvals: GET ?status=pending query + normalize decision values
- Fix prds: POST /prd-batches alias for dashboard trigger
- Add provider-router POST /v1/llm/vision (Gemini Flash + GPT-4V)
- Add worker-browser vision_analyze step + remote artifact save pipeline

* feat: dashboard fixes, Supabase env, mcp_agent_mail, smart routing, n8n cleanup

- Fix dashboard index.html: scanRepos POST not GET, readyz direct path, apiPost helper
- Add settings modal to dashboard: configure API URL + refresh interval
- Fix approval buttons: data-approval-id, loading state, use apiPost
- Add smart_model_routing COST_TIERS + classify_task_tier (trivial/standard/complex)
- Add load_studio_prompt/load_studio_mode to prompt_builder (prompts/ directory)
- Add SUPABASE_URL/KEY/SERVICE_KEY + INFISICAL_TOKEN to hermes_cli/config
- Add MERCURY_2_API_TOKEN + Supabase env to .env.vps.example and docker-compose
- Add Supabase MCP connector example to cli-config.yaml.example
- Add model_tools: open_brain_tool + infisical_tool + skill_wizard_tool imports
- Add api_server: /v1/agents, /v1/tasks, /v1/memories endpoints
- Add mcp_agent_mail (Dicklesworthstone agent mailbox protocol)
- Remove FFmpeg-master from n8n-workflows (stale subproject)

* chore: commit vercel.json and web-ui/index.html local changes

* feat: add complete project asset directories and all external tools

Complete build commit - all project directories and external tools included:

Core Hermes Agent (updated):
- run_agent.py, toolsets.py, model_tools.py: updated imports + tool dispatch
- agent/prompt_builder.py: studio prompt loading
- agent/smart_model_routing.py: COST_TIERS + classify_task_tier()
- gateway/platforms/api_server.py: /v1/agents, /v1/tasks, /v1/memories endpoints
- hermes_cli/config.py: Supabase + Infisical env vars
- cli-config.yaml.example, vercel.json, web-ui/index.html: updated configs

External Tools & Asset Directories (full snapshots):
- antigravity-awesome-skills-main: complete skills library (12K files)
- appwrite-1.9.x(1): Appwrite server 1.9.x source (2.5K files)
- StoryToolkitAI-main: AI-powered video story editing tool (1.5K files)
- pauli-pi_agent_rust-main: Agent Rust implementation (1.4K files)
- Front-end design: UI/UX asset collection (939 files)
- AionUi-main: AionUI assistant framework (751 files)
- supermemory-main: SuperMemory AI memory layer (738 files)
- BMAD-METHOD-main: BMAD agent methodology (506 files)
- OfficeCLI-main: Office CLI automation tool (404 files)
- marketingskills-main: Marketing agent skills (283 files)
- context-mode-main: Context mode configs (236 files)
- gastown: Gastown workspace tools (229 files)
- paulis-pope-bot-main: Discord/Telegram bot (209 files)
- mcp_agent_mail: MCP email agent tool (200 files)
- n8n-workflows: n8n automation workflows (123 files)
- ext-apps-main: External app integrations (122 files)
- personaplex-main: Persona management system (109 files)
- unity-web3-game-kit-main: Unity Web3 game kit (97 files)
- LTX-Video-main, nightshift, open-rube-master, font-kit-master
- design-system, skills, workspace, prompts, scripts, and more

Nightshift microservices architecture (62 files):
- hermes-dashboard, worker-coder, notifier, scheduler services
- Makefile, README.md, CLAUDE.md, coolify.json deployment

* feat: add hermes-foundry Rust workspace (Foundry API, billing, coder, browser, MCP, memory, policy, router)

* feat: add Synthia Design Studio skill — dispatch design briefs to Kupuri Media studio

* Add official optional skill for opencli-rs Chrome-backed browser workflows

* Add project review build trajectory operator skill

* Add universal platform operator skill for cross-repo execution

* Add Hermes Night Shift v1 scaffold stack

* Add Hermes Night Shift control-plane scaffold and ops stack (#4)

* feat: add hermes-foundry productized crates (foundry-api, billing, browser, coder, appwrite, mcp, memory, paperclip, policy, router, runs, setup, subagents, telemetry, cockpit-web)

* [ZTE][ZTE-23989597378] install: Emerald Tablets — dominant law

* [ZTE][ZTE-24324039662] feat: Ralphy — stubs implemented

---------

Co-authored-by: Claude <claude@anthropic.com>
Co-authored-by: ZTE Agent <zte-agent@thepaulieffect.com>
…loy workflow (#18)

Agent-Logs-Url: https://github.com/executiveusa/pauli-hermes-agent/sessions/8a2f2eee-afa8-4635-9395-2221740fb3f4

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
* fix: add vercel.json to serve web-ui/ as static dashboard

* [ZTE] feat: install ZTE auto-deploy pipeline

* feat: Phase 1 — brain sovereignty, /graph + /repos commands, E: drive protection, Emerald Tablets

- Brain data sovereignty: access wall on workspace/brain/CONTEXT.md (Bambu only)
- Created workspace/ivette/brain/CONTEXT.md (separate Ivette brain)
- Fixed HERMES.md: Paul→Bambu, split brain routing into separate rows
- Added /graph and /repos slash commands (CommandDef + CLI + gateway handlers)
- E: drive write/delete protection patterns in approval.py
- Emerald Tablets cognitive rules in prompt_builder.py (auto-injected when HERMES.md present)
- Wired EMERALD_TABLETS_GUIDANCE import in run_agent.py

* Phase 2: Archon X dashboard + dashboard API endpoints

- Rebuilt web-ui/index.html as full multi-panel Archon X dashboard
  - 6 panels: Chat, Tools, Repos, Processes, Sessions, Settings
  - Command palette (Ctrl+K), voice input, mobile responsive
  - COCKPIT mode design: slate + amber, DM Sans + JetBrains Mono
  - Streaming SSE chat, markdown rendering, health polling
- Added 3 new API endpoints in api_server.py:
  - GET /v1/tools — lists available toolsets with status
  - GET /v1/sessions — searchable session history
  - GET /v1/processes — running/finished process list

* feat: dual-route Vercel deploy — landing page + dashboard

- Add scripts/build-deploy.js: assembles landing page at / and dashboard at /dashboard
- Update vercel.json: dual routing (/ → landing, /dashboard → cockpit, /repos.json → catalog)
- Update package.json: add build script
- Update web-ui/index.html: smart API defaults, repos.json auto-path
- Update zte-autodeploy.yml: build verification step, dual health checks
- Update deploy-site.yml: include dashboard in GitHub Pages deploy
- Add .vercelignore: exclude Python/agent internals from Vercel upload
- Add dist/ to .gitignore

* fix(ci): remove GH_PAT requirement from read-only checkout steps

Memory Scan and Emerald Audit steps only need read access — use
default GITHUB_TOKEN. Push/merge steps (Emerald Install, Ralphy Build,
Auto-merge) fall back to github.token when GH_PAT is not configured.

Fixes: ZTE pipeline failure 'Input required and not supplied: token'

* [ZTE][ZTE-23770473627] install: Emerald Tablets — dominant law

* fix(ci): resolve detached HEAD push + skipped downstream jobs

- Add ref: github.head_ref for push-back checkout steps (emerald_install,
  ralphy_build, auto_merge) so they check out the actual branch instead
  of the PR merge ref (detached HEAD)
- Make emerald_install git push non-fatal (|| true)
- Add always() + result guards on e2e_test and emerald_audit so they
  run even when emerald_install is skipped/fails
- e2e_test now depends on memory_scan directly (not transitively via
  emerald_install → ralphy_build chain)

* fix(ci): use result checks instead of output propagation for always() jobs

Superpowers Check and Vercel Deploy were skipped because GitHub Actions
doesn't reliably propagate job outputs from always() jobs. Switch to
checking needs.*.result == 'success' instead — the audit job already
exits non-zero if it fails, making the output redundant.

* fix(ci): handle missing VERCEL_TOKEN gracefully in deploy step

Instead of failing with exit code 1 when VERCEL_TOKEN is empty,
the deploy step now prints a warning and exits 0. This allows the
full ZTE pipeline to succeed even without CI secrets configured.
Local deployment via 'npx vercel deploy --prod' remains supported.

* feat: final descent — enhanced cockpit, Supabase schema, beads+mail API, voice-first dashboard

- web-ui/index.html: comprehensive cockpit rewrite with full chatbot, voice-forward interface,
  skills browser, tools panel, agent switcher (Hermes/Zero), vision upload, health monitoring,
  beads tracking, cron jobs panel, sessions view, command palette (Ctrl+K)
- gateway/platforms/api_server.py: new endpoints /v1/skills, /v1/health/metrics,
  /v1/beads (GET/POST), /v1/mail/send, /v1/mail/inbox + _start_time initialization
- supabase/migrations: full schema (agents, sessions, messages, beads, agent_mail,
  tool_calls, health_metrics, cron_jobs, skills, repos_index), RLS policies, seed data

* feat: Agent Zero + Supabase persistence + CORS + improved onboarding

- docker-compose.yml: add agent-zero service on port 8643 (opt-in)
- .env.agent-zero.example: Agent Zero persona config template
- .env.vps.example: add API_SERVER_CORS_ORIGINS with Vercel domain
- api_server.py: Supabase REST persistence for beads (fallback to in-memory),
  initialize _beads_log/_agent_mail in __init__, fix getCfg undefined bug
- web-ui/index.html: fix getCfg->cfg.apiUrl/cfg.apiKey bug in bead sync,
  improve settings panel with setup instructions and hints

* test: Playwright E2E smoke tests — dashboard, navigation, settings, repos.json

- playwright.config.js: test config targeting Vercel live site
- tests/e2e/dashboard.spec.js: 9 smoke tests for landing, dashboard,
  agent switcher, chat input, settings, Ctrl+K command palette, repos.json
- package.json: add @playwright/test devDependency, test:e2e scripts
- zte-autodeploy.yml: wire E2E Playwright run in CI stage 2

* feat: Agent MAXX Night Shift — complete microservices architecture

- hermes-api: FastAPI control plane with 11 routes, MCP mount, SQLAlchemy ORM (15 tables)
- provider-router: Multi-model LLM proxy (OpenAI, Gemini, Generic HTTP)
- worker-coder: Coding session runner (clone, analyze, code, test, commit)
- worker-browser: Playwright automation with CAPTCHA detection, state machine
- hermes-dashboard: 12-panel operator cockpit + 3D animated landing page
- notifier: Telegram alerts for approvals, interventions, run completions
- scheduler: Nightly repo scan, PRD batch generation, digest
- infra: Caddy reverse proxy, bootstrap/smoke-test/backup scripts
- migrations: 15-table PostgreSQL schema with indexes
- contracts/policies: JSON schemas for coding sessions, browser runs, approvals
- docker-compose: 10 services (postgres, redis, caddy, api, router, 2 workers, dashboard, notifier, scheduler)

* feat: Agent MAXX Night Shift — production complete

- Add Makefile with dev/prod/logs/backup/shell targets
- Add README.md with full setup, API, deploy, vision docs
- Add CLAUDE.md master coding agent harness
- Add coolify.json for Hostinger/Coolify deployment
- Add skills/agent-maxx and skills/vision-test-taking
- Fix browser_runs: PATCH worker callback + artifact endpoints
- Fix approvals: GET ?status=pending query + normalize decision values
- Fix prds: POST /prd-batches alias for dashboard trigger
- Add provider-router POST /v1/llm/vision (Gemini Flash + GPT-4V)
- Add worker-browser vision_analyze step + remote artifact save pipeline

* feat: dashboard fixes, Supabase env, mcp_agent_mail, smart routing, n8n cleanup

- Fix dashboard index.html: scanRepos POST not GET, readyz direct path, apiPost helper
- Add settings modal to dashboard: configure API URL + refresh interval
- Fix approval buttons: data-approval-id, loading state, use apiPost
- Add smart_model_routing COST_TIERS + classify_task_tier (trivial/standard/complex)
- Add load_studio_prompt/load_studio_mode to prompt_builder (prompts/ directory)
- Add SUPABASE_URL/KEY/SERVICE_KEY + INFISICAL_TOKEN to hermes_cli/config
- Add MERCURY_2_API_TOKEN + Supabase env to .env.vps.example and docker-compose
- Add Supabase MCP connector example to cli-config.yaml.example
- Add model_tools: open_brain_tool + infisical_tool + skill_wizard_tool imports
- Add api_server: /v1/agents, /v1/tasks, /v1/memories endpoints
- Add mcp_agent_mail (Dicklesworthstone agent mailbox protocol)
- Remove FFmpeg-master from n8n-workflows (stale subproject)

* chore: commit vercel.json and web-ui/index.html local changes

* feat: add complete project asset directories and all external tools

Complete build commit - all project directories and external tools included:

Core Hermes Agent (updated):
- run_agent.py, toolsets.py, model_tools.py: updated imports + tool dispatch
- agent/prompt_builder.py: studio prompt loading
- agent/smart_model_routing.py: COST_TIERS + classify_task_tier()
- gateway/platforms/api_server.py: /v1/agents, /v1/tasks, /v1/memories endpoints
- hermes_cli/config.py: Supabase + Infisical env vars
- cli-config.yaml.example, vercel.json, web-ui/index.html: updated configs

External Tools & Asset Directories (full snapshots):
- antigravity-awesome-skills-main: complete skills library (12K files)
- appwrite-1.9.x(1): Appwrite server 1.9.x source (2.5K files)
- StoryToolkitAI-main: AI-powered video story editing tool (1.5K files)
- pauli-pi_agent_rust-main: Agent Rust implementation (1.4K files)
- Front-end design: UI/UX asset collection (939 files)
- AionUi-main: AionUI assistant framework (751 files)
- supermemory-main: SuperMemory AI memory layer (738 files)
- BMAD-METHOD-main: BMAD agent methodology (506 files)
- OfficeCLI-main: Office CLI automation tool (404 files)
- marketingskills-main: Marketing agent skills (283 files)
- context-mode-main: Context mode configs (236 files)
- gastown: Gastown workspace tools (229 files)
- paulis-pope-bot-main: Discord/Telegram bot (209 files)
- mcp_agent_mail: MCP email agent tool (200 files)
- n8n-workflows: n8n automation workflows (123 files)
- ext-apps-main: External app integrations (122 files)
- personaplex-main: Persona management system (109 files)
- unity-web3-game-kit-main: Unity Web3 game kit (97 files)
- LTX-Video-main, nightshift, open-rube-master, font-kit-master
- design-system, skills, workspace, prompts, scripts, and more

Nightshift microservices architecture (62 files):
- hermes-dashboard, worker-coder, notifier, scheduler services
- Makefile, README.md, CLAUDE.md, coolify.json deployment

* feat: add hermes-foundry Rust workspace (Foundry API, billing, coder, browser, MCP, memory, policy, router)

* feat: add Synthia Design Studio skill — dispatch design briefs to Kupuri Media studio

* Add official optional skill for opencli-rs Chrome-backed browser workflows

* Add project review build trajectory operator skill

* Add universal platform operator skill for cross-repo execution

* Add Hermes Night Shift v1 scaffold stack

* Add Hermes Night Shift control-plane scaffold and ops stack (#4)

* feat: add hermes-foundry productized crates (foundry-api, billing, browser, coder, appwrite, mcp, memory, paperclip, policy, router, runs, setup, subagents, telemetry, cockpit-web)

* [ZTE][ZTE-23989597378] install: Emerald Tablets — dominant law

* [ZTE][ZTE-24324039662] feat: Ralphy — stubs implemented

---------

Co-authored-by: Claude <claude@anthropic.com>
Co-authored-by: ZTE Agent <zte-agent@thepaulieffect.com>
Copilot AI review requested due to automatic review settings April 20, 2026 08:03
@executiveusa

Copy link
Copy Markdown
Author

@copilot fix all merge conflicts

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

This PR appears to vendor/import multiple upstream codebases (notably an FFmpeg snapshot and AionUi project files), while also adding Hermes deployment + Infisical integration documentation and updating CI/workflows and environment templates for deployment.

Changes:

  • Added large FFmpeg tree files (compat atomics, Android binder helper, build/docs/meta files, Forgejo CI config).
  • Added Hermes deployment + Infisical integration documentation (quick starts, reports) and updated GitHub Pages/Vercel deploy behavior.
  • Added AionUi configuration, workflows, templates, and Husky/ESLint/Prettier tooling files.

Reviewed changes

Copilot reviewed 97 out of 18995 changed files in this pull request and generated 11 comments.

Show a summary per file
File Description
StoryToolkitAI-main/FFmpeg-master/compat/atomics/win32/stdatomic.h Adds Win32 stdatomic compatibility layer for FFmpeg snapshot.
StoryToolkitAI-main/FFmpeg-master/compat/atomics/dummy/stdatomic.h Adds dummy stdatomic fallback implementation for FFmpeg snapshot.
StoryToolkitAI-main/FFmpeg-master/compat/android/binder.h Declares Android binder threadpool init helper.
StoryToolkitAI-main/FFmpeg-master/compat/android/binder.c Implements optional libbinder_ndk threadpool init for Android.
StoryToolkitAI-main/FFmpeg-master/compat/aix/math.h Adds AIX math.h workaround wrapper.
StoryToolkitAI-main/FFmpeg-master/RELEASE Adds FFmpeg release marker file.
StoryToolkitAI-main/FFmpeg-master/README.md Adds upstream FFmpeg README.
StoryToolkitAI-main/FFmpeg-master/Makefile Adds upstream FFmpeg top-level Makefile.
StoryToolkitAI-main/FFmpeg-master/LICENSE.md Adds upstream FFmpeg license summary.
StoryToolkitAI-main/FFmpeg-master/INSTALL.md Adds upstream FFmpeg install instructions.
StoryToolkitAI-main/FFmpeg-master/FUNDING.json Adds upstream FFmpeg funding metadata.
StoryToolkitAI-main/FFmpeg-master/CREDITS Adds upstream FFmpeg credits pointer.
StoryToolkitAI-main/FFmpeg-master/COPYING.LGPLv3 Adds upstream LGPLv3 text.
StoryToolkitAI-main/FFmpeg-master/CONTRIBUTING.md Adds upstream FFmpeg contributing note.
StoryToolkitAI-main/FFmpeg-master/.mailmap Adds upstream FFmpeg mailmap.
StoryToolkitAI-main/FFmpeg-master/.gitignore Adds upstream FFmpeg gitignore.
StoryToolkitAI-main/FFmpeg-master/.gitattributes Adds upstream FFmpeg gitattributes.
StoryToolkitAI-main/FFmpeg-master/.forgejo/workflows/test.yml Adds Forgejo FATE workflow for FFmpeg snapshot.
StoryToolkitAI-main/FFmpeg-master/.forgejo/workflows/lint.yml Adds Forgejo pre-commit/codespell lint workflow.
StoryToolkitAI-main/FFmpeg-master/.forgejo/workflows/autolabel.yml Adds Forgejo autolabel workflow and scripts.
StoryToolkitAI-main/FFmpeg-master/.forgejo/pre-commit/ignored-words.txt Adds codespell ignore word list.
StoryToolkitAI-main/FFmpeg-master/.forgejo/pre-commit/config.yaml Adds pre-commit configuration for FFmpeg snapshot.
StoryToolkitAI-main/FFmpeg-master/.forgejo/labeler/labeler.yml Adds label rules for changed paths.
StoryToolkitAI-main/FFmpeg-master/.forgejo/labeler/labeler.js Adds title-based labeling + “new” label removal logic.
StoryToolkitAI-main/FFmpeg-master/.forgejo/ISSUE_TEMPLATE.md Adds Forgejo issue template.
StoryToolkitAI-main/FFmpeg-master/.forgejo/CODEOWNERS Adds Forgejo CODEOWNERS mapping.
StoryToolkitAI-main/.github/ISSUE_TEMPLATE/feature_request.md Adds StoryToolkitAI feature request template.
StoryToolkitAI-main/.github/ISSUE_TEMPLATE/bug_report.md Adds StoryToolkitAI bug report template.
StoryToolkitAI-main/.github/FUNDING.yml Adds GitHub funding metadata.
README_DEPLOYMENT_PACKAGE.md Adds Hermes “deployment package” checklist doc.
QUICK_START.md Adds Hermes VPS quick-start guide.
LTX-Video-main/LTX-Video-main/tests/utils/woman.mp4 Adds Git LFS pointer for test asset.
INFISICAL_VERIFICATION_REPORT.md Adds Infisical integration verification report.
INFISICAL_README.txt Adds Infisical integration README (includes deployment steps).
INFISICAL_QUICK_START.txt Adds Infisical quick-start card (includes token snippet).
INFISICAL_DEPLOYMENT.md Adds Infisical deployment checklist/architecture doc.
HERMES.md Adds Hermes “global identity map”/ops instructions.
DEPLOYMENT_INTEGRATION_SUMMARY.md Adds Hermes deployment integration summary doc.
AionUi-main/AionUi-main/assistant/cowork/cowork.md Adds cowork assistant instructions for AionUi.
AionUi-main/AionUi-main/LICENSE Adds AionUi Apache 2.0 license text.
AionUi-main/AionUi-main/CODE_STYLE.md Adds AionUi code style guide (Chinese).
AionUi-main/AionUi-main/.specify/templates/tasks-template.md Adds Spec/Task generation template.
AionUi-main/AionUi-main/.specify/templates/spec-template.md Adds feature spec template.
AionUi-main/AionUi-main/.specify/templates/plan-template.md Adds implementation plan template.
AionUi-main/AionUi-main/.specify/templates/agent-file-template.md Adds agent-context file template.
AionUi-main/AionUi-main/.specify/memory/constitution.md Adds AionUi constitution/policies file.
AionUi-main/AionUi-main/.prettierrc.json Adds Prettier configuration.
AionUi-main/AionUi-main/.prettierignore Adds Prettier ignore list.
AionUi-main/AionUi-main/.npmrc Adds npm config (Electron mirror).
AionUi-main/AionUi-main/.husky/pre-commit Adds Husky pre-commit hook.
AionUi-main/AionUi-main/.husky/commit-msg Adds Husky commit-msg validation hook.
AionUi-main/AionUi-main/.gitignore Adds AionUi gitignore.
AionUi-main/AionUi-main/.github/workflows/project-automation.yml Adds GitHub Projects automation workflow.
AionUi-main/AionUi-main/.github/workflows/pr-checks.yml Adds PR checks workflow (issue link enforcement + lint/tsc/format).
AionUi-main/AionUi-main/.github/workflows/gemini-triage.yml Adds Gemini-driven issue triage workflow.
AionUi-main/AionUi-main/.github/workflows/gemini-scheduled-triage.yml Adds scheduled batch triage workflow.
AionUi-main/AionUi-main/.github/workflows/gemini-invoke.yml Adds generic Gemini CLI invocation workflow.
AionUi-main/AionUi-main/.github/workflows/gemini-dispatch.yml Adds dispatcher workflow for Gemini actions.
AionUi-main/AionUi-main/.github/workflows/bump-homebrew.yml Adds workflow to bump Homebrew cask on releases.
AionUi-main/AionUi-main/.github/pull_request_template.md Adds PR template.
AionUi-main/AionUi-main/.github/ISSUE_TEMPLATE/question.yml Adds issue template for questions.
AionUi-main/AionUi-main/.github/ISSUE_TEMPLATE/feature_request.yml Adds YAML feature request template.
AionUi-main/AionUi-main/.github/ISSUE_TEMPLATE/config.yml Adds issue template config + contact links.
AionUi-main/AionUi-main/.github/ISSUE_TEMPLATE/bug_report.yml Adds YAML bug report template.
AionUi-main/AionUi-main/.github/CICD_SETUP.md Adds CI/CD setup docs (Chinese).
AionUi-main/AionUi-main/.gemini/styleguide.md Adds Gemini code review style guide.
AionUi-main/AionUi-main/.gemini/config.json Adds Gemini Code Assist config.
AionUi-main/AionUi-main/.eslintrc.json Adds ESLint configuration.
AionUi-main/AionUi-main/.eslintignore Adds ESLint ignore list.
AGENT_TASK_STATUS.md Adds agent task completion status doc.
AGENTS.md Updates agent instructions with Beads task tracking.
.vercelignore Adds Vercel ignore list to deploy static frontend only.
.github/workflows/deploy-site.yml Updates GitHub Pages staging to include dashboard + repos catalog.
.env.vps.example Adds/updates VPS env template (currently includes secrets).
.env.studio.example Adds Hermes Studio env template.
.env.agent-zero.example Adds Agent Zero env template (currently includes secrets).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .env.vps.example
Comment on lines +30 to +34
# Runs on this VPS at http://31.220.58.212:8001
# Get keys from Supabase dashboard → Settings → API Keys
SUPABASE_URL=http://31.220.58.212:8001
SUPABASE_KEY=
SUPABASE_SERVICE_KEY=

Copilot AI Apr 20, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This environment template contains real-looking Supabase anon/service JWTs and a database password, and also duplicates the SUPABASE_* keys (blank earlier, populated later). This is a credential leak risk and can also create ambiguous runtime behavior depending on env parsing order. Remove all secrets/credentials from the template (leave placeholders only) and keep each key defined exactly once.

Suggested change
# Runs on this VPS at http://31.220.58.212:8001
# Get keys from Supabase dashboard → Settings → API Keys
SUPABASE_URL=http://31.220.58.212:8001
SUPABASE_KEY=
SUPABASE_SERVICE_KEY=
# Set these to your own Supabase project values.
# Get keys from Supabase dashboard → Settings → API Keys
# Define each SUPABASE_* key only once in this file.
SUPABASE_URL=REPLACE_WITH_SUPABASE_URL
SUPABASE_KEY=REPLACE_WITH_SUPABASE_ANON_KEY
SUPABASE_SERVICE_KEY=REPLACE_WITH_SUPABASE_SERVICE_ROLE_KEY

Copilot uses AI. Check for mistakes.
Comment thread .env.vps.example
Comment on lines +81 to +84
SUPABASE_URL=http://31.220.58.212:8001
SUPABASE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlzcyI6InN1cGFiYXNlIiwiaWF0IjoxNzcyNzc2NjczLCJleHAiOjE5MzA0NTY2NzN9.rl1mc-GgpG6nQArbEfFAKOcMvzL7rrgzPFT-LlCiCy4
SUPABASE_SERVICE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoic2VydmljZV9yb2xlIiwiaXNzIjoic3VwYWJhc2UiLCJpYXQiOjE3NzI3NzY2NzMsImV4cCI6MTkzMDQ1NjY3M30.ns9wbGi2xeS2zbZ1foj6fj4NSa4JxSmJKAedmlShF3w
DATABASE_URL=postgresql://postgres:072090156d28a9df6502d94083e47990@31.220.58.212:5434/second_brain

Copilot AI Apr 20, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This environment template contains real-looking Supabase anon/service JWTs and a database password, and also duplicates the SUPABASE_* keys (blank earlier, populated later). This is a credential leak risk and can also create ambiguous runtime behavior depending on env parsing order. Remove all secrets/credentials from the template (leave placeholders only) and keep each key defined exactly once.

Copilot uses AI. Check for mistakes.
Comment thread INFISICAL_QUICK_START.txt
Comment on lines +21 to +23
cat > /workspace/hermes-agent/.env << 'EOF'
INFISICAL_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdXRoTWV0aG9kIjoiZ29vZ2xlIiwiYXV0aFRva2VuVHlwZSI6ImFjY2Vzc1Rva2VuIiwidXNlcklkIjoiZmE2MWI3YTYtNWVlYi00NDM5LTk3MWItMTNkYTY0MDkwYjJkIiwidG9rZW5WZXJzaW9uSWQiOiI5NGU4NmMwYi1hMDlkLTRmNGYtOTg1YS02MjNlYWRlYzc0NjIiLCJhY2Nlc3NWZXJzaW9uIjoxLCJvcmdhbml6YXRpb25JZCI6ImJkZmMyMjdmLTQxMGYtNGIxNS1hMGQ2LTYzZDFjOTk0NzJkMiIsImlhdCI6MTc3NTAyMTg3OCwiZXhwIjoxNzc1ODg1ODc4fQ.98JNTeKB9ELK11jnNYKhYXw8LBZ4rY7bdGtYNLTD_Qc
EOF

Copilot AI Apr 20, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A live Infisical JWT is embedded directly in the documentation and instructs users to write it into a .env file. This is a credential leak and would allow unintended access if the repo is public or shared. Replace with a placeholder value and instructions to obtain/provide the token securely (and ensure the leaked token is revoked/rotated).

Copilot uses AI. Check for mistakes.
id: fate
run: |
make fate-rsync SAMPLES=$PWD/fate-suite
echo "hash=$(find fate-suite -type f -printf "%P %s %T@\n" | sort | sha256sum | cut -d' ' -f1)" >> $FORGEJO_OUTPUT

Copilot AI Apr 20, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This shell line has unescaped double quotes inside a double-quoted string (the find -printf format), which will break the YAML step at runtime with a shell syntax error. Use single quotes around the outer echo, escape the inner quotes, or assign the printf format to a variable to avoid quote collisions.

Suggested change
echo "hash=$(find fate-suite -type f -printf "%P %s %T@\n" | sort | sha256sum | cut -d' ' -f1)" >> $FORGEJO_OUTPUT
echo hash=$(find fate-suite -type f -printf '%P %s %T@\n' | sort | sha256sum | cut -d' ' -f1) >> $FORGEJO_OUTPUT

Copilot uses AI. Check for mistakes.
Comment on lines +2 to +8
"$schema": "https://developers.google.com/gemini-code-assist/docs/config-schema",
"codeReview": {
"enabled": true,
"autoReview": true,
"maxFilesToReview": 50,
"excludePatterns": ["**/*.min.js", "**/*.min.css", "**/dist/**", "**/build/**", "**/node_modules/**", "**/*.lock", "**/package-lock.json", "**/bun.lockb"]
},

Copilot AI Apr 20, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file is named .json but contains trailing commas (e.g., after the $schema entry and after object fields), which is invalid JSON and will fail strict JSON parsing. Either remove trailing commas or rename to a JSONC-compatible filename/format if the consuming tool supports it.

Copilot uses AI. Check for mistakes.
if (h == NULL)
return;

unsigned thead_pool_size = THREAD_POOL_SIZE;

Copilot AI Apr 20, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are two concrete issues here: (1) thead_pool_size is a typo (should be thread_pool_size), and (2) android_get_device_api_level() is used but no include is shown for its declaration (commonly <android/api-level.h>), which can break builds under stricter C settings. Fix the variable name and include the proper header (and/or add a forward declaration guarded by API level) so this compiles cleanly.

Copilot uses AI. Check for mistakes.
Comment on lines +81 to +84
int ok = set_thread_pool_max(thead_pool_size);
av_log(NULL, AV_LOG_DEBUG,
"android/binder: ABinderProcess_setThreadPoolMaxThreadCount(%u) => %s\n",
thead_pool_size, ok ? "ok" : "fail");

Copilot AI Apr 20, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are two concrete issues here: (1) thead_pool_size is a typo (should be thread_pool_size), and (2) android_get_device_api_level() is used but no include is shown for its declaration (commonly <android/api-level.h>), which can break builds under stricter C settings. Fix the variable name and include the proper header (and/or add a forward declaration guarded by API level) so this compiles cleanly.

Copilot uses AI. Check for mistakes.
Comment on lines +97 to +98
#if __ANDROID_API__ >= 24
if (android_get_device_api_level() < 35) {

Copilot AI Apr 20, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are two concrete issues here: (1) thead_pool_size is a typo (should be thread_pool_size), and (2) android_get_device_api_level() is used but no include is shown for its declaration (commonly <android/api-level.h>), which can break builds under stricter C settings. Fix the variable name and include the proper header (and/or add a forward declaration guarded by API level) so this compiles cleanly.

Copilot uses AI. Check for mistakes.
Comment thread QUICK_START.md
@@ -0,0 +1,130 @@
# 🚀 HERMES 3.0 QUICK START CARD
**Print this. Follow in order. 20 minutes to full deployment.**

Copilot AI Apr 20, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The quick start mixes an HTTPS URL for a raw IP address (likely to fail TLS validation unless a certificate/SNI is configured) with HTTP health checks. If the service is only HTTP, the dashboard URL should be http://... (and browsers will block mixed-content if the dashboard is served over HTTPS). If it is intended to be HTTPS, document the required reverse proxy/TLS termination and the hostname/cert setup required.

Copilot uses AI. Check for mistakes.
@@ -0,0 +1,288 @@
# HERMES 3.0 DEPLOYMENT COMPLETE — INTEGRATION SUMMARY

Copilot AI Apr 20, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR metadata/description is largely unfilled (e.g., no listed changes, no linked issue), but the diff introduces a very large and diverse set of changes (vendored FFmpeg snapshot, AionUi workflows/config, Hermes deployment + Infisical docs, and multiple environment templates). Please update the PR title/description to clearly state the intent/scope (what is being vendored vs. what is Hermes-specific), and link the issue(s) this PR addresses so reviewers can validate it against expected outcomes.

Copilot uses AI. Check for mistakes.
@executiveusa

Copy link
Copy Markdown
Author

@copilot fix all merge errors

@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have comp/acp Agent Communication Protocol adapter invalid This doesn't seem right labels Apr 22, 2026
@teknium1

Copy link
Copy Markdown
Contributor

Thanks for the contribution attempt, but this PR cannot be merged as submitted.

This is an automated hermes-sweeper review.

  • Empty description: Every section of the PR template was left blank — there is no explanation of what this change does, what problem it solves, or how to test it.
  • Unrelated project included: ~50 files under AionUi-main/AionUi-main/ appear to be an entire separate project accidentally included in the diff. These have no place in hermes-agent.
  • No core hermes-agent changes: Despite the comp/acp label, no files in acp_adapter/, tools/, agent/, gateway/, or the TypeScript TUI were modified.
  • Unmergeable: The branch has unresolved conflicts against main.
  • invalid label was already applied by a maintainer reviewer.

If you have a specific A2A or ACP integration to propose, please open a fresh PR with a clean branch, a filled-out description, and only the relevant changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/acp Agent Communication Protocol adapter invalid This doesn't seem right P3 Low — cosmetic, nice to have type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants