Releases: GammaLabTechnologies/harmonist
Release list
Harmonist v1.2.3
Patch release: the final native-Windows determinism fix. With v1.2.1 (stdout
glyphs) and v1.2.2 (catalog file reads), this makes the native-Windows CI job
pass end to end for the first time — both the Linux and Windows jobs are green.
Fixed
- Deterministic
index.jsonacross operating systems.build_index.py
wrote each agent'spathfield withstr(Path(...)), producing backslashes
on Windows, sobuild_index.py --checkflagged the committed (forward-slash)
index as stale on the Windows runner. It now uses.as_posix(), matching
build_manifest.py. No change toindex.jsonon POSIX.
Harmonist v1.2.0
Maintenance release: install-UX overhaul plus reliability hardening across
hooks, memory, and the catalog. Headline fix — dropping the pack into a
workspace no longer risks Cursor treating the orchestrator template as a
live rule and demanding enforcement machinery that isn't installed yet.
Install UX
AGENTS.md(pack root) renamed toAGENTS.template.mdwith an
unmissable preamble: it is a TEMPLATE, not an active rule for the pack
folder; AI agents asked to "install" must followintegration-prompt.md
instead. The file generated in the USER's project keeps the name
AGENTS.md. All pack-owned marker blocks preserved verbatim.<PACK_DIR>convention. The pack folder may have any name; docs and
the integration prompt now detect the actual folder name and use
<PACK_DIR>/placeholders (examples assumeharmonist/). Literal
harmonist/paths inside pack-owned blocks are substituted by the merge
tooling at integration/upgrade time.- AI entry points.
README.mdopens with a self-routing block for AI
agents;integration-prompt.mdopens with "you are the installer —
execute the steps below". - Integration prompt corrections: strict-install wording fixed (6
strict agents copied incl.wcag-a11y-gate, plusbg-regression-runner
seeded in Step 7 → 7 strict files post-install); removed the redundant
hand-edit instruction forbg-regression-runnercommands (raced the
auto-seeding);.cursor/memory/file list now includesmigrations.py;
added a warning to delete the pack's CI configs when the pack was copied
into a project root; added thepentestcontrolled domain. GUIDE_EN.mdmanual path fixed — the old 4-step manual install
produced an unenforced setup (no hooks, rules, or.gitignore
hardening); it now routes throughintegrate.py+verify_integration.py.
Hooks reliability
- State-file locking around read-modify-write cycles, stop-gate
handoff fallback hardening, and further HITL dangerous-command
pattern hardening across both hook runtimes.
Memory robustness
- Pinned UTF-8 on all reads/writes, cross-platform locking, and
collision-safe rotation ids.
Catalog
wcag-a11y-gateis now installed byupgrade.pyas a pack-owned
strict reviewer (post-install strict files:repo-scout+ 5 reviewers +
seededbg-regression-runner= 7).- Strict-slug unification, the orchestrator entry marked strict, and a new
controlled domainpentestfor the authorized offensive-security
personas.
Docs & playbooks
- NEXUS tree marked as legacy: standardized banners on
QUICKSTART.md,
nexus-strategy.md, all 7 phase playbooks, all 4 scenario runbooks, and
both coordination docs — display names are not slugs; dispatch follows
AGENT: <slug>markers and the projectAGENTS.md+agents/index.json. - Phantom agents replaced with real catalog slugs: Senior Developer →
engineering-laravel-livewire-specialist, Senior Project Manager →
project-management-laravel-pm, Finance Tracker →finance-fpa-analyst,
Data Consolidation Agent →sales-pipeline-analyst. playbooks/EXECUTIVE-BRIEF.md: file tree re-rooted atplaybooks/
(wasstrategy/), "9 Divisions" branding corrected to the actual 16
categories, invented-looking statistics toned down to qualitative claims.MANIFEST.sha256coverage claim corrected: all runtime-shipped content
(agents/,hooks/,memory/,playbooks/, root docs) is hashed; CI
configs and repo metadata are pack-repo-only and excluded. CI configs
now carry explicit "pack-repo CI — delete in host projects" headers.onboard.py(teammate walkthrough) documented in the README key-scripts
table.
Harmonist v1.1.0
Harmonist v1.1.0 — native Windows, 193 agents, hardened fail-closed enforcement.
Highlights
Cross-platform / native Windows
- Pure-Python hook runtime (
hook_runner.py) is the active path on macOS, Linux, WSL and native Windows (no bash required);upgrade.pyrendershooks.jsonwith a Python launcher that exists on the host.convert.py/install.pyport the shell tooling; CI gains a native-Windows job.
Catalogue (186 → 193 agents)
- Model pinned to
claude-opus-4-8across the pool. - +6 authorized-security agents (recon, web-app pentest, vuln triage, exploit dev, red-team, pentest reporting) +
privacy-engineer— on-demand, scope-guarded. - Reusable skills library + schema-validated security/privacy hardening checklist.
Enforcement
- Mechanical concurrent-subagent cap + delegation-context gate.
- New
beforeShellExecutionHITL gate on destructive commands (POSIX + Python parity). - Git pre-commit guard extends review enforcement to terminal commits.
- Zero-dependency repo map (
ast+sqlite) powers repo-scout and an opt-in impact-aware affected-tests gate.
Reliability & security audit (fail-closed)
stopgate never ends a turn silently (phases wrapped, validator timeout-bounded).session.jsonread-modify-write is locked cross-platform (no lost writes / cap bypass).- Webhook:
http(s)-only scheme allowlist (nofile://SSRF), no redirects, retry/backoff. - Memory secret scanner: scans every match, the AWS
.envform, and all free-text fields. verify_integrationnow actually implementspack-manifest.jsondrift detection.- Hardened dangerous-command patterns;
run_regressionkills the whole process tree on timeout and no longer lets a partial run satisfy the gate.
Coherence & docs
- Six hook phases, accurate counts, a11y review gate wired in, install lists aligned with reality.
All green: check_pack_health 18/18, 550+ test assertions, cross-platform E2E. Full details in CHANGELOG.md.
Install: git clone https://github.com/GammaLabTechnologies/harmonist.git then paste integration-prompt.md into Cursor Agent mode.
Harmonist v1.0.0
Initial public release. Harmonist ships 186 curated agents, a
Schema-v2 frontmatter contract, structured validated memory, and a
hook-driven enforcement layer that cannot be skipped by the LLM.
Catalogue
- 186 agents across 16 categories. Unified pool under
agents/<category>/<slug>.md, every file conforming to Schema v2.
Strict agents (orchestration,review) drive the mandatory
gates; persona agents are free-form specialists with domain depth. - Data-driven routing.
agents/index.jsonis the single routing
table the orchestrator consults. Adding or renaming an agent
requires zero edits toAGENTS.md. - Disambiguation metadata. Every agent with near-peers carries
distinguishes_from+ a one-linedisambiguationnote so the
orchestrator can tie-break between look-alike specialists. - Domain filter + role filter. The integration prompt asks for
both the project'sdomains(blockchain / gamedev / china-market /
healthcare / etc.) and its workingroles(engineering, design,
product, marketing, sales, support, finance, testing, academic) to
select a sensible starter set of specialists, not a
one-size-fits-all dump.
Enforcement
- Cursor hooks drive the stop gate. The
stophook parses
AGENT: <slug>markers from subagent prompts and refuses to allow
turn completion ifqa-verifierhas not run, if any required
reviewer is missing, or ifsession-handoff.mdwas not updated.
loop_limit: 3caps retries; on exhaustion, an incident is recorded
in.cursor/hooks/.state/incidents.jsonand surfaced in the next
sessionStartas aPROTOCOL-EXHAUSTEDbanner. - Cross-platform runner.
hooks/scripts/hook_runner.pyis a
pure-Python implementation of every hook phase, so native Windows
works out of the box; WSL / macOS / Linux can stay on the POSIX
.shvariants viahooks/hooks.posix.json. - Capability scoping. Agents marked
readonly: trueare blocked
from writing files; violations are logged. - PROTOCOL-SKIP abuse guard. The escape hatch for trivial turns
is tracked in telemetry; excessive use triggers a warning injected
into the session bootstrap context.
Memory
- Schema v1 memory contract.
.cursor/memory/*.mdentries are
YAML blocks delimited by<!-- memory-entry:start -->/
<!-- memory-entry:end -->with 7 required frontmatter fields.
validate.pyenforces every rule and is wired into thestophook. - Hook-generated correlation IDs.
correlation_idhas the form
<session_id>-<task_seq>, generated at session start
(<unix-seconds><pid4>— collision-safe across parallel sessions)
and advanced by the stop gate. The LLM cannot invent IDs. - CLI as the only write path.
memory.py appendvalidates before
writing, scans for ~30 classes of secrets (AWS / GitHub / Stripe /
GCP / Azure / Slack / Telegram / Discord / SendGrid / DigitalOcean /
npm / PyPI / DB DSNs / generic high-entropy tokens / vendor-scoped
UUIDs for Heroku, Postmark, etc.), and rejects placeholder-fenced
content correctly so${STRIPE_KEY}still writes cleanly. - Search + rotate + dedupe.
memory.py searchfilters by tag /
kind / correlation / summary;rotatearchives older entries;
dedupe refuses identical-summary appends unless--allow-duplicate.
Supply-chain integrity
- MANIFEST.sha256 covers every shipped file.
check_pack_health.pyrunsbuild_manifest.py --verifyon every
preflight; a tampered source is flagged. - Upgrade guard.
upgrade.py --applysha-verifies every pack
source BEFORE copying into.cursor/. A tampered
security-reviewer.mdis REFUSED. - Install-extras guard.
install_extras.pyinherits the same
sha-verification for on-demand specialist installs. - Post-install anchor.
.cursor/pack-manifest.jsonrecords the
sha of every installed pack-owned file soverify_integration.py
can detect someone weakening enforcement after install. - Snapshot + rollback.
upgrade.py --applytakes a pre-apply
tarball snapshot under.cursor/.integration-snapshots/;
upgrade.py --rollbackrestores from the most recent snapshot.
Prompt-injection scanner
scan_agent_safety.pyruns a heuristic regex pass over every agent
markdown for four classes of hostile content:
override (jailbreak markers, "ignore previous instructions"),
exfil (secret leak attempts,.envaccess),
remote exec (pastebin / ngrok / webhook.site callbacks,
curl | bash, base64-decode-exec),
policy subversion ("skip qa-verifier", "always approve
silently"). Runs in CI; exit 1 on any error-severity hit.
False-positive guards for legitimate MITRE ATT&CK threat docs.
Integrations
- 11 IDE targets via converters under
agents/integrations/:
Cursor, Claude Code, GitHub Copilot, Windsurf, OpenCode, Aider,
Kimi, Qwen, Gemini CLI, Antigravity, OpenClaw. - Thin-variant mode.
convert.sh --thinships the essentials-only
body of each persona agent (everything up to## Deep Reference);
typical saving ~38% across the pool.
Style + schema
- Schema v2 —
agents/SCHEMA.md. Required frontmatter plus
optional metadata (version,updated_at,deprecated,
distinguishes_from,disambiguation,domains,color,
emoji,vibe). Slug (filename stem) is the identity key used
for routing;nameis a human-readable display label. - Style guide —
agents/STYLE.md. Defines the two canonical
shapes (strict vs persona), anti-patterns to avoid (personality
theatre, adjective soup, emoji-prefixed headings, aspirational
sections, cross-agent hand-off lists), a lightweight persona
template, and a retrofit checklist. - Deep Reference convention. Every persona agent with ≥ 80
non-blank body lines carries a## Deep Referencemarker. Thin
variants cut at the marker;insert_deep_ref_marker.pyadds the
marker to any long persona automatically.
Tooling
check_pack_health.py— 18 preflight checks (VERSION parses as
SemVer, every directory + script present + executable, index /
manifest fresh, lint clean, migrator idempotent, agent catalogue
free of deprecated tech and prompt-injection patterns,
README / AGENTS.md category counts matchindex.json).lint_agents.py— Schema v2 validator for every agent.build_index.py— deterministic routing-table generation.build_manifest.py— sha256 covering every shipped file
(262 tracked files at 1.0.0).integrate.py/upgrade.py/deintegrate.py— full integration
lifecycle.verify_integration.py— objective post-install audit.install_extras.py— on-demand specialist installation by slug /
role / tag with sha-verification and thin-variant support.scan_agent_safety.py,scan_agent_freshness.py,
scan_rules_conflicts.py,scan_memory_leaks.py— four
complementary scanners for catalogue health and integration hygiene.merge_agents_md.py— replaces<!-- pack-owned -->blocks in a
project'sAGENTS.mdwith the newest pack version, preserving
project-owned prose between marker pairs.insert_deep_ref_marker.py— automated cut-point insertion for
long persona agents.detect_regression_commands.py— infers project test / lint / build
commands from manifests forbg-regression-runner.onboard.py— walkthrough for teammates joining an
already-integrated project.refresh_py_guard.py— keeps the 3.9+ version guard in sync across
every entry script.
Testing
- ~430 test assertions across hook tests (30 scenarios), memory
tests (29 scenarios), and 20 shell-based suites under
agents/scripts/test_*.sh. All passing on first clean integration. - GitHub Actions CI runs the full regression on every pull request
and push tomain.
Documentation
- Root-level
README.md,AGENTS.md,GUIDE_EN.md,
integration-prompt.md,CHANGELOG.md,LICENSE,
CONTRIBUTING.md,SECURITY.md,CODE_OF_CONDUCT.md. - Agent-level
agents/SCHEMA.md,agents/STYLE.md,agents/TAGS.md. - Memory-level
memory/SCHEMA.md,memory/README.md. - Optional
playbooks/— the NEXUS 7-phase lifecycle with phase
runbooks, coordination docs, and scenario playbooks for
startup-MVP, enterprise-feature, incident-response, and
marketing-campaign workflows.