Skip to content

Latest commit

 

History

History
49 lines (37 loc) · 5.2 KB

File metadata and controls

49 lines (37 loc) · 5.2 KB

Changelog: iseriser

All notable changes to iseriser will be documented in this file.

This format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Fixed (2026-08-28)

  • <iser>-regen.yml no longer reproduces the estate boj-build.yml defects (hyperpolymath/standards#331). The emitted dispatch step now builds its JSON payload with jq instead of hand-escaping it (the estate shape shipped a stray backslash-brace pair and failed JSON parse in every deployed copy); takes its endpoint from a BOJ_SERVER_URL secret or variable instead of an unresolvable mDNS host; requires an https scheme at run time; POSTs to the singular /cartridge/<name>/invoke route rather than the plural LIST endpoint; and no longer carries step-level error suppression, so a dispatch that is attempted and fails now fails the job. An unset BOJ_SERVER_URL reports and stops rather than erroring: boj-server binds loopback and has no routable name until the http-capability-gateway ships (ADR-0004 tier-2 / standards#91). Caller-controlled expression values reach the script through the environment, never by interpolation into its text.

  • Scaffolded cartridges vendor the ADR-0006 invoke-shim at ffi/cartridge_shim.zig and no longer reference ../../../ffi/zig/src/cartridge_shim.zig. boj-server’s in-tree cartridges/ bundle has been retired — cartridges now live in the hyperpolymath/boj-server-cartridges registry, where all 118 of them vendor a byte-identical copy of the shim — so the old relative path resolved nowhere and the emitted cartridge could not build.

  • Scaffolded cartridge.json declares the required category property. Without it, cartridge schema v1 rejects the manifest and boj-server’s catalog drops the cartridge on boot.

Added (2026-08-28)

  • generate now emits the -iser’s boj-server cartridge — the unified transaction-gated adapter and its SSE surface, modelled on the k9iser-mcp pilot (boj-server#73) — as a sibling <output>/<iser>-mcp/ tree, so every new -iser carries the pattern by construction (hyperpolymath/standards#90). The cartridge stays outside the -iser repo, preserving the topology PR #23 established. --no-cartridge emits the repository alone.

  • Tests pinning the above: the four standards#331 defects plus the wrong cartridge path are asserted absent from the emitted workflow; the emitted jq program is executed and its output parsed as JSON, with a hostile ref name carried through as data; the vendored shim is asserted byte-identical to the registry copy; cartridge.json is checked against cartridge schema v1’s required properties and closed enums; and a scaffolded cartridge’s ffi/ and adapter/ are built with zig build test from wherever they were written. The jq and zig tests are no-ops where those tools are absent, matching the existing idris2 test.

Added (2026-05-20)

  • cartridge subcommand — scaffolds a complete boj-server cartridge skeleton (<iser>-mcp/) from an iseriser.toml manifest. Emits 13 files: top-level (README + cartridge.json + mod.js + panels/manifest.json), Idris2 ABI (README + <iser>-mcp.ipkg + <Iser>Mcp/Safe<Iser>.idr with the exposure-gate contract), Zig FFI (README + build.zig + <iser>_ffi.zig implementing the ADR-0006 5-symbol C ABI), and the unified gated adapter (README + build.zig + <iser>_adapter.zig routing REST/SSE/GraphQL/gRPC-compat behind the transaction gate). Modelled on the k9iser-mcp pilot (boj-server#73). Verified end-to-end: idris2 --build, zig build test on both ffi/ and adapter/. Implements hyperpolymath/standards#89 Phase 2b. (PR #24)

Changed (2026-05-20)

  • Scaffolder no longer emits adapter/<name>_adapter.zig into new -iser repos. The unified transaction-gated adapter belongs to the boj-server cartridge for the -iser (boj-server/cartridges/<name>-mcp/adapter/), not to the -iser repo itself. Use the new cartridge subcommand to scaffold the cartridge. (PR #23, reverts the wrong-place emission added in #12.)

  • Cartridge scaffolder emits depends = base, contrib on the generated .ipkg to match the pilot convention and ensure cartridge authors have Data.List / Data.String helpers available out of the box. (PR #25, corrects an inadvertent omission in #24.)

[0.1.0] - 2026-03-21

Phase 1 — RSR Compliance Sweep

Added

  • Phase 1 complete — scaffold, CLI, manifest parser, codegen stubs, ABI types

  • RSR compliance sweep — STATE.a2ml, contractiles, Justfile updated

  • Bespoke contractile constraints for Code generation meta-framework for the -iser ecosystem domain

  • Project-specific Justfile recipes

[0.0.1] - 2026-03-20

Added

  • Initial project scaffold from rsr-template-repo

  • CLI with subcommands (init, validate, generate, build, run, info)

  • Manifest parser (iseriser.toml)

  • Codegen engine (stubs — target-language-specific implementation pending)

  • ABI module (Idris2 proof type definitions)

  • Library API for programmatic use

  • Full RSR template (17 CI workflows, governance docs, bot directives)

  • README.adoc with architecture overview and value proposition