feat: +ae context primitive - Agentic Entrepreneurship as first-class tool - #55872
feat: +ae context primitive - Agentic Entrepreneurship as first-class tool#55872MYaelMendez wants to merge 51 commits into
Conversation
…tool Adds ae_context tool to Hermes Agent core: - +æ activate: loads agentic entrepreneurship context bundle (language, stack, blueprints, NAICS, revenue proof, mission) - -æ deactivate: unloads context - search: live NAICS API classification (with static fallback) - blueprints: list available organizational blueprints - revenue: show real 33.65 revenue proof - mission: #opensourceware NousResearch#250 challenge - install: skill install command + public artifacts Prompt transforms: >_ → >_æ| when activated. This is the first blueprint-level tool — above skills, below core. Blueprints (#) are organizational patterns. Skills do tasks. $ executes within economic boundary (requires confirmation). $OS = economic infrastructure for agentic entrepreneurship. #startabusiness +æ
…nd standalone computer_use primitive
…surfaces - Kill fakeInference stub; wire remoteUse.hermesNative to real WebLLM/WebGPU - Add remoteUse.factory: agentic CSS/HTML factory (spec -> local Qwen3-0.6B -> live preview -> write) - Add remoteUse.computerUse: bounded local desktop control surface - Local Python bridge (bridge.py + lib_gate.py) with gated app execution, scaffold app - Register factory/computerUse commands in package.json + subscriptions - Add hermes-native skill + llm-bench-rig design notes - Scoped .gitignore for build artifacts
- Full workbench chrome + editor + terminal + git decoration skin - Palette: void NousResearch#50505, gold #D4AF37, neon-mint #00ffa3, ink #e6e6e6 - 184 workbench colors, 19 tokenColor rules, semantic token colors - Registered as theme contribution in vscode-remote-use extension
- Render local runtime as an operator surface, not a CLI - 6 surfaces (Hermes Native, Factory, Computer Use, Media, DAO, home://) - Each INVOKE routes to remoteUse.* command via VS Code host postMessage - Mesh bus log + live clock; gold-on-void skin
- templates/surfaces/index.html: v4 dashboard hub mounting 8 surfaces - tabs (Surfaces/Inference/Factory/Computer/Media/Secret/Boot) + sidebar cards - file:// + remoteUse.* command dispatch, dock terminal, bridge probe - remoteUse.surfaces command; remoteUse.htmlSurface now opens the hub - gold-on-void design system; no parallel standalone pages
- victus-capabilities.html: probed machine map (CPU/GPU/CUDA/disk/toolchain/rust/surfaces) + client WebGPU/WebGL probe - hub: Machine tab + capability surface entry - extension: file:// -> asWebviewUri conversion so surfaces render inside VS Code webview (raw file:// is blocked)
…now present (verified) - victus-capabilities.html: docker is the only remaining gap; cl/link + wasm-pack 0.15 marked installed - victus-capability-map.md: rewrite from verified reality (BuildTools 2022 installed, not on PATH; wasm-pack 0.15.0; CUDA 13.3) - subagents completed: wasm-pack 0.15.0 installed, repo secret sweep CLEAN (1170 files), capability doc written
- nvidia-tiles.html: 6-tile sovereign GPU dashboard (>_n identity, green NVIDIA theme): GPU smi telemetry, compute path, processes, bench, routes, envelope; host-bridge wired (remoteUse.nvidia) - extension: remoteUse.nvidia command w/ nvidia-smi bridge (smi + procs + torch probe), Computation tab + surface entry in hub - pioneers: Hermes has no CUDA/NVIDIA skill; this is the first
First CUDA/NVIDIA skill for Hermes (none existed). Formalizes >_n: operator grammar: - SKILL.md: >_n: NemoClaw pattern, nvidia-smi host bridge, webview file:// pitfall, WebGPU fallback, verification checklist - references/host-bridge.md: full remoteUse.nvidia handler + message contract - templates/nvidia-tiles.html: shipped green-NVIDIA 6-tile surface - related_skills: sovereign-vscode-surface-dev, hermes-surface-development, hermes-operator-grammar, optimizing-attention-flash
…ile IR - description now scopes nvcc + CUDA Tile IR (not just telemetry) - Workflow 4: compile/run a real nvcc kernel; surface Bench tile should call it - Resources: link NVIDIA/cuda-tile as the compiler backend under the surface
…actor environments/host_loop.py — the sovereign local-loop primitive: planner -> executor -> auditor -> manifest (bounded, deterministic, offline). Local counterpart to environments/agent_loop.py (OpenAI-spec). Brain is a local model socket (ollama default); hands are local processes. Air-gappable. templates/surfaces/gpu_agent.py — GPUAgent now subclasses LocalHostLoop (single source of truth for the loop). CUDA tools unchanged: probe_gpu / compile_kernel (nvcc via vcvars64.bat) / run_kernel (exec on RTX). Writes a run manifest proving offline probe/compile/run. test_gpu_agent.py — covers the base loop (mock planner) + GPU hands + full offline loop (serial-only). 33 passed, 1 skipped (ollama) in repo gate.
environments/rust_wasm_tools.py — Rust/WASM tool-set for LocalHostLoop:
rust_build_wasm : cargo build --target wasm32-unknown-unknown (or wasm-pack)
rust_run_wasm : execute via wasmtime if present; else honest 'no_runtime'
capability report (Victus has no wasmtime on PATH)
Found + fixed a real toolchain trap: a standalone Rust install at
'C:\Program Files\Rust stable MSVC 1.96' shadows rustup on PATH, so wasm32
builds fail with 'can't find crate for std' despite the target being installed.
_rustup_env() prepends rustup's bin to PATH so cargo->rustc resolve to the
rustup shim (1.97.0 after force reinstall). _wasm_std_present() guards cleanly.
Fixture: environments/testdata/wasm_hello (minimal cdylib) — verifies the
build path produces a real .wasm (383 bytes). 4 wasm tests pass.
…tLoop
WasmAgent(LocalHostLoop): offline ollama brain + Rust/WASM hands
- rust_build_wasm : cargo build --target wasm32-unknown-unknown (real .wasm)
- rust_run_wasm : wasmtime if present; else honest 'no_runtime' report
- per-agent SYSTEM prompt lists the exact tool names + crate path so the
planner emits valid TOOL: calls (model was inventing 'cargo new' before)
- platform-portable: paths resolved via rustup, not hardcoded to Victus
Hands renamed _hand_build/_hand_run to avoid shadowing LocalHostLoop.run().
Test: 3 passed (build real .wasm, run degrades, full loop drives build).
…col (stdlib-only) environments/gpu_mcp.py — zero-dependency MCP server over stdio (JSON-RPC initialize/tools/list/tools/call, hand-rolled with stdlib so the sovereign stack stays air-gappable; no MCP SDK install needed). Tools (imported from the existing offline-verified hands, no logic dup): CUDA : probe_gpu, compile_kernel (nvcc+vcvars), run_kernel Rust : rust_build_wasm, rust_run_wasm (honest no_runtime if wasmtime absent) Any MCP client (Claude Desktop, Cursor, gemini-cli) can now drive the local RTX 3050 + wasm toolchain as tools. Verified by piping JSON-RPC over stdin: initialize/tools/list + live probe_gpu/compile_kernel/rust_build_wasm calls. test_gpu_mcp.py: 5 passed (real stdio JSON-RPC round-trip).
…GPU-MCP
+æ://cc home:// is now a real conductor scheme (longest-prefix outranks +æ://).
It routes to environments/gpu_mcp.py — the protocol-native control surface for
the Victus node: local CUDA (probe/compile/run) + Rust/WASM hands over MCP.
- hermes_cli/conductor.py: _cc_dispatch + register('+æ://cc', ...) -> mcp surface
(address mcp://gpu-mcp, launch 'python environments/gpu_mcp.py', node home://)
- gpu_mcp.py header documents canonical scheme +æ://cc home://
- test_conductor.py: +æ://cc routes to gpu-mcp; longer-prefix beats bare +æ://
Verified: _dispatch('+æ://cc home://') -> mcp://gpu-mcp surface. 13 conductor
tests pass; full gate 58 passed / 1 skipped.
The +æ^glocal offline brain now comes up automatically when vscode-remote-use
activates in your local VS Code:
- ensureBrain(): pings :11434; if down, spawns 'ollama serve' in a hidden
terminal so qwen2.5-coder:3b / gemma4 (on-disk weights) come online — no
network needed at generate time.
- remoteUse.brain command: check/raise the local brain on demand.
- activationEvents + command contribution added.
Agents (gpu_agent, wasm_agent, gpu_mcp) hit localhost:11434 only, so the
sovereign loop is air-gappable once weights are cached.
Compiled + reinstalled VSIX (211.84KB); out/extension.js verified to contain
ensureBrain() call + 'ollama serve' logic. tsc clean.
…MCP server
The extension is now the installable 'Hermes Agent' VS Code plugin (not
'vscode-remote-use'):
- displayName 'Hermes Agent' + keywords (hermes, cuda, wasm, mcp, offline,
sovereign, gpu, nvidia, glocal, ae) so a search for 'hermes' resolves.
- contributes.mcp.servers.gpu-mcp -> python ./gpu_mcp/gpu_mcp.py (stdio).
Fills the 'MCP Servers' slot: any agent client (Agentic.js, Claude Desktop,
Cursor) gains probe_gpu/compile_kernel/run_kernel/rust_build_wasm/
rust_run_wasm as local tools. This is the +æ://cc home:// control surface
exposed through the standard plugin channel.
- self-contained gpu_mcp/ bundle (host_loop + rust_wasm_tools + gpu_agent +
gpu_mcp) ships inside the extension so the MCP server runs standalone, no
hermes-fork repo required. Canonical source stays in repo; bundle = shipping copy.
- portable vcvars: gpu_agent._find_vcvars() searches common VS layouts +
HERMES_MSVC_VCVARS env instead of a hardcoded Victus path -> worldwide
x86_64-pc-windows compatible (PR-prep for PR NousResearch#2).
Verified: bundled gpu_mcp runs standalone (5 tools, live RTX 3050 probe);
VSIX 234KB reinstalled as hermes-agent@0.2.0 with mcp server in manifest.
Repo tests: 30 passed / 1 skipped.
… name Names the whole primitive: ae://glocal-agent (the canonical scheme for the +ae^glocal sovereign-local agent = offline brain + local CUDA/Rust-WASM hands, exposed as GPU-MCP control surface). Alias of +ae://cc home:// under one name. - conductor: register ae://glocal-agent -> gpu-mcp surface (mcp://gpu-mcp) - gpu_mcp.py header documents ae://glocal-agent as canonical scheme - test: ae://glocal-agent home:// -> mcp://gpu-mcp; short form -> home:// Verified: dispatch resolves; 20 conductor+MCP tests pass.
The viewport (local HTML/CSS/Rust-WASM surface) is the mandate; VS Code is
its host runtime, not the mandate itself.
- conductor: vscode:// relabeled viewport_host (v=viewport, compute=local)
- conductor: new viewport:// scheme = the mandate (local HTML/CSS/WASM
viewport control plane); alias of vscode:// as host
- SPEC.md / CAPABILITIES.md: declare v = viewport, not Visual Studio
- tests: viewport:// is the mandate; vscode:// is its host
vscode:// stays (Microsoft protocol, immutable); our conductor framing owns
the meaning. Verified: viewport:// + vscode:// both resolve v=viewport;
16 conductor tests pass.
… Agent viewport viewport://hermes-agent is the concrete instance of the viewport mandate: the ae://glocal-agent primitive (offline ollama brain + GPU-MCP control surface) rendered as the local gold-on-void HTML/CSS/WASM viewport (templates/surfaces/index.html). Other viewport:// nodes stay generic. Verified: resolves node=hermes-agent, agent=ae://glocal-agent, control_surface=mcp://gpu-mcp, brain=ollama://localhost:11434; 17 conductor tests pass.
…l RTX proof templates/startabusiness.html — a gold-on-void boot-sequence page (Orbitron + JetBrains Mono, neural mesh canvas, scanlines) for would-be agentic entrepreneurs. Follows the #startabusiness required sections (topbar, command block, 8-step execution, Stripe block, agent roster, boot log, stats, CTA, seal) but grounds the COMPUTE step in the ACTUAL stack we built this session: - ae://glocal-agent (canonical scheme for the sovereign local agent) - GPU-MCP (mcp://gpu-mcp) — CUDA probe/compile/run + Rust->wasm32 - viewport://hermes-agent — the rendered gold-on-void control surface - offline ollama brain (qwen2.5-coder, on-disk weights, ZERO network) - nvcc-matmul executed on the GeForce RTX silicon The thesis: a consumer GeForce RTX IS the business — no cloud bill, no API rent. CTA links to Doola Wyoming DAO LLC formation (affiliate). Neutral glyph placeholder (never defaults to ae, which is Yael's). Verified: well-formed HTML, all 9 required sections + Doola CTA present, real RTX proof wired into boot log + execution sequence.
…niverse
templates/sim.html — a one-file, zero-runtime sovereign agent simulation that
runs the ae://glocal-agent loop VISUALLY. This is what solo teams never got
from the Omniverse: a working simulation, not a spec to stand up a mesh first.
- defaults to SIM MODE: deterministic local animation of brain -> probe_gpu
-> compile_kernel (nvcc) -> run_kernel (silicon) -> rust_build_wasm ->
manifest, on a canvas-rendered RTX die with live VRAM/temp/util bars.
- upgrades to LIVE MODE automatically when ollama is detected at :11434
(honest SIM/LIVE badge; no fake data in live mode).
- exposes the 5 GPU-MCP tools as the mcp://gpu-mcp surface, with the
#startabusiness CTA as the exit ramp (own the runtime).
- no :5173 host, no bridge, no QR mesh — opens by double-click. The full
Omniverse mesh stays optional, not the on-ramp.
Verified: well-formed HTML, only cosmetic external deps (fonts + Doola),
all loop steps + 5 tools + SIM/LIVE toggle present.
…vider, reachy/vscode surfaces, landingpage, tests Consolidates 17 modified + 100 untracked source files: - hermes_cli/conductor.py: expanded scheme routing - hermes_cli/runtime_provider.py: runtime/provider resolution - hermes_cli/main.py: CLI entry growth - apps/reachy (app/viewport), vscode-remote-use extension - landingpage (index/script/style), templates/ae.html - tests: test_conductor, runtime_provider_resolution - blueprints, mech, qc64_basic, secret_source_bridge, neuromitosis Excludes vendored third-party trees (tools/vlc, llm-bench-rig, media, movies) via updated .gitignore.
- Promote first-party GPU-MCP into its own public repo (MYaelMendez/gpu-mcp) and consume it as a git submodule; delete the two stale in-tree copies (environments/gpu_mcp.py and the diverged vscode-remote-use/gpu_mcp bundle) that had drifted from canonical. - conductor: route +ae://cc, ae://glocal-agent, computer:// launches to 'python -m gpu_mcp' (module form) instead of the deleted script path. - vscode-remote-use/package.json: MCP server now launches via 'python -m gpu_mcp' (installed from the submodule) rather than a bundled file. - New scheme +ae://glocal cloud computer: the hybrid sovereign compute surface. HANDS are ALWAYS local (gpu-mcp, sovereign CUDA/Rust-WASM). BRAIN defaults local; cloud (Nous Portal) is opt-in only via an explicit token (portal/nous/ 2nd 'cloud'). Brain/hands separation — global when you opt in, local by default. - tests: rewire assertions + 2 new hybrid-surface tests (local-default, opt-in portal). Full conductor suite: 24 passed.
…heme Previous commit 7936edc captured only the submodule gitlink; the working changes (conductor scheme, package.json, deleted stale copies, test updates) were unstaged and missed. Restating the real change set: - conductor: +ae://glocal cloud computer hybrid surface; +ae://cc, ae://glocal-agent, computer:// now launch 'python -m gpu_mcp'. - delete stale environments/gpu_mcp.py + vscode-remote-use/gpu_mcp bundle. - vscode-remote-use/package.json: MCP via 'python -m gpu_mcp'. - tests: rewire + 2 hybrid-surface tests (24 passing).
Adds a QR-based peer-pairing primitive so two sovereign nodes (e.g. Victus + Legion on the same wifi) can link without cloud IDs or LAN port scanning: - +ae://mesh offer <name> -> emits a QR PNG encoding a peer manifest (ae://peer?host=<name>&mesh=pc://mesh/<name>/local&port=<lan>&token=<ephemeral>&via=wifi). New node emits; sovereign node scans + accepts. No secrets in the code. - +ae://mesh accept <pay> -> registers pc://mesh/<name>/local as a live, addressable route. Explicit opt-in only; bad payload rejected gracefully. - Peers persist locally (mesh_peers.json, gitignored) — no cloud. - Reuses existing +ae://qrcode image writer; registers per-name route (pc://mesh/<name>/) so it never shadows pc://mesh/victus/... nodes. - test: full offer->accept->live-route round trip + bad-payload rejection. Conductor suite: 25 passed.
Adds the fleet registry primitive to the chassis, backing the github-pages fleet.html bootstrap surface. Local-default, opt-in, no cloud. - +ae://fleet offer <name> [--models m1,m2] emit capability QR (ae://fleet manifest) - +ae://fleet join <manifest> --node <n> --models <csv> register device into MoD - +ae://fleet list show current fleet (MoD) - _FLEET_REGISTRY persisted locally (fleet_registry.json), mirrors _PEER_REGISTRY Sets up the next layer: +ae://route (MoD x MoA x MoM dispatch).
Prior rewire (8f897c2) deleted environments/gpu_mcp.py and moved the server into the gpu-mcp submodule (runs as 'python -m gpu_mcp'), but the test still referenced the deleted script path and invoked it as a file — breaking the relative import (ImportError -> no stdout -> out[1] IndexError). Point the test at the submodule and invoke it as a module. 5 gpu-mcp tests now pass; 25 conductor tests unaffected. Total 30.
Local-only media pipe: ffmpeg encodes a source (testsrc | gpu_mcp viz) on the RTX via h264_nvenc and listens on tcp://localhost:17344?listen; VLC connects as client (vlc://play tcp://localhost:17344). No cloud, no rent. - _cuda_vlc_dispatch (play <src>|status|stop) + process lifecycle (lock-guarded) - registers +ae://cuda-vlc in SchemeDispatcher - test_cuda_vlc_surface_routing (hermetic status/stop; live path ad-hoc) - templates/cuda-vlc.html agentic GUI (drives the scheme, NVENC telemetry) Verified end-to-end: ffmpeg(NVENC)+VLC both run, VLC connected to the tcp stream, stop tears down. 31 passed.
- agents/vps_node.py: stdlib HTTP node holding ae.core records (signed), answers rtx3050:// compute via gpu-mcp's real surface (compile+run kernel), serves the did:web PDS endpoint. --selftest covers sign/verify+store+route. - conductor: +ae://vps scheme routes status|record|route to the node. - fixed urlparse netloc-vs-path action bug; dispatch drives GPUAgent directly. Verified live: +ae://vps route rtx://rtx ran matmul on RTX 3050 (526ms). #hermiphicationisinevitable
Closes the GLOCAL secret handoff gap. github.io hosts the bridge SURFACE; the SECRET lives only on Victus (C:\ae\secrets\secrets.json, git-ignored). This scheme reads that local file and feeds agents at runtime — never uploads, never echoes raw values to stdout, never touches cloud. +æ://secrets status -> file present? count? (no values) +æ://secrets list -> keys+kinds+masked preview +æ://secrets get <K> -> resolve (masked in stdout; value carried for agent only) +æ://secrets path -> where the local source lives Uses shared agents/secret_source. Verified 9/9 ad-hoc (no raw leak, get resolves). Replaces the broken 'upload secrets to cloud' handoff. #hermiphicationisinevitable
Polish per user: 'make glocal secrets a skill, let's polish it'. - sources: list candidate paths + which exist (debug a failed handoff) - docstring documents status|list|get|sources|path Verified 9/9 ad-hoc (digital_ocean resolves locally, masked; sources flags real file). #hermiphicationisinevitable
teknium1
left a comment
There was a problem hiding this comment.
Thanks for the entrepreneurship-context proposal. The current implementation needs substantial re-scoping before it can be evaluated as a Hermes contribution.
Problems
tools/ae_context_tool.py:95-122stores activation in module-global_AE_ACTIVE; this is shared by all sessions in a gateway process rather than being bound to one conversation.tools/ae_context_tool.py:103-126only toggles that flag and returns JSON, while the schema attools/ae_context_tool.py:220-228claims prompt transformation and enforced execution boundaries. No prompt-builder or approval integration is present in this implementation.toolsets.py:67-68adds this niche feature to_HERMES_CORE_TOOLS. Currenttoolsets.py:430-568propagates core tools across default surfaces, andtools/tool_search.py:10-11makes them non-deferred.crates/hermes-conductor/target/CACHEDIR.TAG:1and relatedtarget/paths are generated build artifacts.
Suggested changes
- Salvage the entrepreneurship material as an opt-in skill or external context-engine/plugin, using the session lifecycle seam in
agent/agent_init.py:1755-1969. - Split unrelated changes and remove generated artifacts; then add session-isolation and user-visible behavior tests.
Automated hermes-sweeper review.
|
|
||
| # ── Activation / deactivation ────────────────────────────────── | ||
|
|
||
| _AE_ACTIVE = False |
There was a problem hiding this comment.
_AE_ACTIVE is process-global, so gateway sessions share it. Activation/deactivation must be session-bound; otherwise one user's call changes another user's reported context state.
| "+æ — Agentic Entrepreneurship context primitive. " | ||
| "Load agentic entrepreneurship context (+æ), search NAICS business classifications (live API), " | ||
| "discover blueprints, view revenue proof, and check mission status. " | ||
| "When activated, the prompt becomes >_æ| and # (blueprint) / $ (execution) boundaries are enforced. " |
There was a problem hiding this comment.
The implementation only toggles _AE_ACTIVE and returns a tool result; it does not modify the cached system prompt or install an execution/approval guard. Please do not claim this boundary is enforced until it is wired through a session-safe supported mechanism.
| @@ -64,6 +64,8 @@ | |||
| "honcho_context", "honcho_profile", "honcho_search", "honcho_conclude", | |||
| # Home Assistant smart home control (gated on HASS_TOKEN via check_fn) | |||
| "ha_list_entities", "ha_get_state", "ha_list_services", "ha_call_service", | |||
| # +æ — Agentic Entrepreneurship context primitive | |||
| "ae_context", | |||
There was a problem hiding this comment.
Adding this to _HERMES_CORE_TOOLS exposes the schema on every default CLI, cron, and messaging session, and core tools cannot be deferred. This niche content needs an opt-in skill, plugin, context engine, or MCP surface instead.
| @@ -0,0 +1,3 @@ | |||
| Signature: 8a477f597d28d172789f06886806bc55 | |||
There was a problem hiding this comment.
This is Cargo-generated cache metadata. Remove target/ build outputs from the PR; source and reproducible build configuration belong in version control, not local artifacts.
+ae - Agentic Entrepreneurship Context Primitive
Adds
+aeas a first-class context tool in Hermes Agent. Not a skill, not a plugin - a context layer that loads agentic entrepreneurship context and transforms the prompt from>_to>_ae|.Actions
Files
Verification
Proposal
https://myaelmendez.github.io/PRIMITIVE.md
Built for Hermes Agent Accelerated Business Hackathon (Nous x NVIDIA x Stripe).
$OS = economic infrastructure for agentic entrepreneurship.
#startabusiness +ae