<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>cat/hermes-openspec</title>
<subtitle>a hermes agent plugin for openspec: tools for spec workflows and a dashboard tab for browsing changes and specs</subtitle>
<id>https://src.rest/cat/hermes-openspec/</id>
<link href="https://src.rest/cat/hermes-openspec/"/>
<updated>2026-10-17T16:58:22-06:00</updated><entry>
<id>39afd284b045cdd738c1c827dd6e2f9c7d7766b1</id>
<title>chore: run the README tests as forge CI</title>
<link href="https://src.rest/cat/hermes-openspec/commit/39afd284b045cdd738c1c827dd6e2f9c7d7766b1/"/>
<author><name>cat</name></author>
<updated>2026-10-17T16:58:22-06:00</updated>
<content type="text">forge attest runs .forge/ci in a clean worktree on this machine and signs
the result. It runs the three Node smoke tests and pytest from the README&#39;s
Tests section. pytest uses the Hermes Agent venv and tree (HERMES_AGENT,
default ~/.hermes/hermes-agent), because registry.py imports
hermes_constants from the host install.</content>
</entry>
<entry>
<id>493b42cd95d2a30f967ede5a53eb22d1bd248fb9</id>
<title>Merge pull request #2 from Gerkinfeltser/feature/hermes-desktop-integration</title>
<link href="https://src.rest/cat/hermes-openspec/commit/493b42cd95d2a30f967ede5a53eb22d1bd248fb9/"/>
<author><name>FelineStateMachine</name></author>
<updated>2026-08-22T15:19:58-06:00</updated>
<content type="text">feat: add Hermes Desktop OpenSpec surface and source management</content>
</entry>
<entry>
<id>a348c85c02ede8b793157998abe0cf458c7844de</id>
<title>feat: add Hermes Desktop OpenSpec surface and source management</title>
<link href="https://src.rest/cat/hermes-openspec/commit/a348c85c02ede8b793157998abe0cf458c7844de/"/>
<author><name>Ubuntu</name></author>
<updated>2026-08-22T18:05:23Z</updated>
<content type="text"></content>
</entry>
<entry>
<id>7fa817e87e8d1da77f342f4b1522d1552cd39a46</id>
<title>change: cover mobile-friendly spec layout</title>
<link href="https://src.rest/cat/hermes-openspec/commit/7fa817e87e8d1da77f342f4b1522d1552cd39a46/"/>
<author><name>dami etoile</name></author>
<updated>2026-07-02T07:30:51-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>e5a66d83731980db24a645b6092ed22ef9e8a96c</id>
<title>feat: add OpenSpec workflow tooling</title>
<link href="https://src.rest/cat/hermes-openspec/commit/e5a66d83731980db24a645b6092ed22ef9e8a96c/"/>
<author><name>dami etoile</name></author>
<updated>2026-07-02T07:25:44-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>b2c527ff9c0bc0d74bd6945df3ddb57790ee5f07</id>
<title>merge: spec-first-class tools — create, show, list</title>
<link href="https://src.rest/cat/hermes-openspec/commit/b2c527ff9c0bc0d74bd6945df3ddb57790ee5f07/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T15:19:17-06:00</updated>
<content type="text">Three new filesystem-backed agent tools for spec lifecycle:
- openspec_spec_create: structured input → formatted spec.md
- openspec_spec_show: read spec as structured JSON
- openspec_spec_list: list specs (change-scoped or baseline)

Added spec_to_markdown serializer to spec_parser.py.
21 new tests (52 total pass). Change archived. Docs updated to 19 tools.</content>
</entry>
<entry>
<id>40248f07b58b213348568566e57044dd27e4761d</id>
<title>chore: archive spec-first-class-tools change</title>
<link href="https://src.rest/cat/hermes-openspec/commit/40248f07b58b213348568566e57044dd27e4761d/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T15:19:13-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>d0b5f969e54f20647c68d637ba5e2858701119b5</id>
<title>feat: spec-first-class tools — create, show, list</title>
<link href="https://src.rest/cat/hermes-openspec/commit/d0b5f969e54f20647c68d637ba5e2858701119b5/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T14:50:01-06:00</updated>
<content type="text">Three new filesystem-backed agent tools for spec lifecycle:

- openspec_spec_create: structured input (title, purpose, requirements
  with scenarios) → writes properly formatted spec.md. change param
  scopes to change delta specs; omit for baseline. force flag for
  overwrite.
- openspec_spec_show: reads a spec as structured JSON using
  spec_parser.parse_spec. Works on both change and baseline specs.
- openspec_spec_list: lists specs within a change or baseline specs.

Added spec_to_markdown serializer to spec_parser.py — inverse of
parse_spec, enables round-trip: create → show → edit → create(force).

All three tools are filesystem-backed (no CLI binary needed), same as
idea/change tools. 21 new tests (52 total pass). OpenSpec validate
--strict: 6/6 pass. Docs updated to 19 tools.</content>
</entry>
<entry>
<id>be08e83798ef9cdd23a44df6c34760a9b566889a</id>
<title>change: spec-first-class-tools — proposal and spec delta for spec create/show/list</title>
<link href="https://src.rest/cat/hermes-openspec/commit/be08e83798ef9cdd23a44df6c34760a9b566889a/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T14:42:24-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>b6ca4cfe7d8aab8851a04d96876a6986cb33fdd2</id>
<title>merge: semantic spec diff — parser, agent tool, dashboard UX</title>
<link href="https://src.rest/cat/hermes-openspec/commit/b6ca4cfe7d8aab8851a04d96876a6986cb33fdd2/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T14:36:27-06:00</updated>
<content type="text">Merges changes/spec-diff branch with three completed changes:
- semantic-spec-diff-tool: spec_parser.py + openspec_spec_diff agent tool
- change-specs-semantic-diff-view: SpecDeltaView in Change &gt; Specs tab
- spec-browser-structured-rendering: structured rendering + semantic summary

All changes archived. 31 tests pass. Docs updated (16 tools).</content>
</entry>
<entry>
<id>42720c97509c583eb2f69b6b0dc35fdd2817e5a8</id>
<title>chore: archive 3 spec-diff changes, fix docs drift (15→16 tools)</title>
<link href="https://src.rest/cat/hermes-openspec/commit/42720c97509c583eb2f69b6b0dc35fdd2817e5a8/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T14:36:17-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>ed2fb359336e766b8182c44b9fc571555d12de64</id>
<title>feat: semantic spec diff — parser, agent tool, dashboard UX</title>
<link href="https://src.rest/cat/hermes-openspec/commit/ed2fb359336e766b8182c44b9fc571555d12de64/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T14:15:08-06:00</updated>
<content type="text">Three OpenSpec changes implemented:

1. semantic-spec-diff-tool (foundation):
   - spec_parser.py: shared Python spec parser (parse_spec) and
     semantic diff function (semantic_spec_diff) mirroring the
     frontend parseSpec. Requirement/scenario-level delta:
     added/modified/removed/unchanged with scenario-level diffs.
   - openspec_spec_diff agent tool (filesystem-backed, always
     available). Diffs change spec vs baseline, or worktree vs HEAD.
   - Schema, registration, plugin.yaml updated.
   - 19 tests covering parser, diff, and tool handler.

2. change-specs-semantic-diff-view:
   - Backend: _change_detail computes semantic_diff per spec.
   - Frontend: SpecDeltaView component replaces side-by-side full
     specs. Summary-first view: added/modified/removed sections with
     scenario-level deltas, unchanged collapsed, raw diff collapsible.

3. spec-browser-structured-rendering:
   - Switch dirty/refs modes from raw Markdown to SpecContentView.
   - Add compact semantic summary (+N ~M -K) to spec list items.
   - Backend: _spec_browser computes semantic_summary per entry.

All 31 tests pass. OpenSpec changes validate --strict.</content>
</entry>
<entry>
<id>db2ff137c2fae78c89f1b9992927caf37d31c71e</id>
<title>docs: add 3 OpenSpec changes for semantic spec diff feature</title>
<link href="https://src.rest/cat/hermes-openspec/commit/db2ff137c2fae78c89f1b9992927caf37d31c71e/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T14:01:44-06:00</updated>
<content type="text">1. semantic-spec-diff-tool: shared Python spec parser, semantic diff
   function, and openspec_spec_diff agent tool (filesystem-backed).
   Includes design doc.

2. change-specs-semantic-diff-view: replace change&gt;specs tab
   side-by-side view with semantic delta view. Backend adds
   semantic_diff field; frontend renders SpecDeltaView with
   requirement-level added/modified/removed sections.

3. spec-browser-structured-rendering: switch spec browser dirty/refs
   modes from raw Markdown to SpecContentView; add compact semantic
   summary (&#39;+2 req, ~1, -0&#39;) to spec list items.

All three validate with openspec validate --strict.</content>
</entry>
<entry>
<id>7dc0e8a1f3a10d7ac21ce08d5e878b7f5f936e06</id>
<title>docs: split orchestration into lifecycle, tool-reference, delegation</title>
<link href="https://src.rest/cat/hermes-openspec/commit/7dc0e8a1f3a10d7ac21ce08d5e878b7f5f936e06/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T13:40:50-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>cf0dce0a6c1700237371cf31db9e7a9c7e1bc5b2</id>
<title>docs: rename orchestration.md to index.md, update all cross-links</title>
<link href="https://src.rest/cat/hermes-openspec/commit/cf0dce0a6c1700237371cf31db9e7a9c7e1bc5b2/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T13:40:50-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>cf3a500b351e0e6a3f1972cfea242c69447d73d1</id>
<title>docs: split orchestration into lifecycle, tool-reference, delegation</title>
<link href="https://src.rest/cat/hermes-openspec/commit/cf3a500b351e0e6a3f1972cfea242c69447d73d1/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T13:38:25-06:00</updated>
<content type="text">orchestration.md was 3 topics stacked in one page. Split into:

- lifecycle.md: states, transitions, artifact readiness
- tool-reference.md: artifact→tool mapping + tool→filesystem effect
- delegation.md: full workflow, subagent patterns, parallel delegation
- orchestration.md: short overview index linking to the three pages

Each page has prev/next nav. README link updated.</content>
</entry>
<entry>
<id>107a60b8a011e91425885414de568369c72606ec</id>
<title>docs: condense README tool table, point to orchestration doc</title>
<link href="https://src.rest/cat/hermes-openspec/commit/107a60b8a011e91425885414de568369c72606ec/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T13:35:46-06:00</updated>
<content type="text">15-tool table was dominating the README. Replaced with a compact
4-group summary table and a link to docs/orchestration.md for the
full per-tool reference.</content>
</entry>
<entry>
<id>9163ca7a471b0f79ec7f5c6e50e45996823a2351</id>
<title>docs: add orchestration pattern with mermaid diagrams</title>
<link href="https://src.rest/cat/hermes-openspec/commit/9163ca7a471b0f79ec7f5c6e50e45996823a2351/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T13:35:15-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>607cb6fbf2e3fa7f68bb5f93b8346da1055e1ae1</id>
<title>docs: add orchestration pattern with mermaid diagrams</title>
<link href="https://src.rest/cat/hermes-openspec/commit/607cb6fbf2e3fa7f68bb5f93b8346da1055e1ae1/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T13:32:27-06:00</updated>
<content type="text">Two-perspective workflow doc for driving OpenSpec changes with Hermes
tools and subagent delegation:

- Artifact → tool mapping (for OpenSpec-native readers)
- Tool → filesystem effect (for Hermes-native readers)
- Change lifecycle state diagram
- Full workflow flowchart with two entry paths
- Delegation contract and sequence diagram (author + implement patterns)
- Parallel delegation for independent spec/task groups
- Authoring is delegatable, lifecycle ownership stays with orchestrator</content>
</entry>
<entry>
<id>a516e10eba0ca2f40ad9a2adffa86e478f976cfd</id>
<title>Merge branch &#39;dev&#39;</title>
<link href="https://src.rest/cat/hermes-openspec/commit/a516e10eba0ca2f40ad9a2adffa86e478f976cfd/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T13:21:58-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>7f9eea9f70996e4619a1744c36f4db5840514e5f</id>
<title>docs: switch to trunk-based development on main, remove dev branch</title>
<link href="https://src.rest/cat/hermes-openspec/commit/7f9eea9f70996e4619a1744c36f4db5840514e5f/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T13:21:48-06:00</updated>
<content type="text">- main is the only long-lived branch, all PRs target main
- short-lived feature branches off main, deleted after merge
- releases are tagged on main (v0.1.0, v1.0.0, ...)</content>
</entry>
<entry>
<id>25b88e7b751975a35cdc53c8c832ccbf60bdf7d5</id>
<title>Merge branch &#39;dev&#39;</title>
<link href="https://src.rest/cat/hermes-openspec/commit/25b88e7b751975a35cdc53c8c832ccbf60bdf7d5/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T13:21:36-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>8003cb287e3bcb6344f8f4ba1ae00dbad676fcd2</id>
<title>docs: archive add-idea-tools change (merged to dev)</title>
<link href="https://src.rest/cat/hermes-openspec/commit/8003cb287e3bcb6344f8f4ba1ae00dbad676fcd2/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T13:18:59-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>294cbb96a36265964fed2a46c333e9d1df95d630</id>
<title>docs: expand README tool reference with call-when descriptions</title>
<link href="https://src.rest/cat/hermes-openspec/commit/294cbb96a36265964fed2a46c333e9d1df95d630/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T13:16:40-06:00</updated>
<content type="text">All 15 tools now have a two-part description: what it does and when to
call it, so agents and contributors can pick the right tool without
reading the schema.</content>
</entry>
<entry>
<id>b58d75f0d28210b672c8f62d9fe0879ed0a39fff</id>
<title>feat: add openspec lifecycle tools</title>
<link href="https://src.rest/cat/hermes-openspec/commit/b58d75f0d28210b672c8f62d9fe0879ed0a39fff/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T12:54:16-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>d185b4abdb80c4e198658c2518b5bc35ab0ce3ab</id>
<title>Merge dev</title>
<link href="https://src.rest/cat/hermes-openspec/commit/d185b4abdb80c4e198658c2518b5bc35ab0ce3ab/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T11:57:15-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>d183a3e7264db5a2c3fc0c3666ae312ab0ceefe6</id>
<title>docs: archive dogfooding feedback change</title>
<link href="https://src.rest/cat/hermes-openspec/commit/d183a3e7264db5a2c3fc0c3666ae312ab0ceefe6/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T11:56:24-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>0759278322b9007c57357e76f063b195c444cb03</id>
<title>fix: handle fresh OpenSpec workflow feedback</title>
<link href="https://src.rest/cat/hermes-openspec/commit/0759278322b9007c57357e76f063b195c444cb03/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T11:10:54-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>406608f94cf52eb41e6b0af7610eef45bd0371c7</id>
<title>docs: add baseline OpenSpec specs</title>
<link href="https://src.rest/cat/hermes-openspec/commit/406608f94cf52eb41e6b0af7610eef45bd0371c7/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-22T11:10:30-06:00</updated>
<content type="text"></content>
</entry>
<entry>
<id>3cf148b1fcc8ee7ebaff307af88cc27869fc4cfd</id>
<title>Merge branch &#39;dev&#39;</title>
<link href="https://src.rest/cat/hermes-openspec/commit/3cf148b1fcc8ee7ebaff307af88cc27869fc4cfd/"/>
<author><name>dami etoile</name></author>
<updated>2026-06-21T22:39:44-06:00</updated>
<content type="text"></content>
</entry>
</feed>
