Skip to content

v0.1.9 — Two-Gate Public Release

Latest

Choose a tag to compare

@github-actions github-actions released this 09 Jun 19:42
91b7539

v0.1.9 — Two-Gate Public Release

2026-06-09 · Candidate SHA: 91b75399dbe122eb7874dd91ad2cbfa280888476

Highlights

  • Public release gate is now check-run based: hermetic-gate and environment-suite both passed on the exact release SHA.
  • Operator distribution is stronger: npm canary, GHCR operator canary images, pack/smoke, and funding-sequence E2E all passed before the stable cut.
  • Learner/evaluation work landed: held-out evals, reward signal plumbing, baseline-failure regression benchmark, and SWE-rebench v2 recalibration.
  • Operator reliability improved across discovery timeouts, RPC rotation, nonce/receipt recovery, deployment preflight, and dashboard status surfaces.
  • Native JINN chain groundwork landed: Cosmos EVM devnet seed, veJINN lock, protocol-loop closure, and consensus-stake integration.

Release Gates

Changes

feat

  • (#842) feat(eval): jinn eval held-out checkpoint orchestrator — @ritsukai
  • (#844) feat(explorer): slate-scope frozenResolvedRate + held-out delta on CheckpointTimeline — @ritsukai
  • (#845) feat(eval): train-arm slope on the held-out slate (successor to #683) — @ritsukai
  • (#935) feat(scripts): check-milestone-2.ts — read /explorer/slice and report milestone-2 progress — @ritsukai
  • (#938) feat(ci): indexer-monitor probe + issue-as-alert for jinn-indexer-production — @ritsukai
  • (#941) feat(eng-loop): detect finished sessions and call DeliverySink.collect — @ritsukai
  • (#942) feat(dashboard): surface on-chain task-post rate per network and SolverNet — @ritsukai
  • (#950) feat(eng-loop): capture spawned-session stdout/stderr to per-session log files — @ritsukai
  • (#952) feat: host supervised launcher+operator daemon on Railway (#661) — @ritsuKai2000
  • (#970) feat(config): single JINN_STATE_DIR volume-aware state root — @ritsuKai2000
  • (#976) feat(api): surface loop-completion + impl-state commit cadence on /v1/status — @ritsuKai2000
  • (#978) feat(preflight): deployment-readiness preflight (fail-loud) — @ritsuKai2000
  • (#982) feat(swe-rebench-v2): fetch validated pool from IPFS on fresh volume — @ritsuKai2000
  • (#987) feat(eval): held-out efficacy harness + paired McNemar stat + mode-aware steer hook (finding: honest negative; #822) — @ritsuKai2000
  • (#1012) feat(hermes): support local provider base URLs — @dvilelaf
  • (#1013) feat(spa): copy identity addresses — @dvilelaf
  • (#1020) feat(eval): baseline-failure regression benchmark + 9-task v2 exam (#986) — @ritsuKai2000
  • (#1040) feat(learner): graded reward signal for the learning loop (Lever A) — @ritsuKai2000
  • (#1046) feat(rpc): rotate RPC providers on quota/rate-limit exhaustion — @ritsuKai2000
  • (#1067) feat(deploy): operator image canary lane — CI-built per-harness images for the test operator (#1066) — @ritsuKai2000
  • (#1134) feat(chain): native-JINN Cosmos EVM devnet seed (#1133) — @oaksprout
  • (#1136) feat(chain): veJINN lock on native JINN (#1135) — @oaksprout
  • (#1138) feat(chain): close the protocol loop on native JINN (#1137) — @oaksprout
  • (#1140) feat(chain): JINN as consensus stake via the staking precompile (#1139) — @oaksprout

fix

  • (#933) fix(engine): don't terminalize L2 tasks on transient RPC failure — @ritsukai
  • (#936) fix(scripts): check-milestone-1 two-gate criterion (per-block floor + 48h aggregate) — @ritsukai
  • (#937) fix(earning): log reStake reverted on failed receipt, not confirmed (#916) — @ritsukai
  • (#939) fix(explorer): active-operator surface = liveness; sustained as separate M1 readout (#926) — @ritsukai
  • (#940) fix(daemon): throttle eviction-loop reStake attempts to checkpoint cadence (#917) — @ritsukai
  • (#944) fix(implement-issue): canonical jinn-mono_worktrees path + RELEASING link — @ritsukai
  • (#949) fix(eng-loop): graceful SIGINT/SIGTERM shutdown for the dispatcher runner — @ritsukai
  • (#961) fix(store): skip dotfiles in solvernet launched-record listing — @ritsuKai2000
  • (#965) fix(preflight): reclaim stale pidfile for self / PID-1-in-container — @ritsuKai2000
  • (#969) fix(earning): pin Safe 1.3.0 before @safe-global/protocol-kit v7 (#963) — @ritsuKai2000
  • (#971) fix(client): dedup @x402/core via lockstep @x402/* ^2.14.0 bump (#968) — @ritsuKai2000
  • (#974) fix(client): import canonicalize v3 as ESM, drop createRequire shim (#967) — @ritsuKai2000
  • (#975) fix(eval): guard the held-out exam against slate-content drift + prove it discriminates — @ritsuKai2000
  • (#981) fix(spa): guard NetworkTab on chain-less task-post-counts + mock it in route-smoke — @ritsuKai2000
  • (#991) fix(client): cut onboarding funding latency (faucet drip pacing) — @ritsuKai2000
  • (#998) fix(indexer): pin Railway deploy to Dockerfile + scope triggers (config-as-code) — @ritsuKai2000
  • (#1008) fix(daemon): gate claims on actual USD spend, not the AI-units projection — @oaksprout
  • (#1016) fix(ci): invoke tsx via yarn in environment-suite (exit 127 on first run) — @ritsuKai2000
  • (#1017) fix(ci): recognize CLAUDE_CODE_OAUTH_TOKEN as a claude-code harness credential — @ritsuKai2000
  • (#1021) fix(ci): trustworthy env-suite verdict — classify infra/transient failures + contracts install + fleet faucet self-heal (#1018) — @ritsuKai2000
  • (#1042) fix(discovery): bound indexer fetches with a timeout so a half-open socket can't wedge discovery loops (#1038) — @ritsuKai2000
  • (#1045) fix(learner): attribute claude-code-learner in executor.plugins / pluginsJson — @ritsuKai2000
  • (#1057) fix(ci): exclude the live-fork T1.3 round-trip from the default yarn test (unblocks canary) — @ritsuKai2000
  • (#1063) fix(mech): default on-chain backlog scan to a bounded rolling window (#801) — @ritsuKai2000
  • (#1108) fix: refresh mech safe nonce on retry — @ritsuKai2000
  • (#1115) fix: recover task creation after receipt replacement — @ritsuKai2000
  • (#1129) fix(release): scope T3 discovery to fresh task — @ritsuKai2000
  • (#1130) fix(release): derive swe verdict code from passed_match — @ritsuKai2000
  • (#1148) fix(release): fail closed on missing verdict codes — @ritsuKai2000

refactor

  • (#948) refactor(eng-loop): consolidate org/project constants in the dispatcher — @ritsukai
  • (#960) refactor: implement the two-gate release pipeline (#923) — @ritsuKai2000
  • (#990) refactor(deploy): consolidate to one container-native image + thin overlays (S7+S8) — @ritsuKai2000
  • (#993) refactor(discovery): enrich indexer SolverNet fields; drop daemon per-CID IPFS hop — @ritsuKai2000
  • (#996) refactor(contracts): migrate Hardhat 2→3 + add a contracts CI gate — @ritsuKai2000
  • (#1005) refactor(api): drop OLAS staking reads from the operator /v1/status hot path — @ritsuKai2000
  • (#1132) refactor(overview): move Identity into the right rail; remove Harness Readiness card — @oaksprout

spike

  • (#1054) spike(#1033): finding — the bring-your-own-plugin journey, walked end-to-end — @ritsuKai2000
  • (#1121) spike(substrate): Cosmos EVM vs BeaconKit/reth → Cosmos EVM (empirically confirmed) — @oaksprout

chore

  • (#841) chore(eval): held-out task slate primitive for swe-rebench-v2 — @ritsukai
  • (#852) chore(deps-dev): bump jsdom from 25.0.1 to 29.1.1 in /client/src/dashboard/spa — @app/dependabot
  • (#853) chore(deps): bump sonner from 1.7.4 to 2.0.7 in /client/src/dashboard/spa — @app/dependabot
  • (#855) chore(deps): bump wouter from 3.9.0 to 3.10.0 in /packages/indexer/explorer — @app/dependabot
  • (#856) chore(deps): bump docker/login-action from 3 to 4 — @app/dependabot
  • (#858) chore(deps-dev): bump typescript from 5.9.3 to 6.0.3 in /packages/claim-relayer — @app/dependabot
  • (#859) chore(deps): bump viem from 2.51.2 to 2.51.3 in /apps/broadcast-bot — @app/dependabot
  • (#862) chore(deps-dev): bump @types/node from 22.19.19 to 25.9.1 in /packages/indexer/explorer — @app/dependabot
  • (#864) chore(deps-dev): bump vitest from 2.1.9 to 4.1.8 in /packages/indexer — @app/dependabot
  • (#865) chore(deps): bump viem from 2.51.2 to 2.51.3 in /packages/claim-relayer — @app/dependabot
  • (#868) chore(deps): bump wouter from 3.9.0 to 3.10.0 in /client — @app/dependabot
  • (#869) chore(deps): bump viem from 2.51.2 to 2.51.3 in /packages/indexer — @app/dependabot
  • (#872) chore(deps-dev): bump jsdom from 25.0.1 to 29.1.1 in /packages/indexer/explorer — @app/dependabot
  • (#873) chore(deps): bump @tanstack/react-query from 5.100.7 to 5.100.14 in /client — @app/dependabot
  • (#876) chore(deps-dev): bump @types/node from 20.19.39 to 25.9.1 in /client — @app/dependabot
  • (#878) chore(deps): bump @hookform/resolvers from 3.10.0 to 5.4.0 in /client — @app/dependabot
  • (#879) chore(deps-dev): bump postcss from 8.5.13 to 8.5.15 in /client — @app/dependabot
  • (#880) chore(deps): bump @coinbase/cdp-sdk from 1.50.0 to 1.51.0 in /client — @app/dependabot
  • (#882) chore(deps): bump better-sqlite3 from 11.10.0 to 12.10.0 in /client — @app/dependabot
  • (#947) chore(merge-batch): refine skill from first real batch-integration run — @ritsukai
  • (#972) chore(explorer): bump vite 5→8 + plugin-react 4→6 in lockstep (#962) — @ritsuKai2000
  • (#973) chore(spa): migrate operator SPA to React 19 (#966, supersedes #854/#860) — @ritsuKai2000
  • (#1015) chore(ci): gate live Hyperliquid testnet tests with SKIP_HL_TESTS=1 — @ritsuKai2000
  • (#1030) chore: add check-milestone-3.ts progress script — @oaksprout
  • (#1073) chore(deps-dev): bump vite from 5.4.21 to 8.0.16 in /client/src/dashboard/spa — @app/dependabot
  • (#1074) chore(deps-dev): bump vitest from 2.1.9 to 4.1.8 in /packages/claim-relayer — @app/dependabot
  • (#1075) chore(deps-dev): bump vitest from 2.1.9 to 4.1.8 in /examples/external-harnesses/polymarket-forecaster — @app/dependabot
  • (#1076) chore(deps-dev): bump @nomicfoundation/ignition-core from 3.1.6 to 3.1.7 in /contracts — @app/dependabot
  • (#1077) chore(deps): bump @tanstack/react-query from 5.100.14 to 5.101.0 in /client — @app/dependabot
  • (#1078) chore(deps): bump react-dom and @types/react-dom in /packages/indexer/explorer — @app/dependabot
  • (#1079) chore(deps-dev): bump vitest from 2.1.9 to 4.1.8 in /packages/sdk — @app/dependabot
  • (#1080) chore(deps-dev): bump vitest from 2.1.9 to 4.1.8 in /apps/broadcast-bot — @app/dependabot
  • (#1081) chore(deps-dev): bump vitest from 2.1.9 to 4.1.8 in /examples/external-harnesses/alternative-harness — @app/dependabot
  • (#1082) chore(deps): bump viem from 2.51.3 to 2.52.2 in /packages/indexer — @app/dependabot
  • (#1083) chore(deps-dev): bump vitest from 2.1.9 to 4.1.8 in /examples/external-harnesses/prediction-evaluator — @app/dependabot
  • (#1084) chore(deps-dev): bump tsx from 4.22.3 to 4.22.4 in /packages/claim-relayer — @app/dependabot
  • (#1085) chore(deps): bump actions/github-script from 7 to 9 — @app/dependabot
  • (#1086) chore(deps-dev): bump @vitejs/plugin-react from 4.7.0 to 6.0.2 in /client/src/dashboard/spa — @app/dependabot
  • (#1087) chore(deps-dev): bump @nomicfoundation/hardhat-keystore from 3.0.11 to 3.0.12 in /contracts — @app/dependabot
  • (#1088) chore(deps): bump @opentelemetry/exporter-trace-otlp-http from 0.217.0 to 0.218.0 in /client — @app/dependabot
  • (#1089) chore(deps): bump @tanstack/react-query from 5.100.14 to 5.101.0 in /packages/indexer/explorer — @app/dependabot
  • (#1090) chore(deps-dev): bump @types/node from 22.19.19 to 25.9.1 in /packages/sdk — @app/dependabot
  • (#1091) chore(deps): bump viem from 2.51.3 to 2.52.2 in /apps/broadcast-bot — @app/dependabot
  • (#1092) chore(deps): bump lucide-react from 0.454.0 to 1.17.0 in /client/src/dashboard/spa — @app/dependabot
  • (#1093) chore(deps): bump @prb/math from 4.1.1 to 4.1.2 in /contracts — @app/dependabot
  • (#1094) chore(deps): bump viem from 2.51.3 to 2.52.2 in /packages/claim-relayer — @app/dependabot
  • (#1097) chore(deps-dev): bump @nomicfoundation/hardhat-ethers-chai-matchers from 3.0.9 to 3.0.10 in /contracts — @app/dependabot
  • (#1098) chore(deps-dev): bump @playwright/test from 1.59.1 to 1.60.0 in /client — @app/dependabot
  • (#1099) chore(deps-dev): bump @nomicfoundation/hardhat-ethers from 4.0.12 to 4.0.13 in /contracts — @app/dependabot
  • (#1100) chore(deps-dev): bump vitest from 2.1.9 to 4.1.8 in /packages/indexer/explorer — @app/dependabot
  • (#1101) chore(deps-dev): bump vitest from 2.1.9 to 4.1.8 in /client — @app/dependabot
  • (#1102) chore(deps): bump react-hook-form from 7.76.0 to 7.77.0 in /client — @app/dependabot
  • (#1103) chore(deps-dev): bump tsx from 4.21.0 to 4.22.4 in /client — @app/dependabot
  • (#1104) chore(deps-dev): bump typescript from 5.9.3 to 6.0.3 in /client — @app/dependabot
  • (#1105) chore(deps): bump @scure/bip32 from 1.7.0 to 2.2.0 in /client — @app/dependabot
  • (#1106) chore(deps): bump tailwind-merge from 2.6.1 to 3.6.0 in /client — @app/dependabot
  • (#1146) chore(release): bump client to v0.1.9 — @ritsuKai2000

docs

  • (#932) docs: corpus-search prior-art survey (spike finding for #931) — @ritsukai
  • (#943) docs(growth): deprecate prior approach, adopt loadout-instrument engine — @oaksprout
  • (#946) docs(eng-day): autonomy triage + autopilot-era human-attention routing — @ritsukai
  • (#995) docs(learning-engine): reference doc + skill for the meta-engine — @oaksprout
  • (#1002) docs: gate load-bearing human surfaces with a required human review (DR-2026-06-03) — @oaksprout
  • (#1003) docs(skills): human-surface intake gate in file-issue + implement-issue (DR-2026-06-03 counterpart) — @oaksprout
  • (#1007) docs(operator-app-spec): onboarding completeness — SolverNet + harness + model selection (#983 Phase 0) — @oaksprout
  • (#1009) docs(indexer): record watch-path base confirmed + config-as-code enabled — @ritsuKai2000
  • (#1011) docs(design-prompt): scope #983 Claude Design prompt to new surfaces only — @oaksprout
  • (#1023) docs(operator-app-spec): amend #983 — collapse harness selection in onboarding, narrow scope — @oaksprout
  • (#1026) docs(learning-engine): anchor in canonical RL/ML/statistics terms — @oaksprout
  • (#1028) docs: propose task structure model (Result / Process / Solution) — @oaksprout
  • (#1034) docs(press): proactive ten-operator gate release + create-press-release proactive mode — @oaksprout
  • (#1109) docs(spec): independent-blockchain launch decision record (sovereign Cosmos, native token, inference-refinery framing) — @oaksprout
  • (#1113) docs(spec): §1 legitimacy-rooting reframe + operator-hardware laptop target — @oaksprout
  • (#1120) docs: replace stale zero-external-operator claims with on-chain check — @oaksprout
  • (#1131) docs: simplified launch logic — decision log + plan — @oaksprout

test

  • (#843) test(eval): Tier-1 CI smoke for the jinn eval orchestrator — @ritsukai
  • (#977) test(e2e): recalibrate learner full-cycle swe-rebench-v2 for claude-code/Haiku (#930) — @ritsuKai2000
  • (#1025) test: app-experience coverage — deterministic SPA flow + non-gating real paired smoke (#1014) — @ritsuKai2000

other

Closed this week

Stats

  • Window: v0.1.8 → HEAD (2026-06-09)
  • 340 commits · 729 files changed, 51305 insertions(+), 14301 deletions(-) · 150 PRs · 5 contributors

Known issues

  • No blocking known issues for this release. Non-blocking follow-ups remain tracked in GitHub Issues.