Skip to content

Ikanos v1.0.0-beta4 — "Barquentine"

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Aug 08:25
· 15 commits to main since this release

⛵ A barquentine carries two rigging styles on one hull — square sails forward for power, fore-and-aft sails aft for control. Beta4 pairs exactly that combination: power from adopting the latest MCP protocol, control from the engine's first real end-to-end test harness. A focused release that keeps Ikanos current with its main protocol and starts closing the e2e test gap identified in the new feature coverage tracker.

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-beta4 release builds on v1.0.0-beta3 ("Brigantine") with a focus on protocol currency and test governance: the MCP transport is migrated to the 2026-07-28 specification (bringing cache hints and capability versioning to the schema), the engine gains its first automated end-to-end test suite validating OAuth 2.1 and Bearer authentication against real Keycloak/Microcks infrastructure, and a living feature-coverage tracker now maps all 32 blueprint features against their test depth and delivery phase. Only additive schema changes since beta3 — no breaking change.

🌐 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

🔌 MCP Protocol Migrated to 2026-07-28 (#695, closes #662)

Ikanos moves its MCP transport from the 2025-11-25 specification to the 2026-07-28 one:

  • New CacheScope enum (public / private) and ttlMs on the MCP exposes adapter — a freshness hint so clients can cache tool/resource responses and cut down on polling instead of always hitting the server
  • New info.version field on the capability document — capabilities can now declare their own version independently of the Ikanos spec version they conform to
  • Large test-suite refactor to adapt to the new protocol shape, plus new tests covering the added caching properties

🧪 First End-to-End Test Suite — OAuth 2.1 & Bearer Auth (#690, closes #612)

The first real, infrastructure-backed E2E suite lands in CI:

  • A Docker Compose stack (Microcks + Keycloak) provides real backing services; Ikanos itself is started per feature by the workflow — genuine end-to-end, not mocked in-process
  • OAuth2 feature: real JWKS validation via Keycloak's .well-known/oauth-authorization-server auto-discovery, exercised through list-ships / filter / get-ship with two independent valid JWTs plus an invalid-token case
  • Bearer feature: static-token validation exercised with a valid and an invalid token
  • New e2e-feature-tests.yml workflow and .github/e2e/resources/ fixtures (compose file, Keycloak realm, shared secrets, per-feature run.sh + helpers.sh) — a reusable scaffold for future feature-level E2E suites

🗺️ Feature Coverage Tracker (#622, #702, closes #590)

A new living tracker closes the gap between "what's specified" and "what's actually tested":

  • ikanos-docs/testing/feature-coverage-tracker.md covers all 32 blueprint features (one blueprint = one feature)
  • Two orthogonal axes tracked per feature: test depth (NATIVE / JVM / NONE) and blueprint phase delivery (delivered / total), so it doubles as a roadmap-progress board, not just a test-gap list
  • Mirrored to the internal Notion ITD; refreshed after the MCP protocol migration (#702) and after native control-port / HTTP-serve facts landed

🧹 Deserializer Null-Safety & Schema README Refresh (#647)

  • NamedMapDeserializer setter method-references converted to explicit null-safe lambdas across every named-object map deserializer in ikanos-spec (input parameters, aggregates, MCP/REST/HTTP operations, skills, and more)
  • ikanos-engine's header blank-check and tunnel scheduler hardened the same way
  • schemas/README.md — still referencing 1.0.0-alpha1 — rebranded Naftiko → Ikanos and bumped to 1.0.0-beta1

🤝 Agent & Contributor Experience

  • AGENTS.md's cross-cutting-fix rule repointed to the transversal "factor by default, specialize by exception" principle now anchored in golden-repo-naftiko's engineering.md — broadened beyond the exposes/consumes framing to cover any recurring engine mechanism (#669, closes #666)

📦 Dependency Updates

  • io.modelcontextprotocol.sdk:mcp-core 1.0.0 → 1.0.1 (#682)
  • io.opentelemetry:opentelemetry-api 1.48.0 → 1.62.0 (#681)
  • com.nimbusds:nimbus-jose-jwt 9.37.3 → 9.37.4 (#683)

⚠️ 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

  • 22 commits merged since v1.0.0-beta3
  • 176 files changed, +5,123 / −1,462 lines (the largest diff since alpha3, driven by the MCP protocol migration's test refactor and the new E2E infrastructure)
  • 5 contributors

🙏 Contributors

Huge thanks to the team for shipping this release:

  • @neyeahmed — MCP protocol migration to 2026-07-28 (#695), feature coverage tracker refresh (#702), beta4 release coordination
  • @farah-t-trigui — first E2E test suite for OAuth 2.1 & Bearer auth (#690)
  • @eskenazit — feature coverage tracker foundation (#622), AGENTS.md factor-by-default principle (#669)
  • @jlouvel — deserializer null-safety hardening, schema README refresh (#647)
  • @jeremnaf — release coordination (#703)

Full Changelog: v1.0.0-beta3...v1.0.0-beta4