Skip to content

Releases: mycelium-cmbse/mycelium-hypha

hypha v2.1.2

Choose a tag to compare

@samatstariongroup samatstariongroup released this 07 Sep 07:09
a1566f8

Fixed

  • The SessionStart hook no longer throws a raw PowerShell parse error on Windows without Git
    Bash
    (fixes #139). Its dispatch shim is POSIX-shell-only (case/esac, uname), and Claude
    Code falls back to PowerShell for shell-form hooks when Git Bash isn't found, which can't parse
    it. The hook now pins "shell": "bash", so Claude Code either runs it under Git Bash or reports
    a clear, dedicated "shell not found" error instead - making the project's existing Git Bash
    dependency explicit rather than reimplementing the OS/arch dispatch in a second language. No
    behavior change on Linux/macOS/Windows-with-Git-Bash, where bash was already the default.

Install / update: /plugin marketplace update/reload-plugins.

Full changelog: v2.1.1...v2.1.2

hypha v2.1.1

Choose a tag to compare

@samatstariongroup samatstariongroup released this 06 Sep 15:14
3b553ed

Fixed

  • /overview no longer tells users to manually download the OMG spec PDFs or manually run
    tools/spec-extract
    (fixes #135). Both are automatic now (hypha fetch/hypha generate's spec
    artifact, #129); the command's own instructions had gone stale.

Install / update: /plugin marketplace update/reload-plugins.

Full changelog: v2.1.0...v2.1.1

hypha v2.1.0

Choose a tag to compare

@samatstariongroup samatstariongroup released this 06 Sep 10:07
b7b7a82

Added

  • hypha generate's new spec artifact quotes verbatim OMG spec text without a maintainer source
    checkout
    (fixes #129, tools 1.3.0). SpecGenerator fetches and caches
    uv, which resolves or fetches a matching Python itself and runs
    tools/spec-extract (Python/pdfplumber) through it - no pre-existing Python or provisioned .venv
    needed. A C# port of the pipeline was evaluated first (the PdfPig comparison spike, #128) and
    rejected: even after fixing a real bug, it still fell short of the mature Python pipeline's quality,
    and a port can at best tie Python, never beat it. tools/spec-extract also gained a real CLI entry
    point (python -m spec_extract) alongside its existing pytest-driven maintainer flow.

Install / update: /plugin marketplace update/reload-plugins.

Full changelog: v2.0.0...v2.1.0

hypha tools 1.3.0

Choose a tag to compare

@github-actions github-actions released this 06 Sep 09:43
3301b24

hypha 1.3.0

Install as a dotnet tool:

dotnet tool install --global Hypha.Tools --version 1.3.0

Or download the self-contained build for your platform below - it bundles the .NET
runtime, so nothing needs installing.

Each archive (and the .nupkg) carries an SPDX 2.2 SBOM under _manifest/.

asset SHA256
hypha-1.3.0-linux-x64.zip 3d08a88a9177ef75a527a2f109d554d0eb182a1dad2ce7647d81fe0bcb61771d
hypha-1.3.0-osx-arm64.zip a975cd0218ed0558881d0a157d34b4f53df2898e752382ef8b9556994604fd17
hypha-1.3.0-osx-x64.zip 02bd2ae9266934c1ee1e66c5030c4928d6c4a634d9427f2d97972352f74a2db5
hypha-1.3.0-win-x64.zip 39cdffc3fd857e9a3098d7b3450a70b7eb9241a248b30b03c9c4f7a7bfc481b2

hypha v2.0.0

Choose a tag to compare

@samatstariongroup samatstariongroup released this 04 Sep 12:49
e96afdd

Removed

  • The committed knowledge floor (fixes #106). knowledge/2026-04/, knowledge/2026-05/,
    sources/2026-04/, sources/2026-05/ and knowledge/versions.json are no longer committed to git -
    2,120 files. Part 1 (hypha use/remove/check, below) landed the interactive mechanics while this
    floor still existed, so they could be verified before anything was deleted; this closes #106 by
    deleting it. A plugin install now fetches and generates every release identically, entirely on the
    user's own machine, on request - not two privileged releases pre-installed and everything else
    second-class.

Changed

  • .gitignore, CLAUDE.md, README.md, sources/README.md and knowledge/README.md rewritten
    for the no-committed-floor model (fixes #106): /sources/*/ and /knowledge/*/ are now
    root-anchored git-ignore patterns covering everything per-release, not just the OMG PDFs and their
    extracted text.
  • Hypha.MetamodelGen.Tests reads a committed test fixture instead of sources/<tag>/xmi/
    (fixes #106): one real release's XMI is committed under
    tools/metamodel-gen/Hypha.MetamodelGen.Tests/Fixtures/xmi/ - a fixture for this test project alone
    (tools/ is never shipped with the plugin), so the generators still have real regression coverage
    without a network fetch or a reintroduced distributed knowledge floor. The accepted consequence:
    only that one fixture release is exercised, not every installed release, since nothing per-release
    is committed to loop over any more.
  • KnowledgeRegenerationTests, MetamodelJsonGoldenTests, MetamodelJsonInvariantTests and
    PackageDiagramGoldenTests redesigned
    (fixes #106): with no committed knowledge/<tag>/ left to
    diff against, KnowledgeRegenerationTests now fetches one release fresh and asserts two independent
    regenerations are byte-identical to each other (self-consistency, not a match against a
    human-reviewed baseline - a real reduction in rigor, named as such in its own doc comment); the
    metamodel-gen golden tests moved to the same committed-Expected/-fixture pattern
    MetaclassFileGoldenTests already used.
  • hypha move-window (refs #106) is now documented and commented as the maintainer-only,
    source-checkout-only convenience it always functionally was, not a way to move a committed rolling
    window - its --keep count only ever governed which releases stay installed locally.

Added

  • hypha use, hypha remove and hypha check (refs #106) replace hypha sync: switching the
    default release, removing one no longer wanted, and comparing installed releases against what is
    offerable upstream are now separate, always-safe-to-run verbs instead of one verb that silently
    fetched and generated the newest release automatically.
    • The version-management skill gives Claude the vocabulary to list local vs. online releases,
      fetch a chosen tag with visible progress, switch the default, or remove one - always confirming
      with the user first, since fetching costs real time and removing is destructive.
    • hypha fetch downloads the OMG specification PDFs by default now (--no-specs to opt out) -
      a fully local install needs everything a plain HTTP call can get it.

Changed

  • The plugin's SessionStart hook only ever compares now - it never fetches or generates anything
    itself
    (refs #106). Hypha.Tools.Hook runs hypha check --json synchronously (cheap enough - a
    couple of GitHub API calls - that no background process is needed) and reports what it finds:
    nothing installed yet, a newer release available, or nothing to report - leaving the decision to
    fetch entirely to the user. The same hook also folds in what hooks/check-spec-pdfs.py used to do
    separately (naming missing OMG PDFs for the default release), so the plugin needs one
    SessionStart hook instead of two, and no longer depends on Python being present just to run it.
  • The SessionStart hook now also runs on resume, not only startup (refs #117). A resumed
    session (claude --resume/--continue) used to skip the check entirely; plugin.json's matcher is
    now startup|resume, so a long-running or resumed session still gets a fresh comparison against
    what's offerable upstream.

Removed

  • hypha sync and the background/lock/status-file machinery it needed (refs #106). Detached
    launching, a file lock, and a polled status file existed only because a hook-triggered fetch had to
    return immediately and report progress later; once fetching is something the user asks for and
    Claude runs in the foreground, none of that indirection is needed. hooks/check-spec-pdfs.py is
    retired, folded into Hypha.Tools.Hook.

Added

  • hypha, a distributable command-line tool, is now what generates the knowledge base
    (fixes #81). It ships as a dotnet tool for anyone with the .NET 10 SDK and as a
    self-contained executable per platform (win-x64, linux-x64, osx-x64, osx-arm64) for
    anyone with no toolchain at all – which is the answer #77 needed to the question of what happens
    when the toolchains are absent. NativeAOT is deliberately out of scope: Handlebars.Net compiles
    templates at runtime through expression trees, and uml4net is reflection-heavy over XMI.
    • Four verbs: discover (what the upstreams offer), fetch (download a release into sources/
      and record it), generate (the knowledge base) and list (what this checkout carries).
    • generate takes an optional artifact name, and the names are not a list it holds: they are the
      Artifact of whatever IKnowledgeGenerator implementations are registered, so adding a
      generator adds its verb and generate nonsense reports the ones that exist.
    • ReleaseInstaller gives fetching the orchestration generation already had: it downloads a
      release's inputs, resolves both upstream commits and merges the result into versions.json. The
      manifest is written only once the downloads finish, so an interrupted fetch leaves a release
      unrecorded rather than recorded and half-present.
    • A Release workflow packs the tool, publishes the four self-contained builds, generates
      THIRD-PARTY-NOTICES.txt for the bundled closure and drafts a tools-vX.Y.Z release. The tool
      and the plugin version independently.

Changed

  • The tests no longer write the knowledge base; they verify it (fixes #81). Running
    dotnet test used to rewrite knowledge/, which made every test run a write to the repository and
    made "is the working tree clean afterwards?" a check you had to remember to perform. Generation is
    hypha generate's job now, and a test run leaves the working tree clean.
    • KnowledgeRegenerationTests regenerates the whole knowledge base into a scratch folder and
      compares it byte for byte against the committed files – the same determinism proof, without
      touching a tracked file. All 1,090 files match.
    • The seam is HyphaKnowledgeOptions.OutputRoot (the CLI's --output): inputs are still read from
      the repository, only the output moves. knowledge/<tag>/spec/ stays on the input side, because
      the Python PDF chain writes it and the cross-references read it.
    • Hypha.Knowledge.Tests went from 30s to 3s, having stopped doing the generation work twice.
  • Generation orchestration moved out of the test fixtures and into the library (refs #92). Each
    artifact is now an IKnowledgeGeneratorArtifact, Order, GenerateAsync(tag) – registered as
    a collection, so regenerating a release is a loop over Order rather than a list of calls each
    caller had to keep in step. The knowledge base comes out byte-identical.
    • KnowledgeLayout replaced three separate copies of the repository layout that had grown up in the
      test projects, one per project plus a private one inside a fixture.
    • Two fixtures now write the committed knowledge base instead of seven; the rest assert on scratch
      output, so changing one of them can no longer rewrite what ships.
    • Three invariants moved from assertions in tests into the generators, where they hold for every
      caller: a clause title must never reach the cross-references, two models must never slugify to the
      same example page, and the textual notation refuses to run before the metamodel index exists.
    • HyphaKnowledgeOptions replaces the optional parameters that were accumulating on
      AddHyphaKnowledge – token, API host, raw-content host, repository root, download concurrency –
      and is validated at registration rather than at first use. It is where the CLI's flags will land.
    • Every generator takes an ILogger and reports the same three messages, so a host can show
      progress without knowing which generator it is watching. That is the seam #77 needs.
    • ReleaseDiscovery, CommitResolver and ReleaseFetcher are resolved by interface like
      everything else.

Fixed

  • The cross-references no longer degrade silently on a new release tag (fixes #96). The PDF-free
    rebuild added in #88 carries title-matched clause edges forward from the committed document, which
    is lossless – except for a tag that has neither a clause catalog nor a previous document, where it
    wrote a file with roughly a third of its clause edges missing and nothing failing. Build now
    refuses that combination and names both ways out; AllowGrammarOnly states that a grammar-only
    document is intended.

Changed

  • The cross-references moved to .NET, and no longer need the OMG PDFs (fixes #88).
    Hypha.Knowledge.CrossReferences writes knowledge/<tag>/cross-references.json byte-identically to
    the Python it replaces, and this completes the port (fixes #82): .NET now produces every
    committed artifact.
    • cross-references.json can be rebuilt from committed sources alone. 351 of its 546 clause
      edges are stated outright ...
Read more

hypha tools 1.2.0

Choose a tag to compare

@github-actions github-actions released this 03 Sep 22:07
37d72b9

hypha 1.2.0

Install as a dotnet tool:

dotnet tool install --global Hypha.Tools --version 1.2.0

Or download the self-contained build for your platform below - it bundles the .NET
runtime, so nothing needs installing.

asset SHA256
hypha-1.2.0-linux-x64.zip e2baf23c5b9a5a86f0267f578a1d128783a3ad192c328acadaead205cb93d026
hypha-1.2.0-osx-arm64.zip 06c0cc84451202746cc820a7c8539c1674f676c10d3810dd4e90a1c512018e71
hypha-1.2.0-osx-x64.zip 9176c9021d6e7c5cd97158302ad74b716329154be8ca67b84e16e92d9dca7cfc
hypha-1.2.0-win-x64.zip ffdc0dabda376fea788083cbb08384fdc39a381110c08ec90f01d6733cde760c

hypha v1.1.0

Choose a tag to compare

@samatstariongroup samatstariongroup released this 01 Jul 10:51
71ba2bd

Changed

  • Bumped uml4net (uml4net.xmi, uml4net.Extensions, uml4net.Reporting) 8.1.28.2.1, which reads the previously-missing subsetting information from the XMI. Regenerated the metamodel knowledge base accordingly (knowledge/metamodel/): several element files and metamodel.json now carry the complete Subsets sets (fixes #62).
  • Interesting-metaclass selection (used for the generator golden fixtures) now folds in operation argument/return-type variations, broadening test coverage (fixes #63).

Install / update: /plugin marketplace update/reload-plugins.

Full changelog: v1.0.0...v1.1.0

hypha v1.0.0

Choose a tag to compare

@samatstariongroup samatstariongroup released this 29 Jun 20:29
f8dae08

First tagged release of Hypha — the SysML v2 / KerML agent of the Mycelium ecosystem.

Install

/plugin marketplace add mycelium-cmbse/mycelium-hypha
/plugin install hypha@mycelium

The plugin is pinned to this tag (v1.0.0), so installs resolve to this exact commit.

Added

  • Initial Claude plugin scaffolding (.claude-plugin/plugin.json, marketplace manifest).
  • Skills: metamodel-lookup, spec-citation, sysml-validation.
  • Subagents: metamodel-navigator, spec-citation, sysml-validator.
  • Knowledge-base layout (knowledge/) for KerML/SysML v2 metamodel elements, normative spec excerpts,
    and textual-notation examples.
  • Source-document layout (sources/) for OMG XMI and PDF specifications.
  • Generation pipelines layout (tools/): C#/uml4net metamodel generator and Python PDF spec extractor.

Changed

  • Renamed the metamodel knowledge folder knowledge/sysml2/knowledge/metamodel/ (consistent
    content-type naming alongside spec/ and textual-notation/, and no longer overloaded with the
    knowledge/spec/sysml2/ clause folder).

Full changelog: CHANGELOG.md