Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions ABOUT.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
**Hermespace is a functional J-Space workbench for Hermes agents** — FOA desk, dual decode, and an append-only world projection. Not [J-Space](https://github.com/anomalyco/j-space) neural weights. Not a second runtime. A harness-level global workspace inside Hermes that runs **standalone** and is **powered by [HermesCube](https://github.com/PabloTheThinker/hermescube)** when present.
**Hermespace is a functional Access Workspace workbench for Hermes agents** — FOA desk, dual decode, and an append-only world projection. Not [Access Workspace](https://github.com/anomalyco/j-space) neural weights. Not a second runtime. A harness-level global workspace inside Hermes that runs **standalone** and is **powered by [HermesCube](https://github.com/PabloTheThinker/hermescube)** when present.

Alongside the desk: skills+MEMORY fabric, neural FOA, autonomy grid, Cube heart/center cable (soft-fail).

Expand Down Expand Up @@ -38,7 +38,7 @@ Hermespace solves this with two systems:
| Project | Relation |
|---------|----------|
| [ActiveGraph](https://github.com/anomalyco/ActiveGraph) | Event log is the agent, graph is the world — influenced the archive-first design |
| [J-Space](https://github.com/anomalyco/j-space) | Verbal workspace, ~25 concepts, broadcasting hub — inspired the `concepts` system and `_refresh_concepts()` |
| [Access Workspace](https://github.com/anomalyco/j-space) | Verbal workspace, ~25 concepts, broadcasting hub — inspired the `concepts` system and `_refresh_concepts()` |
| [Missing Knowledge Layer](https://arxiv.org/abs/2405.10697) | Knowledge = supersession, Memory = decay, Wisdom = evidence-gated — inspired the epoch progression from unfiltered archive → evidence-gated wisdom |
| [Vygotsky](https://en.wikipedia.org/wiki/Inner_speech) | Inner speech, signs as instruments of thought — influenced the dual decode architecture (report to human vs context to model) |
| [Hermes Agent](https://github.com/NousResearch/hermes-agent) | The agent that grows with you, by Nous Research |
Expand Down
3 changes: 2 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ PYTHONPATH=src python3 -m unittest discover -s tests -v
| Agent skill | `skills/hermespace/` |
| CLI | `src/hermespace/cli.py`, `scripts/hs` |
| Tests | `tests/` |
| North star | `PURPOSE.md`, `docs/CODEMAP.md` |
| North star | `PURPOSE.md`, `LAYOUT.md`, `docs/architecture/CODEMAP.md` |
| Assessment | `docs/assessment/28-hermes-agent-jspace-assessment.md` |
| Maintainer note | `FOR_HERMES.md` |
| Integration doors | `INTEGRATION.md`, `WORKFLOW.md` |

Expand Down
90 changes: 2 additions & 88 deletions FOR_HERMES.md
Original file line number Diff line number Diff line change
@@ -1,89 +1,3 @@
# For Hermes Agent maintainers & dogfooders
# FOR_HERMES

**Repo:** https://github.com/PabloTheThinker/hermespace
**Companion to:** [NousResearch/hermes-agent](https://github.com/NousResearch/hermes-agent)
**Not** an official Nous product — independent open companion workspace.

## What this is (30 seconds)

Hermespace adds a **limited working-memory desk** beside Hermes:

1. **Workbench** — FOA, park stack, load-aware `receive_order`
2. **Dual decode** — short human `report` vs dense model `context` (never dump inject to chat)
3. **Fabric** — rank *this* `$HERMES_HOME/skills` + inject MEMORY/USER excerpts
4. **Plugin** — `on_session_start` / `pre_llm_call` / `on_session_end` broadcast when desk ready
5. **Study DB** — turns under `~/.hermespace` (local; not Hermes session DB)

It does **not** replace Hermes tools, skills, memory, gateway, or the agent loop.

## Fast path

```bash
git clone https://github.com/PabloTheThinker/hermespace.git
cd hermespace
./scripts/install_hermes.sh
./scripts/smoke_test.sh # expect 9/9
```

Then in any agent session:

```python
from hermespace import Workbench
wb = Workbench(agent_id="hermes", session_id="main")
wb.enter()
r = wb.receive_order("…", goal="…", say="…", force=True)
# r["user_reply"] → user r["model_context"] → model
```

Or CLI: `./scripts/hs turn -m "…" --goal "…" --say "…" --force`

## Design honesty

| Claim | Reality |
|-------|---------|
| “Like Claude J-space” | **Role** only — limited workspace *outside* weights. No activation access. |
| Consciousness / brain scan | **No.** Harness cognition + optional local embeddings. |
| Replaces Hermes skills/memory | **No.** Ranks and injects them. |
| Official Nous module | **No.** Community companion; feedback welcome. |

Inspired by working-memory limits (Baddeley-style capacity, load, GWT broadcast as *metaphors* for agent UX) and Anthropic’s public J-space *research framing* — implemented as open Hermes integration, not a closed-model probe.

## Integration surface

| Door | Entry |
|------|--------|
| Plugin | `hermes_plugin/` → `$HERMES_HOME/plugins/hermespace` |
| Skill | `skills/hermespace/` → `$HERMES_HOME/skills/hermespace` |
| Python | `hermespace.agent_api`, `hermespace.Workbench` |
| CLI | `scripts/hs` |
| Smoke | `scripts/smoke_test.sh` |

Hook implementation lives in `src/hermespace/hermes_bridge.py` (plugin is thin `register`).

When the plugin directory is a **symlink into this checkout**, import auto-resolves `../src` so dogfooders often need no `HERMESPACE_ROOT`.

## Autonomy grid (v0.14)

Missions, lenses, dream, self-talk, skillbench (hot-swap / merge / mutate), title tree.
Ground-up for Hermespace — not a port of AgentDrive or Conductor.

```bash
hs grid status
hs grid dream --force
```

See docs/18-autonomy-grid.md. Autonomy self-order stays **off** unless `HERMESPACE_AUTONOMY=1`.

## What we want from Hermes dogfood

- Does plugin register cleanly on current Hermes?
- Is dual-decode useful on Telegram/gateway, or noisy?
- Fabric skill ranking quality on real skill trees?
- Gaps vs native Hermes memory / Honcho / skills loop?
- Would you want any of this upstream-shaped (skill only, plugin only, or neither)?

Open issues/PRs on the repo. Thanks for looking.

## License

MIT — see `LICENSE`. Hermes Agent remains Nous Research’s project under its own license.
Moved to **[docs/integration/FOR_HERMES.md](docs/integration/FOR_HERMES.md)**.
2 changes: 1 addition & 1 deletion INTEGRATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ hermes plugins enable hermespace
```

Agent skill SoT: [`skills/hermespace/SKILL.md`](skills/hermespace/SKILL.md).
Recommended env: see `docs/RECOMMENDED.md`.
Recommended env: see `docs/ops/RECOMMENDED.md`. · Layout: `LAYOUT.md`.

## Door A — Python (best for agents)

Expand Down
60 changes: 60 additions & 0 deletions LAYOUT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Hermespace codespace layout

North star: [PURPOSE.md](PURPOSE.md) · Assessments:
[28-hermes-agent-jspace](docs/assessment/28-hermes-agent-jspace-assessment.md) ·
[33-living-memories-cube-world](docs/assessment/33-living-memories-cube-world.md)

## Repository map

```
hermespace/
├── PURPOSE.md / ABOUT.md / README.md / LAYOUT.md
├── src/hermespace/ # Python package
│ ├── access/ # ★ Access Engine (hub · env · protocol · engine)
│ ├── turn/ # planned — workflow/desk/gate (README only)
│ ├── memory/ # planned — world/episodic/semantic (README only)
│ ├── warehouse/ # planned — cube cable (README only)
│ ├── grid/ # autonomy grid (missions · dream · skillbench)
│ ├── hermes_bridge.py # Hermes plugin hooks
│ └── … # turn spine still at package root (stable imports)
├── hermes_plugin/ # thin Hermes register()
├── desktop_plugin/ # Hermes Desktop page/pane
├── skills/hermespace/ # agent skill
├── docs/
│ ├── access/ # Access Workspace map · thesis · environment
│ ├── assessment/ # deep assessments
│ ├── architecture/ # CODEMAP · Cube contract
│ ├── integration/ # Hermes fit · FOR_HERMES
│ ├── ops/ # pulse · everyday · recommended
│ ├── research/ # numbered research archive
│ └── roadmap/ # open backlog · OEW phases
├── tests/ · scripts/ · experiments/ · benchmarks/
├── runtime/ · spec/ # templates / protocol specs
└── assets/
```

## Layer authority

| Layer | Path | Authority |
|-------|------|-----------|
| OEW / Access Workspace | `src/hermespace/access/` | Turn FOA + audit SoT |
| Turn spine | package root (`workflow`, `desk`, …) | Live turn |
| Autonomy | `grid/` | Missions / dream / skillbench |
| Identity projection | `world.py` … | Recharged from Cube |
| Warehouse cable | `cube_module.py` | Soft-fail Cube heart |
| Hermes surface | `hermes_plugin/` + bridge | Hooks only |

## Import rules

Prefer:

```python
from hermespace.jspace import JSpace, JSpaceEnv, evaluate_material_turn
```

Compat: `hermespace.jspace_env` still re-exports `JSpaceEnv`.

## Moving code later

Planned packages under `turn/`, `memory/`, `warehouse/` hold READMEs only until
OEW Phase B is green — avoid churning imports while the protocol lands.
30 changes: 18 additions & 12 deletions PURPOSE.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
# PURPOSE.md — Hermespace north star

**One line:** Hermespace is the **true external J-Space environment** for Hermes
**One line:** Hermespace is the **true external Access Workspace environment** for Hermes
Agent — a harness where the agent’s verbalizable thoughts are forced into an
observable workspace (lens · silent chain · audit · reflect), running
**standalone** and **powered by HermesCube** at night the way CubeDream
consolidates the day.

Public pitch: **[ABOUT.md](ABOUT.md)**. Research map:
**[docs/27-jspace-environment.md](docs/27-jspace-environment.md)**.
Code layout: **[docs/CODEMAP.md](docs/CODEMAP.md)**. Cube contract:
**[docs/HERMESCUBE.md](docs/HERMESCUBE.md)**.
Public pitch: **[ABOUT.md](ABOUT.md)**. Assessment:
**[docs/assessment/28-hermes-agent-jspace-assessment.md](docs/assessment/28-hermes-agent-jspace-assessment.md)**.
OEW thesis: **[docs/access/thesis-oew.md](docs/access/thesis-oew.md)**.
Hermes base as J-space: **[docs/access/32-hermes-base-as-jspace.md](docs/access/32-hermes-base-as-jspace.md)**.
Anthropic X video: **[docs/access/31-anthropic-x-video-deep-dive.md](docs/access/31-anthropic-x-video-deep-dive.md)**.
Environment: **[docs/access/27-environment.md](docs/access/27-environment.md)**.
Code layout: **[LAYOUT.md](LAYOUT.md)** · **[docs/architecture/CODEMAP.md](docs/architecture/CODEMAP.md)**.
Cube contract: **[docs/architecture/HERMESCUBE.md](docs/architecture/HERMESCUBE.md)**.

---

Expand All @@ -30,7 +34,7 @@ Cube’s durable heart so day-thoughts become night-memory.
┌─────────────────────────────────────────────────────────────────┐
│ Hermes Agent │
│ │
│ Hermespace J-Space ENV (this package) │
│ Hermespace Access Workspace ENV (this package) │
│ protocol → early/mid/late bands │
│ silent chain (model only) · Report (user) │
│ lens readout · swap/inject/ablate · audit · reflect │
Expand All @@ -43,7 +47,7 @@ Cube’s durable heart so day-thoughts become night-memory.

| Layer | Job | Authority |
|-------|-----|-----------|
| **J-Space environment** | Externalize + observe verbalizable thought | Turn FOA + audit SoT |
| **Access Workspace environment** | Externalize + observe verbalizable thought | Turn FOA + audit SoT |
| **ACTIVE desk** | Goal / decision / report | Live turn surface |
| **WorldModel JSONL** | Identity projection | Recharged from Cube when present |
| **HermesCube** | Durable long-tail warehouse | Durable memory SoT when installed |
Expand Down Expand Up @@ -77,11 +81,13 @@ Cube’s durable heart so day-thoughts become night-memory.
## Success metrics

1. Operator can `hs jspace lens` and see silent intermediates Hermes parked
2. Swap changes subsequent Report/broadcast contents
3. Audit flags externalized manipulation/eval-awareness language
4. Reflect seals principles that reappear in hub
5. Dream/pulse harvest feeds Cube or standalone warehouse
6. Smoke 9/9 · unit tests green · runs without Cube
2. Sticky swap changes subsequent Report/broadcast (Soccer→Rugby)
3. Material turns auto-park ≥1 silent step (`HERMESPACE_OEW=1` default)
4. Reflect seeds the next mid-band; ablate filters model inject
5. Dual decode: user Report shaped; model gets hub + Cube strip
6. Audit flags externalized manipulation/eval-awareness language
7. Dream/pulse harvest feeds Cube or standalone warehouse
8. Smoke 9/9 · unit tests green · runs without Cube

## Version posture

Expand Down
Loading