feat(0.25): Access Engine on current main - #8
Open
PabloTheThinker wants to merge 32 commits into
Open
Conversation
Research Hermes Agent Quicksilver/Judgment updates and invent the Obligatory External Workspace (OEW) path to make Hermespace the functional J-space of Hermes agents. - Add deep assessment + OEW thesis + phased roadmap - Move jspace into src/hermespace/jspace/ (hub, env, protocol) - Reorganize docs into jspace/assessment/architecture/integration/ops/research/roadmap - Soft-wire ProtocolGate into workflow meta (HERMESPACE_OEW) - Add LAYOUT.md and planned turn/memory/warehouse package READMEs Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Make Hermespace the causal J-space for connected Hermes agents: - Auto-park silent intermediates on every material turn - Sticky Soccer→Rugby swap reshapes Report + silent chain - Reflect seeds next mid-band; ablate filters model broadcast - Wire OEW through workflow + hermes_bridge + session-end harvest - Quicksilver inject caps; experiments/oew_eval.py paper scenarios - HERMESPACE_OEW defaults to 1 (set 0 to soften) Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Deepen the research bridge (Baars GWT, Changeux/Dehaene GNW, Anthropic J-space + Dehaene commentary) and prove higher-order behavior for day-to-day Hermes use: - docs/jspace/29 + 30 (research + daily usage) - experiments/day_in_life_oew.py — 12/12 paper-shaped scenarios - Enforce hub ≤25 capacity bottleneck in JSpace._recompete - CI test runs the day-in-life harness Proof: selectivity, ignition, hold-while-report, silent dual-decode, France→China swap, inject, ablate, CRT reflect seed, workflow, night harvest, capacity, C2 audit. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Capture how Anthropic's X video/thread says J-space is operated (read, audit, shape; deliberate vs automatic; hidden goals) and make that the Hermes-base product surface: - docs/jspace/31-anthropic-x-video-deep-dive.md - docs/jspace/32-hermes-base-as-jspace.md - hermespace.HermesBase facade + hs base CLI - tests/test_hermes_base.py Thesis: Hermes Agent = specialists; Hermespace OEW = J-space; HermesCube = enduring memory Anthropic's model alone lacks. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
When a Hermes agent connects through Hermespace, charge Cube/standalone wisdom into WorldModel, seed the OEW hub, and surface optional hive peer presence. HermesBase.connect / hs base connect|room; living assessment maps Anthropic/Baars/Dehaene memories to the Cube-as-core design. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Merge FOA hub, OEW, dual decode, connect, lens/audit/scalpel, and harvest into one J-Space Engine for Hermes Agent — warehouse optional. Fixes: silent inject double-hold, Workbench second beat, double hub sync, fragmented night harvest. Adds access_roles, metrics, chain, probe, and plugin user_reply_hint. HermesBase becomes a thin alias. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Rename product surface away from third-party J-space naming: AccessEngine, AccessHub, AccessEnv, hermespace.access, hs access. Keep hermespace.jspace as a deprecated shim only. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Land the remaining operational-desk work on Access Engine rebased onto current main: - Insight soft-import (bounded perceive card, fail-soft, high-load skip) - Skip or shrink cube_beat when Hermes memory.provider already prefetched - World projects from the Cube book instead of a second JSONL archive - plugin.yaml provides_hooks for all 9 hooks plus advisory python_dependencies - Drop leftover ILO_HOME / ilo-finish-report strings without brand blocklists Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Hang the Insight strip beside cube_beat on pre_llm_call only. Feature-detect HermesInsight.perceive_card; skip until that method exists. Do not format perceive() output or call plan on the hot path. Skip entirely on high/protect load. AccessEngine.turn no longer injects Insight. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Config-only single-pump: if Hermes memory.provider is hermescube, do not call cube_beat / center.supply / build_space_inject on pre_llm. MemoryManager already prefetched. Empty prefetch leaves no second strip. pulse_charge and sync_world_beliefs stay on idle/enter/seal. No MemoryProvider in Space. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Fail-soft: missing or corrupt memory.provider config means provider off, so pre_llm still runs cube_beat. Skip only when provider is confirmed hermescube. Insight still never calls recall / perceive / insight_beat. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
cursor
Bot
force-pushed
the
cursor/access-engine-operational-d9a7
branch
from
August 15, 2026 13:53
daa7c35 to
09b244f
Compare
PabloTheThinker
marked this pull request as ready for review
August 15, 2026 13:53
Steal execute/focus shapes from hermes-audhd-skills without vendoring it. One live goal; park others as Name — state — next crumb. Report line 1 is the next action; lists cap at 5; never quiz as the lead. Fabric-hint audhd-* SKILL.md when present; skip emotion and skip if missing. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Steal grokbot doctor/enable shape only. Doctor fails when the plugin, skill, or plugins.enabled entry is missing. Install appends hermespace and never replaces Cube, Insight, or grokbot. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Plugin paints Goal · FOA≤4 · parked · sealed decision from the existing hs view snapshot. Core owns input: no mic, no orb, no second capture path. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Stop injecting the operator lens readout into model context. On the existing post_llm hook, park 1-3 silent steps extracted from the actual assistant text. The model must not see the operator lens as its J-space. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Hard protocol line in the inject. post_llm checks the actual utterance and reseeds if the bound intervention was ignored. Swaps that do not change the next Report are theater. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Name only — no args or results. Hub moves when tools fire so the observe-only FOA chip updates mid-turn from the existing snapshot. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
…abled hs install / install_hermes.sh copy Space, then offer optional organs. Always append to plugins.enabled. Set memory.provider=hermescube only when unset. Doctor FAILs if Space is broken; WARNs if Cube/Insight missing. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Register pre_tool_call, on_skill_lifecycle, kanban claimed/completed, and pre_verify as optional fail-open observers. Mid-load inject cap is strictly under 9k. on_session_finalize harvest has a 10s fail-open budget. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Community README/PURPOSE: desk plus optional Cube library and Insight pattern card behind one unioned plugins.enabled. No product rename. No weight-access claim. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Keep one user-message inject under mid ≤2.8k / high ≤900. Skip fluent ack, pinned protect, missing organs, and shared-hub subagents. Park a capped self-trace on the hub (goal, decision, tool:name, Report line) and seal one-line improve into Cube when present. No consciousness claim. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Four isolated fixture cases, Space-on vs HERMESPACE_OFF. No scores, no leaderboard. Q1 stays NOT RUN — no judge provider in the tree. Cube and Insight stay optional. Fluent ack parks nothing. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Empty-say turns derive a real plan and lead with next_action_line instead of dumping production/partner slots or the filler execute. FOA collapses near-duplicate gists to distinct clauses. Root plugin entry loads src/hermespace via importlib so a checkout named hermespace cannot shadow the package. Operator lens title is no longer J-Lens readout. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Match the proven empty-say cut, then tighten leftovers: desk.focus keeps one bind instead of prefixed copies; hub/neural collapse lang_stream and containment dups; empty say leads with a short verb phrase (Write the README) via next_action_line. Root plugin pops the shim from sys.modules before importing register. Lens title is Access lens (harness workspace); sanitizer still treats J-Lens readout as dirty. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Empty-say lead is compress_action_phrase(plan[0]) (drop short/a/an). FOA/hub/neural drop lang_stream and user-sentence echoes; bind + Write the README remain. OEW skips gist-contained candidates and still parks distinct Stop. Quality test asserts this live turn. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Hub already keeps T1 silent_steps. Append last-3 gist-filtered lines after bound_strip so the agent sees parked thought on the next inject. No pending_silent pump, no broadcast, no lens. Skip high/protect. Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
Empty-goal T2 that is not a restatement parks the previous goal, re-derives plan (strip now/please/just), and clears leftover say. Hub silent still rides the inject as ### Silent (prior). Co-authored-by: Pablo <PabloTheThinker@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is 0.25 Access Engine on current main (
bc624439, the merge of PR #9).Single land PR. Do not open a second Access Engine PR. Do not squash Cube, Insight, or sibling repos into this tree. No consciousness claims.
Two-turn cognition (this revision)
Both functions on this PR. No pending_silent pump. No
oew_broadcaston the inject.silent_chain_strip— last 3 hub silent lines, gist-filtered against the current user message, cap 8. Appended afterbound_stripinon_pre_llm_callandWorkflow.run. Skip high/protect. Header:### Silent (prior).message_is_new_goal+Workflow.run. If the operator left goal empty and the new message is not gist-contained in the live goal: park the previous goal (samepark_goalpath), live goal becomes the message, re-derive plan (derive_plan_steps, strip leading now/please/just/okay), clear leftover say sonext_action_linerebuilds. A restatement keeps goal/plan/say.Same
HERMESPACE_HOME, same session, empty-say:Write a short README for the auth fix/Stop['Stop'][Write the install section]### Silent (prior)andplan: Stop. 1073 chars (≤2800). Not a restate of T2.thankstrivial_ack)['Stop']not wipedT2 report does not stay
Write the README. It mentions install.Desk quality — leftover after-state
Empty-say live command:
Write the README["Write a short README for the auth fix", "Stop"]Write the README(nolang_stream:)Stoponly (user-sentence echo not parked)## Access lens (harness workspace)Gates (this revision)
thanks/trivial_ackOpen README.cube_beatnot called whenmemory.provider=hermescube.Close-out
Context budgets
One user-message inject. Mid ≤2.8k, high/protect ≤900, hard cap 8500. FOA≤4, silent≤8. Dual decode: Report line 1 = next action.
Self-model
Product language: self-model / self-trace / improve. Never “true self-conscious.”
Out of scope