openhermes 4.0.1 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ETHOS.md +6 -3
- package/LICENSE +21 -21
- package/README.md +111 -81
- package/bootstrap.ts +405 -0
- package/harness/agents/openhermes.md +45 -55
- package/harness/codex/AUTOPILOT.md +126 -0
- package/harness/codex/CONSTITUTION.md +14 -11
- package/harness/codex/ROUTING.md +35 -69
- package/harness/commands/oh-log.md +18 -0
- package/harness/instructions/RUNTIME.md +27 -51
- package/harness/skills/oh-builder/SKILL.md +27 -16
- package/harness/skills/oh-caveman/SKILL.md +9 -0
- package/harness/skills/oh-expert/SKILL.md +6 -0
- package/harness/skills/oh-facade/SKILL.md +298 -0
- package/harness/skills/oh-freeze/SKILL.md +9 -0
- package/harness/skills/oh-full-output/SKILL.md +81 -0
- package/harness/skills/oh-fusion/SKILL.md +314 -0
- package/harness/skills/oh-gauntlet/SKILL.md +10 -6
- package/harness/skills/oh-grill/SKILL.md +9 -5
- package/harness/skills/oh-guard/SKILL.md +9 -0
- package/harness/skills/oh-handoff/SKILL.md +9 -0
- package/harness/skills/oh-health/SKILL.md +8 -4
- package/harness/skills/oh-init/SKILL.md +80 -13
- package/harness/skills/oh-investigate/SKILL.md +57 -8
- package/harness/skills/oh-issue/SKILL.md +9 -0
- package/harness/skills/oh-learn/SKILL.md +81 -8
- package/harness/skills/oh-manifest/SKILL.md +55 -11
- package/harness/skills/oh-plan-review/SKILL.md +15 -8
- package/harness/skills/oh-planner/SKILL.md +18 -8
- package/harness/skills/oh-prd/SKILL.md +9 -0
- package/harness/skills/oh-refactor/SKILL.md +426 -0
- package/harness/skills/oh-retro/SKILL.md +9 -0
- package/harness/skills/oh-review/SKILL.md +12 -5
- package/harness/skills/oh-security/SKILL.md +4 -0
- package/harness/skills/oh-ship/SKILL.md +10 -0
- package/harness/skills/oh-skill-craft/SKILL.md +88 -0
- package/harness/skills/oh-skills-link/SKILL.md +9 -0
- package/harness/skills/oh-skills-list/SKILL.md +9 -0
- package/harness/skills/oh-triage/SKILL.md +11 -0
- package/index.ts +3 -0
- package/lib/{harness-resolver.mjs → harness-resolver.ts} +16 -12
- package/lib/logger.ts +75 -0
- package/package.json +16 -10
- package/tsconfig.json +16 -0
- package/bootstrap.mjs +0 -174
- package/harness/instructions/CONVENTIONS.md +0 -206
- package/index.mjs +0 -3
- package/lib/logger.mjs +0 -62
- package/test/plugins-behavioral.test.mjs +0 -64
- package/test/plugins.test.mjs +0 -62
package/ETHOS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OpenHermes Ethos
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Five immutable principles. Every skill, every command, every session.
|
|
4
4
|
|
|
5
5
|
## Native First
|
|
6
6
|
OpenCode-native loading over manual copying or hidden state.
|
|
@@ -11,5 +11,8 @@ Every file earns its keep. Prefer markdown when behavior is declarative.
|
|
|
11
11
|
## Skills Over Glue
|
|
12
12
|
Behavior lives in `SKILL.md`, `commands/*.md`, and `agents/*.md`.
|
|
13
13
|
|
|
14
|
-
## Delegate
|
|
15
|
-
|
|
14
|
+
## Always Delegate — Never Execute
|
|
15
|
+
OpenHermes orchestrates and reports. Sub-agents execute. OpenHermes never writes code, runs tests, or touches files directly.
|
|
16
|
+
|
|
17
|
+
## Closed Loop
|
|
18
|
+
Auto-classify. Auto-route. Auto-execute. Only stop for blockers. No dead ends, no asking permission, no wasted cycles.
|
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c)
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 nathwn12
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,106 +1,130 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<h1 align="center"
|
|
3
|
-
<p align="center"><
|
|
2
|
+
<h1 align="center">⟳ OpenHermes</h1>
|
|
3
|
+
<p align="center"><b>Closed loop. Zero permission.</b><br>
|
|
4
|
+
<i>The AI orchestrator that never asks "should I continue?" — it just routes.</i></p>
|
|
4
5
|
</p>
|
|
5
6
|
|
|
6
7
|
<p align="center">
|
|
7
8
|
<a href="https://www.npmjs.com/package/openhermes"><img src="https://img.shields.io/npm/v/openhermes?style=for-the-badge&label=version&color=FFD700" alt="npm version"></a>
|
|
8
9
|
<a href="https://github.com/nathwn12/openhermes/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green?style=for-the-badge" alt="License: MIT"></a>
|
|
9
10
|
<a href="https://opencode.ai"><img src="https://img.shields.io/badge/runs%20on-OpenCode-6366f1?style=for-the-badge" alt="Runs on OpenCode"></a>
|
|
11
|
+
<a href="https://github.com/nathwn12/openhermes"><img src="https://img.shields.io/badge/⭐%20star%20on-GitHub-181717?style=for-the-badge" alt="Star on GitHub"></a>
|
|
10
12
|
</p>
|
|
11
13
|
|
|
12
14
|
---
|
|
13
15
|
|
|
14
|
-
|
|
16
|
+
**AI coding assistants stall.** They ask permission. They lose context mid-session. They wait for you to unstick them.
|
|
17
|
+
|
|
18
|
+
OpenHermes doesn't.
|
|
19
|
+
|
|
20
|
+
Drop it into OpenCode. Get a self-driving pipeline: auto-classify every request, delegate to specialists, route results automatically. No "can I?", no "shall I?", no "what next?" — just execution until the job is done.
|
|
15
21
|
|
|
16
22
|
```json
|
|
17
23
|
{ "plugin": ["openhermes@git+https://github.com/nathwn12/openhermes.git"] }
|
|
18
24
|
```
|
|
19
25
|
|
|
20
|
-
|
|
26
|
+
To install from `dev` (latest features, may be unstable):
|
|
27
|
+
|
|
28
|
+
```json
|
|
29
|
+
{ "plugin": ["openhermes@git+https://github.com/nathwn12/openhermes.git#dev"] }
|
|
30
|
+
```
|
|
21
31
|
|
|
22
32
|
---
|
|
23
33
|
|
|
24
|
-
##
|
|
34
|
+
## One sentence. Nine steps.
|
|
25
35
|
|
|
26
|
-
|
|
36
|
+
Add the plugin. Restart. Type:
|
|
27
37
|
|
|
28
|
-
|
|
29
|
-
|---|---|
|
|
30
|
-
| **oh-planner** | Brainstorm, analyze architecture, run strategy reviews, auto-decide 90% of questions with gstack decision principles. Produces a consumable plan artifact. |
|
|
31
|
-
| **oh-builder** | Prototype, TDD red-green-refactor, design interfaces in parallel sub-agents, implement from plan. Vertical tracer bullets, one test at a time. |
|
|
32
|
-
| **oh-manifest** | Full build loop: planner → builder → verify → loop until done or a real blocker is surfaced. Auto-resolves intermediate questions; only interrupts you for genuine blockers. |
|
|
33
|
-
| **oh-gauntlet** | Multi-axis testing gauntlet: unit tests, dual-axis review (Standards + Spec in parallel sub-agents), edge case sweep, QA tier, canary post-deploy. |
|
|
38
|
+
> *"Plan a CLI tool for managing dotfiles."*
|
|
34
39
|
|
|
35
|
-
|
|
40
|
+
You see output. Behind the scenes, this runs:
|
|
36
41
|
|
|
37
|
-
|
|
42
|
+
| # | What fires | What it does |
|
|
43
|
+
|---|---|---|
|
|
44
|
+
| **1** | `AUTOPILOT.md` decision matrix | Multi-step, vague → `PLANNING NEEDED` |
|
|
45
|
+
| **2** | `oh-planner` | Brainstorm mode: architecture, user flow, risks |
|
|
46
|
+
| **3** | `oh-planner` → `oh-grill` | Plan passes → stress-test it |
|
|
47
|
+
| **4** | `oh-grill` → `oh-planner` (revise) | Gaps found → planner revises |
|
|
48
|
+
| **5** | `oh-planner` → `oh-manifest` | Plan solid → enter build loop |
|
|
49
|
+
| **6** | `oh-planner` → `oh-builder` → `oh-gauntlet` | Implement → test → review → loop |
|
|
50
|
+
| **7** | `oh-gauntlet` → `oh-ship` | Tests pass → PR pipeline |
|
|
51
|
+
| **8** | `oh-ship` → `oh-retro` | Shipped → retrospective |
|
|
52
|
+
| **9** | `oh-retro` → `oh-planner` | Ready for the next cycle |
|
|
38
53
|
|
|
39
|
-
|
|
40
|
-
|---|---|
|
|
41
|
-
| oh-planner, oh-builder, oh-manifest, oh-gauntlet | Core pipeline (above) |
|
|
42
|
-
| oh-expert | AI self-diagnosis vocabulary — sycophancy, hallucination type, attention degradation |
|
|
43
|
-
| oh-grill | Stress-test plans through Socratic questioning; optionally updates CONTEXT.md, ADRs, and extracts ubiquitous language |
|
|
44
|
-
| oh-plan-review | Multi-lens plan review: Engineering, Design, DX, Strategy |
|
|
45
|
-
| oh-security | Security audit: secrets archaeology, supply chain, CI/CD, OWASP, STRIDE, LLM security |
|
|
46
|
-
| oh-health | Code quality dashboard: wraps tools, composite score, trend tracking |
|
|
47
|
-
| oh-investigate | Systematic bug diagnosis |
|
|
48
|
-
| oh-handoff | Compact session into structured handoff artifact for another agent |
|
|
49
|
-
| oh-skill-craft | Create new skills for the harness (meta-skill) |
|
|
50
|
-
| oh-init | Initialize project: scaffold CONTEXT.md, AGENTS.md, ADRs, issue tracker config, triage labels |
|
|
51
|
-
| oh-retro | Retrospective after shipping |
|
|
52
|
-
| oh-review | Two-axis review (Standards + Spec) in parallel sub-agents + architecture deepening |
|
|
53
|
-
| oh-ship | PR, version bump, changelog, post-ship docs sync |
|
|
54
|
-
| oh-triage | Issue triage state machine |
|
|
55
|
-
| oh-issue | Break plans into vertical-slice issues |
|
|
56
|
-
| oh-prd | Write structured PRDs |
|
|
57
|
-
| oh-caveman | Ultra-compressed response mode |
|
|
58
|
-
| oh-freeze | Freeze dependencies |
|
|
59
|
-
| oh-learn | Learn patterns from the codebase |
|
|
60
|
-
| oh-guard | Safety confirmations for destructive operations |
|
|
61
|
-
| oh-skills-link | Verify skills discovery |
|
|
62
|
-
| oh-skills-list | List available skills |
|
|
63
|
-
|
|
64
|
-
### One orchestrator agent
|
|
65
|
-
|
|
66
|
-
OpenHermes is the default primary agent — a hub-and-spoke commander that delegates to skills, spawns sub-agents for isolated context, and surfaces blockers instead of silently retrying.
|
|
67
|
-
|
|
68
|
-
### One diagnostic command
|
|
69
|
-
|
|
70
|
-
`/oh-doctor` — inspect plugin load, skills discovery, command/agent registration, and config safety.
|
|
54
|
+
One sentence. Nine automated steps. Each skill loaded on demand, executed in isolation, routed to the next specialist. **Auto-classify, delegate, route, repeat.** That's the entire model.
|
|
71
55
|
|
|
72
56
|
---
|
|
73
57
|
|
|
74
|
-
|
|
58
|
+
### Three safety layers
|
|
75
59
|
|
|
76
|
-
|
|
60
|
+
The loop runs unsupervised because these never turn off:
|
|
77
61
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
4. Instructions from `CONSTITUTION.md`, `RUNTIME.md`, `CONTEXT.md`, and `ETHOS.md` are injected into every session
|
|
82
|
-
|
|
83
|
-
Everything is package-local. Nothing is copied into your global config.
|
|
62
|
+
- **🔁 Loop Guard** — stops if the same skill fires 3+ times or 5+ hops produce no progress
|
|
63
|
+
- **❓ Question Gate** — never routes into uncertainty; surfaces if input is missing
|
|
64
|
+
- **📋 Auto-Handoff** — writes a structured session artifact before context switches
|
|
84
65
|
|
|
85
66
|
---
|
|
86
67
|
|
|
87
|
-
##
|
|
68
|
+
## What you get
|
|
69
|
+
|
|
70
|
+
| Capability | Why it matters |
|
|
71
|
+
|---|---|
|
|
72
|
+
| **Self-driving loop** | Type once. OpenHermes classifies, delegates, and routes — no pauses, no asking permission. |
|
|
73
|
+
| **29 specialist skills** | Planning → building → testing → security → review → shipping → retro. Every dev cycle phase. |
|
|
74
|
+
| **Auto-detected user skills** | Drop a skill in `~/.agents/skills/`. OpenHermes finds it. Same name as a built-in? Your version wins. Survives `npm update`. |
|
|
75
|
+
| **`/oh-doctor`** | Verify plugin load, skill discovery, command registration, config safety. |
|
|
76
|
+
| **`/oh-log`** | Session log — routing hops, skill loads, compaction events. |
|
|
77
|
+
| **Shared operating model** | CONSTITUTION + RUNTIME + CONTEXT + ETHOS injected every session. Every interaction grounded in the same rules. |
|
|
78
|
+
| **Plan file storage** | `~/.local/share/opencode/openhermes/plans/`. Survives `npm update`. |
|
|
88
79
|
|
|
89
|
-
|
|
80
|
+
## 29 skills — three tiers
|
|
90
81
|
|
|
91
|
-
|
|
82
|
+
### Tier 4 — Pipeline orchestrators
|
|
83
|
+
Full multi-phase workflows:
|
|
92
84
|
|
|
93
|
-
|
|
85
|
+
| Skill | Purpose |
|
|
86
|
+
|---|---|
|
|
87
|
+
| **oh-manifest** | Plan → build → verify → loop until done or blocker |
|
|
88
|
+
| **oh-facade** | Concept → design system → build → audit → iterate (full UI pipeline) |
|
|
89
|
+
| **oh-gauntlet** | Multi-axis testing: unit, integration, edge cases, dual-axis review |
|
|
90
|
+
| **oh-builder** | ALL-arounder builder — prototype, TDD, implement from plan |
|
|
91
|
+
| **oh-ship** | Deploy and PR pipeline: test, bump, changelog, PR, deploy, verify |
|
|
94
92
|
|
|
95
|
-
|
|
93
|
+
### Tier 3 — Cross-cutting skills
|
|
94
|
+
Span multiple phases and coordinate other skills:
|
|
96
95
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
96
|
+
| Skill | Purpose |
|
|
97
|
+
|---|---|
|
|
98
|
+
| **oh-planner** | Brainstorm, architect, autoplan, decision pipeline |
|
|
99
|
+
| **oh-grill** | Stress-test plans through relentless Socratic questioning |
|
|
100
|
+
| **oh-plan-review** | Multi-lens review: Engineering, Design, DX, Strategy |
|
|
101
|
+
| **oh-security** | Audit: secrets, supply chain, CI/CD, OWASP, LLM security |
|
|
102
|
+
| **oh-refactor** | Surgical behavior-preserving refactoring |
|
|
103
|
+
| **oh-review** | Two-axis review (Standards + Spec) in parallel sub-agents |
|
|
104
|
+
| **oh-fusion** | Skill ingestion pipeline: discover → analyze → adapt → fuse → integrate |
|
|
105
|
+
| **oh-retro** | Weekly retrospective — analyze commit history and patterns |
|
|
106
|
+
|
|
107
|
+
### Tier 2 — Focused skills
|
|
108
|
+
Single-purpose, one thing well:
|
|
102
109
|
|
|
103
|
-
|
|
110
|
+
| Skill | Purpose |
|
|
111
|
+
|---|---|
|
|
112
|
+
| **oh-expert** | AI self-diagnosis: sycophancy, hallucination, attention dynamics |
|
|
113
|
+
| **oh-full-output** | Override truncation, ban placeholders, enforce complete generation |
|
|
114
|
+
| **oh-health** | Code quality dashboard: tools, composite score, trend |
|
|
115
|
+
| **oh-investigate** | Systematic bug diagnosis with root cause investigation |
|
|
116
|
+
| **oh-handoff** | Compact session state → structured handoff document |
|
|
117
|
+
| **oh-skill-craft** | Create new agent skills with frontmatter and bundled resources |
|
|
118
|
+
| **oh-init** | Wire AGENTS.md, domain docs, issue tracker, triage labels |
|
|
119
|
+
| **oh-triage** | Issue triage state machine — classify, prioritise, assign |
|
|
120
|
+
| **oh-issue** | Break a plan/spec/PRD into independently-grabbable issues |
|
|
121
|
+
| **oh-prd** | Conversation → PRD → GitHub issue |
|
|
122
|
+
| **oh-caveman** | Ultra-compressed mode — cut token usage ~75% |
|
|
123
|
+
| **oh-freeze** | Restrict file edits to a specific directory |
|
|
124
|
+
| **oh-learn** | Extract, evolve, promote session learnings as instincts |
|
|
125
|
+
| **oh-guard** | Safety confirmation — warn before destructive operations |
|
|
126
|
+
| **oh-skills-link** | Verify OpenCode discovers the skill directory |
|
|
127
|
+
| **oh-skills-list** | List all available `oh-*` skills |
|
|
104
128
|
|
|
105
129
|
---
|
|
106
130
|
|
|
@@ -108,28 +132,34 @@ No loops. No guessing. No silent death.
|
|
|
108
132
|
|
|
109
133
|
```
|
|
110
134
|
openhermes-pkg/
|
|
111
|
-
├── AGENTS.md #
|
|
112
|
-
├── CONTEXT.md # Shared language
|
|
135
|
+
├── AGENTS.md # User-side routing overlay
|
|
136
|
+
├── CONTEXT.md # Shared domain language
|
|
113
137
|
├── ETHOS.md # Operating principles
|
|
114
|
-
├── bootstrap.
|
|
115
|
-
├── index.
|
|
138
|
+
├── bootstrap.ts # Plugin entry — registers everything
|
|
139
|
+
├── index.ts # Package entrypoint
|
|
140
|
+
├── lib/ # harness-resolver.ts, logger.ts
|
|
116
141
|
├── harness/
|
|
117
|
-
│ ├── agents/ # Agent manifests (OpenHermes)
|
|
118
|
-
│ ├── codex/ # CONSTITUTION
|
|
119
|
-
│ ├── commands/ # Slash
|
|
120
|
-
│ ├── instructions/ # RUNTIME.md
|
|
121
|
-
│
|
|
142
|
+
│ ├── agents/ # Agent manifests (OpenHermes primary)
|
|
143
|
+
│ ├── codex/ # CONSTITUTION, AUTOPILOT, ROUTING
|
|
144
|
+
│ ├── commands/ # Slash commands (/oh-doctor, /oh-log)
|
|
145
|
+
│ ├── instructions/ # RUNTIME.md
|
|
146
|
+
│ └── skills/ # 29 skill SKILL.md files
|
|
122
147
|
└── test/
|
|
123
148
|
```
|
|
124
149
|
|
|
150
|
+
Plan files: `~/.local/share/opencode/openhermes/plans/<project>-plan-<nnn>.md`
|
|
151
|
+
|
|
125
152
|
---
|
|
126
153
|
|
|
127
|
-
##
|
|
154
|
+
## Get started — 60 seconds
|
|
128
155
|
|
|
129
|
-
|
|
156
|
+
1. Add the plugin line to `opencode.json`
|
|
157
|
+
2. Restart or reload OpenCode
|
|
158
|
+
3. Run `/oh-doctor` to verify everything loaded
|
|
159
|
+
4. Type *any* prompt — "plan a feature", "investigate this bug", "refactor this module"
|
|
160
|
+
|
|
161
|
+
The first time you see OpenHermes auto-route to a specialist skill without you asking — you'll feel the loop.
|
|
162
|
+
|
|
163
|
+
---
|
|
130
164
|
|
|
131
|
-
|
|
132
|
-
- **dictionary-of-ai-coding** — shared vocabulary for agent self-diagnosis
|
|
133
|
-
- **skills (mattpocock)** — TDD discipline, write-a-skill meta, design-an-interface parallel sub-agents, dual-axis review
|
|
134
|
-
- **gstack** — preamble-tier seniority, artifact-chain pipeline, decision principles
|
|
135
|
-
- **opencode-orchestrator** — hub-and-spoke delegation, session pool discipline, pipelined verification
|
|
165
|
+
**Star on [GitHub](https://github.com/nathwn12/openhermes)** ⭐ — bug reports, feature requests, and contributions welcome.
|