Skip to content

Ikanos v1.0.0-beta2 — "Shooner"

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 15 Jul 10:27

⛵ A schooner trades the ketch's stability for reach — and beta2 is exactly that: no flagship feature, but the plumbing that lets Ikanos, Polychro, Crafter, Warden, and Shipyard stay in lockstep gets faster and more independent. The engine and schema versions are decoupled for the first time, cross-repo version sync grows a fourth spoke (Shipyard tutorials), skill maintenance moves fully to the served agents-shared capability, and the release pipeline drops its last dependency on a personal Gist. A quieter release that hardens the machinery behind the last four.

What is Ikanos?

Ikanos is the first open-source engine for Spec-Driven Integration. Capabilities are declared entirely in YAML — no Java, no code generation, no compilation step. The engine reads the spec at startup and immediately serves it as a multi-protocol server: MCP, Skill, REST, and Control. The spec is the artifact and the runtime contract.

Ikanos comes from the Greek ικανός — capable.

This v1.0.0-beta2 release builds on v1.0.0-beta1 ("Ketch") with a focus on release infrastructure and version governance: the engine version (driven by pom.xml) and the schema version (driven by ikanos-schema.json) are now tracked as two independent values, the automated cross-repo sync grows to cover Shipyard's tutorial YAMLs, and CI switches from a personal-access-token bot to a GitHub App. No breaking schema change since beta1.

🌐 Ecosystem

Polychro — Spec Linting for Ikanos Capabilities

Polychro remains the companion spec linting engine for the Ikanos ecosystem. It validates Ikanos capability files against rulesets declared in YAML, surfacing diagnostics as SARIF, JSON, or LLM-native output — directly inside your editor, CI pipeline, or AI agent. See the Polychro release notes for its own changelog.

✨ Highlights

🔀 Engine Version and Schema Version Decoupled (#639)

The most structural change of beta2: Ikanos now tracks two independent version numbers instead of one.

  • VersionHelper.getEngineVersion() — read from pom.xml's revision property, tracks the engine's own release cadence
  • VersionHelper.getSchemaVersion() — read from properties.ikanos.const in ikanos-schema.json, tracks the specification's compatibility contract independently of the engine build
  • This decoupling means a future engine patch release will no longer force a schema version bump (and vice versa) — the two axes evolve on their own cadence going forward

🔄 Cross-Repo Version Sync — Now Reaching Shipyard (#651, #652)

The automated version-sync machinery that keeps consumer repos aligned with the spec gains a new target and a clearer structure:

  • synchronize-schema-and-rules.yml extended so schema-version sync also propagates to Shipyard's tutorial YAML files, in addition to the existing Warden target (part of Crafter#67)
  • Sync scripts renamed and consolidated for clarity: sync-ikanos-version.pysync-schema-version.py, plus new sync-engine-version-to-crafter.py, sync-schema-version-to-warden.py, and sync-schema-version-to-shipyard.py, backed by a new shared scripts/ikanos_version.py helper
  • Workflow files renamed to make the engine/schema distinction explicit: synchronize-engine-version-in-other-repos.yml (new), synchronize-schema-version-in-other-repos.yml, synchronize-schema-version-in-repository.yml

🔐 GitHub App for Automated PRs (#636, #624)

Automated version-sync PRs now authenticate via a GitHub App instead of a personal access token — tightening the security posture of the release automation and removing a token tied to an individual account.

🌙 CI / Badge Infrastructure

  • Coverage/quality badge publishing no longer depends on a personal Gist (#641, partially closes #587) — badges are now published to a persistent dedicated branch instead (#646)
  • quality-gate.yml and nightly-quality-gate.yml both hardened as part of this migration
  • A stray "skip checks" shortcut on PR creation was removed, so the full check suite always runs

🤝 Agent & Contributor Experience

  • bugfix and ikanos-capability skills are now served from the agents-shared capability in golden-repo-naftiko, mirroring the pr-review pattern — their committed copies are removed from the repo (de-tracked, kept on disk as git-ignored synced copies), accounting for most of this release's large deletion count (#640)
  • golden-repo-naftiko rename (from naftiko-golden-repo) propagated across AGENTS.md, .gitignore, and the agents-shared discovery shim
  • Internal "blueprint" vocabulary renamed to "design doc" across the repo (issue naftiko/blueprints#6), aligning with the same rename shipped in Polychro

📚 Documentation

  • README repositioned to lead with "build the MCP server your agent needs, not use the one your vendor ships", restructured around reader personas (AI agent builders, API owners, single-source-of-truth seekers), and all documentation links bumped from 1.0.0-alpha* to 1.0.0-beta1 (#644)

⚠️ Known Issues & Limitations

  • CLI pre-built binary installation — running the CLI binary directly is not straightforward on macOS (Gatekeeper quarantine requires xattr -dr com.apple.quarantine or system approval) and on Windows (SmartScreen warning, unsigned binary). Workaround: run via java -jar ikanos.jar from the JAR instead (#281)
  • Reverse tunnel remains declarative-only in the schema — capabilities that declare tunnel: parse and validate today, but the engine still dials the public baseUri directly until the embedded tunnel feature is enabled. Use the sidecar pattern from the Reverse Tunnel guide for production today.
  • CLI pre-built binaries available for macOS ARM64, Linux AMD64, Linux ARM64, and Windows AMD64.

🔢 By the Numbers

  • 28 commits merged since v1.0.0-beta1
  • 133 files changed, +552 / −3,061 lines (the large deletion count reflects de-tracking the skill copies now served from golden-repo-naftiko)
  • 4 contributors

🙏 Contributors

Huge thanks to the team for shipping this release:

  • @jeremnaf — engine/schema version split (#639), Shipyard version-sync extension (#651, #652), release coordination
  • @farah-t-trigui — GitHub App for automated PRs (#636), Gist-to-persistent-branch badge migration (#641, #646), CI check-skip fix
  • @eskenazit — golden-repo-naftiko skill extraction and rename (#640), design-doc vocabulary rename
  • @jlouvel — README repositioning for beta1 (#644)

Full Changelog: v1.0.0-beta1...v1.0.0-beta2