Skip to content

Commit 2e69f58

Browse files
authored
feat: v1.0.0 — profiles, knowledge browser, MCP settings, skills hub, eslint
feat: add Knowledge, Profiles, MCP settings, and skills hub upgrades
2 parents 16181cc + fb17b5f commit 2e69f58

198 files changed

Lines changed: 14463 additions & 3654 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/security.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,4 +68,3 @@ jobs:
6868
fi
6969
7070
echo "✅ No obvious secret patterns found"
71-

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,3 +136,5 @@ __pycache__/
136136

137137
.env.docker
138138
.env.bak
139+
.runtime/
140+
workspace-final-markdown-review.md

CONTRIBUTING.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,3 @@ See `.env.example` for all options. Key ones:
5050
- **Describe what you changed** — clear PR title + description
5151
- **No secrets** — never commit API keys, tokens, or passwords
5252
- **Follow existing patterns** — match the code style you see
53-

FEATURES-INVENTORY.md

Lines changed: 735 additions & 0 deletions
Large diffs are not rendered by default.

FUTURE-FEATURES.md

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# FUTURE-FEATURES.md — Post-Roadmap Development
2+
23
_Added: 2026-03-09 | Source: Framework research (Anthropic Skills guide, OpenAI Agents SDK, Google ADK)_
34

45
These features are NOT part of the initial roadmap. Build them AFTER the v4 mockup is 100% complete and verified.
@@ -8,44 +9,51 @@ These features are NOT part of the initial roadmap. Build them AFTER the v4 mock
89
## 🔴 High Priority (unlocks "App Factory" overnight runs)
910

1011
### 1. Iterative Refinement Loop
12+
1113
**What:** Verification doesn't stop at one tsc pass. Loop: run tsc → errors? → send back to agent → fix → re-run. Max 3 iterations before escalating to human review.
1214
**Why:** Anthropic explicitly identifies this as the pattern that makes agents reliable. Current single-pass fails silently.
1315
**Where:** `workspace-daemon/src/verification.ts` + `checkpoint-builder.ts`
1416
**Pattern source:** Anthropic Skills Guide — "Iterative Refinement" design pattern
1517

1618
### 2. Agent Handoffs (Context Passing Between Agents)
19+
1720
**What:** When one agent finishes a wave, it passes structured context (git diff, error log, what it built, what it skipped) to the next agent. No more blind starts.
1821
**Why:** Current agents start each task cold. Handoffs are first-class in OpenAI Agents SDK — explicit control transfer with context. This is what keeps overnight runs coherent.
1922
**Where:** New `workspace-daemon/src/handoff.ts`, update adapter interfaces
2023
**Pattern source:** OpenAI Agents SDK — "Handoffs" primitive
2124

2225
### 3. Specialized Agent Roles
26+
2327
**What:** Replace generic Codex adapter with role-specific agents:
28+
2429
- **Researcher** — reads codebase, produces spec/context doc
2530
- **Planner** — takes spec, produces task breakdown with deps
2631
- **Builder** — executes tasks (Codex)
2732
- **Validator** — runs tsc, tests, reviews diff
2833
- **Deployer** — git ops, PR creation, notifications
29-
**Why:** The "App Factory" screenshot runs specialized roles. Generic agents miss domain context.
30-
**Where:** `workspace-daemon/src/adapters/` — one file per role
31-
**Pattern source:** Anthropic Skills — "Domain-specific intelligence" + App Factory pattern
34+
**Why:** The "App Factory" screenshot runs specialized roles. Generic agents miss domain context.
35+
**Where:** `workspace-daemon/src/adapters/` — one file per role
36+
**Pattern source:** Anthropic Skills — "Domain-specific intelligence" + App Factory pattern
3237

3338
---
3439

3540
## 🟡 Medium Priority
3641

3742
### 4. Parallel Guardrails (tsc watcher during agent run)
43+
3844
**What:** Run tsc in watch mode alongside Codex, not just after. Flag errors in real-time without waiting for checkpoint.
3945
**Why:** OpenAI SDK runs guardrails in parallel with the agent — catches issues without blocking the main flow.
4046
**Where:** New process spawned alongside agent in `agent-runner.ts`
4147
**Pattern source:** OpenAI Agents SDK — "Guardrails" primitive
4248

4349
### 5. Rollback on Checkpoint Rejection
50+
4451
**What:** When a checkpoint is rejected, auto-revert to pre-task git state rather than leaving dirty code in tree.
4552
**Why:** Currently a rejection leaves broken code that the next agent inherits.
4653
**Where:** `workspace-daemon/src/git-ops.ts` — add `revertToCheckpoint()` method
4754

4855
### 6. Context-Aware Tool Selection
56+
4957
**What:** Agent routing logic that picks different tools based on file size, task type, and context. Large refactors → Codex. Small surgical fixes → Claude ACP session. Research tasks → Claude with web search.
5058
**Pattern source:** Anthropic Skills — "Context-aware tool selection" pattern
5159

@@ -54,30 +62,33 @@ These features are NOT part of the initial roadmap. Build them AFTER the v4 mock
5462
## 🔵 Lower Priority (Enterprise / Scale)
5563

5664
### 7. Session Persistence Surfaced to Agents
65+
5766
**What:** Pass previous run context (what worked, what failed, git history) to agent at start of each task. Agents currently start blind even when re-running.
5867
**Where:** Update adapter `buildPrompt()` to include run history from SQLite
5968

6069
### 8. Progressive Skill Loading for Agent Prompts
70+
6171
**What:** Agent system prompts use Anthropic's 3-level progressive disclosure — minimal header always loaded, full instructions only when triggered, reference docs on demand.
6272
**Why:** Keeps context lean when running many agents in parallel.
6373
**Pattern source:** Anthropic Skills Guide — core architecture
6474

6575
### 9. Skills Marketplace / Agent Skill Definitions
76+
6677
**What:** Define agent "skills" as portable SKILL.md-style files that can be shared, versioned, and swapped. A "React Builder" skill vs "Python API Builder" skill.
6778
**Pattern source:** Anthropic agentskills.io open standard
6879

6980
---
7081

7182
## Summary Table
7283

73-
| Feature | Impact | Effort | Priority |
74-
|---------|--------|--------|----------|
75-
| Iterative refinement loop | 🔥 High | Low | Do first |
76-
| Agent handoffs | 🔥 High | Med | Do second |
77-
| Specialized agent roles | 🔥 High | High | Do third |
78-
| Parallel guardrails | Med | Med | After roles |
79-
| Rollback on rejection | Med | Low | After roles |
80-
| Context-aware tool selection | Med | High | Later |
81-
| Session persistence | Low | Low | Later |
82-
| Progressive skill loading | Low | Med | Later |
83-
| Skills marketplace | Low | High | Much later |
84+
| Feature | Impact | Effort | Priority |
85+
| ---------------------------- | ------- | ------ | ----------- |
86+
| Iterative refinement loop | 🔥 High | Low | Do first |
87+
| Agent handoffs | 🔥 High | Med | Do second |
88+
| Specialized agent roles | 🔥 High | High | Do third |
89+
| Parallel guardrails | Med | Med | After roles |
90+
| Rollback on rejection | Med | Low | After roles |
91+
| Context-aware tool selection | Med | High | Later |
92+
| Session persistence | Low | Low | Later |
93+
| Progressive skill loading | Low | Med | Later |
94+
| Skills marketplace | Low | High | Much later |

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
**Your AI agent's command center — chat, files, memory, skills, and terminal in one place.**
88

9-
[![Version](https://img.shields.io/badge/version-0.1.0-6366F1.svg)](CHANGELOG.md)
9+
[![Version](https://img.shields.io/badge/version-1.0.0-6366F1.svg)](CHANGELOG.md)
1010
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
1111
[![Node](https://img.shields.io/badge/node-%3E%3D22.0.0-brightgreen.svg)](https://nodejs.org/)
1212
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-6366F1.svg)](CONTRIBUTING.md)
@@ -132,7 +132,7 @@ Route through the Hermes gateway for sessions, memory, skills, jobs, and tools:
132132

133133
```yaml
134134
provider: ollama
135-
model: qwen2.5:7b # or any model you have pulled
135+
model: qwen2.5:7b # or any model you have pulled
136136
custom_providers:
137137
- name: ollama
138138
base_url: http://127.0.0.1:11434/v1

SECURITY.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ If you discover a security vulnerability in Hermes Workspace, please report it r
66

77
**Do NOT open a public GitHub issue for security vulnerabilities.**
88

9-
Instead, email: **security@hermesworkspace.app**
9+
Instead, report via [GitHub Security Advisories](https://github.com/outsourc-e/hermes-workspace/security/advisories) or DM [@ericousodev on X](https://x.com/ericousodev).
1010

1111
We will acknowledge your report within 48 hours and aim to provide a fix within 7 days for critical issues.
1212

@@ -28,28 +28,33 @@ We will acknowledge your report within 48 hours and aim to provide a fix within
2828
## Security Measures (v3.0.0+)
2929

3030
**Authentication**
31+
3132
- All API routes require authentication as of v3.0.0
3233
- Session tokens use timing-safe comparison to prevent timing attacks
3334
- httpOnly + SameSite=Strict cookies
3435
- Token revocation on logout
3536

3637
**Network**
38+
3739
- `Access-Control-Allow-Origin` restricted to localhost — no wildcard CORS
3840
- Browser proxy and screenshot endpoints locked to same-origin only
3941
- Rate limiting on high-risk endpoints (file access, debug, exec)
4042

4143
**Data & File Access**
44+
4245
- Path traversal prevention on all file and memory routes (`ensureWorkspacePath()`)
4346
- `.md`-only restriction on memory write routes
4447
- No API keys or secrets ever exposed to client-side code
4548
- Hermes tokens are server-side only
4649
- Diagnostic output scrubbed of sensitive data
4750

4851
**Agent Safety**
52+
4953
- Exec approval workflow — sensitive Hermes exec commands require explicit human approval via in-UI modal
5054
- Skills security scanning — every skill from the marketplace is scanned for suspicious patterns before install
5155

5256
**Configuration**
57+
5358
- Environment files are gitignored
5459
- Config endpoints redact credentials in responses
5560
- Example configs use placeholder keys only
@@ -69,9 +74,8 @@ We will acknowledge your report within 48 hours and aim to provide a fix within
6974

7075
## Supported Versions
7176

72-
| Version | Supported |
73-
|---------|-----------|
74-
| v3.x (main) | ✅ Active |
75-
| v2.x | ⚠️ Security fixes only |
76-
| < v2.0 | ❌ Unsupported |
77-
77+
| Version | Supported |
78+
| ----------- | ---------------------- |
79+
| v3.x (main) | ✅ Active |
80+
| v2.x | ⚠️ Security fixes only |
81+
| < v2.0 | ❌ Unsupported |

docker/agent/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ RUN pip install --no-cache-dir -e .
1212

1313
EXPOSE 8642
1414

15-
CMD ["hermes", "--gateway"]
15+
CMD ["hermes", "gateway", "run"]

docs/hermes-openai-compat-spec.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ We want to reverse that.
3737
This is the decision to lock in:
3838

3939
> **Hermes Workspace must work standalone against any OpenAI-compatible backend.**
40-
>
40+
>
4141
> Hermes-specific workspace features may enhance the experience when the full Hermes API is available, but the product must remain usable without those endpoints.
4242
4343
Non-negotiable implication:
@@ -365,9 +365,9 @@ This is not the detailed task plan, but the engineering direction should be:
365365
Lock this in:
366366

367367
> Hermes Workspace is a standalone frontend for OpenAI-compatible chat backends.
368-
>
368+
>
369369
> Hermes-native APIs are an enhancement layer, not a requirement.
370-
>
370+
>
371371
> Step 1 is portable compatibility now.
372-
>
372+
>
373373
> Step 2 is upstreaming the enhanced Hermes APIs so no fork is needed ever again.

eslint.config.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,3 @@ export default [
88
ignores: ['eslint.config.js', 'prettier.config.js', 'vite.config.ts'],
99
},
1010
]
11-
12-

0 commit comments

Comments
 (0)