Skip to main content

Changelog

Customer-facing changes to the Roboticks platform, SDK, CLI, runner, and documentation.

2026-05-26 — Wire schema v2, per-test-case artifacts, AI surfaces

Wire contract — schema v2

  • Bumped roboticks_schema_version to 2. The platform supports v2 and v1 (one-back); v1 uploads keep working with a legacy adapter that lands per-test-case artifacts under the run-level prefix instead of per-case sub-folders.
  • New required testcase property: roboticks.nodeid (the pytest nodeid). Drives the deterministic per-test-case S3 prefix test-runs/{run_id}/test-cases/{sha256(nodeid)[:16]}/.
  • New optional, repeatable testcase property family: roboticks.attach.{kind}, one per file registered via the new attach_artifact() API. The runner uploader walks them and posts each file with {nodeid, kind} to the per-test-case prefix.
  • Full reference: SDK wire contract. Narrative: testing wire contract.

SDK

  • New module roboticks.artifacts and top-level export attach_artifact(path, *, kind=...) for registering per-test files (MCAPs, screenshots, JSONL traces). Reserved kinds: KIND_MCAP, KIND_LOGS, KIND_ATTACHMENTS; custom single-segment labels accepted.
  • Pytest plugin emits roboticks.nodeid on every testcase + one roboticks.attach.{kind} property per attached file. Added thread-local active-test resolution so attach_artifact() doesn’t need plumbing.
  • See SDK overview → attach_artifact and pytest plugin.

CLI

  • New: rbtk test watch <run-id> — live-stream a run’s status from queued → running → completed without leaving the terminal.
  • New: rbtk test cases <run-id> — list test cases that ran inside a run with their per-test-case S3 prefix and roboticks.confirms links.
  • New: rbtk test files <run-id> [--nodeid …] [--prefix …] [--download] — list or download per-test-case artifacts. Local layout mirrors S3 so files stay grouped under the test that produced them. The old rbtk test artifacts remains as a hidden alias.
  • rbtk test cloud now prints a clickable workspace URL alongside the run ID, and supports --no-confirm-charge for a price-quote dry-run.

MCP

  • New orchestration tool trigger_cloud_test_run returns a workspace_url derived from the org slug so an LLM agent can hand the link straight to the user.
  • New tools list_test_run_test_cases, watch_test_run, and download_test_run_files mirror the new CLI surface for LLM-driven sessions.

Platform — AI features

A new wave of inline AI surfaces shipped across the product, each backed by a typed AITaskType with fixed model routing and a fixed token_cost. All are metered in the org’s monthly ai_tokens grant (Free 100 k / Team 5 M / Enterprise ∞).
  • Test debugging: inline log-anomaly highlighting on the Logs page; cross-run flakiness analysis on test-case detail; sim-vs-real run comparison on sim runs.
  • Requirements & traceability: four new requirement-detail assists (INCOSE quality, verification-method, duplicate / contradiction, standards-clause linkage), chat-with-document on the Requirements Upload page, gap explanation + test-suggestion on uncovered matrix rows. New shared <AIAssist> React primitive for inline row assists.
  • Evidence & standards: evidence-pack narrative (Opus), pre-audit Q&A and completeness gate per pack, standards coverage delta and plain-English clause summaries, weekly AI digest on the Posture dashboard.
  • Search: new /search/ai endpoint — natural-language queries (e.g. “failing tests on main from last week”) parsed by Haiku into structured filters with deterministic click-through URLs.
  • Doc set: AI overview, test debugging, requirements & traceability, evidence & standards, NL search.

Integrations

  • Clarified the pricing model: BYO test-result ingest is free on every tier (JUnit-with-confirms, MCAP, SARIF 2.1.0). The $149/connector/month fee covers the requirements-side and certified-static-analysis catalog only.
  • BYO connector marketplace exposes new fields per entry: supported_sync_modes (cloud_poll / cli_push / webhook), primary_sync_mode, partner_status (not_applied / pending / active / denied), cli_setup_doc_url, v1_ready. The Add button is disabled for pre-v1 connectors so the catalog can surface the roadmap without misrepresenting availability.

Platform — internal cleanup

  • Backend permissions and topology vocabulary renamed sessionstest_runs (no aliases). API key scopes (project:read:test_runs), permission columns, schema types, and admin dashboards all carry the V&V vocabulary now.
  • Migrations 14_rename_permission_sessions_to_test_runs.py and 15_rename_test_job_session_id_to_test_run_id.py complete the rename in the DB.

2026-05 — V&V pivot

Roboticks pivoted from robot fleet management to audit-grade test CI for ROS2. This is a clean rebuild around the V-model: requirements ingestion, traceability, evidence packs, and standards-feed alerting.

Platform

  • GitHub App is the canonical integration. Install once; per-PR Check Runs report coverage delta.
  • Requirements engine ingests ReqIF (Polarion, Jama, codeBeamer, DOORS), PDF (LLM-extracted), inline YAML, or manual entry.
  • Traceability engine computes per-requirement coverage state (confirmed / partial / regression / unconfirmed / gap); matrix UI; change-impact analysis on PRs.
  • Runner pools — hosted Gazebo Harmonic / Webots / ROS2 (metered sim minutes) and self-hosted via the roboticks-runner Go binary (free compute). Air-gapped mode on Enterprise.
  • Evidence packs — PDF + ReqIF + ZIP, tamper-evident hash chain, 10-year S3 Glacier Deep Archive retention.
  • Standards feed — pin standards (ISO 10218, IEC 61508, EU MR 2023/1230, etc.); alerts on amendments touching pinned requirements.
  • LLM triage — “why did this fail?” + “suggest tests for this requirement.”

SDK

  • New roboticks PyPI package: @confirms/@tags/@requires_sim/@deadline decorators, pytest11 plugin, rclpy assertion helpers, MCAP capture, launch_testing helpers, fault injection.
  • New roboticks_cpp ament_cmake INTERFACE library: ROBOTICKS_CONFIRMS(...) macro, gtest helpers.
  • Wire format: JUnit-with-confirms (XSD-schema-versioned); roboticks_schema_version = 1.

CLI

  • Repo roboticks-io/roboticks-cli published as pip install roboticks-cli. Two aliases: rbtk (short) and roboticks (clear).
  • New command groups: rbtk test, rbtk requirements, rbtk github, rbtk pool, rbtk context, rbtk auth.
  • GitHub OIDC exchange (rbtk auth oidc-from-github) for keyless CI auth.

Runner

  • roboticks-runner Go binary v2.x.x: ROS2 test execution, container lifecycle, MCAP/JUnit upload via presigned URLs, capability declaration (ROS distros, sim engines, GPU), heartbeat with token rotation.
  • Air-gapped mode (Enterprise): no GitHub connectivity required.

Pricing

  • Four tiers: Free / Team / Enterprise / Sponsored.
  • Three metered dimensions only: hosted sim minutes, hot storage, archive storage. Test runs never billed. Self-hosted runner compute always free.
  • Standards subscriptions 99/standard/mo.BYOconnectors(LDRA,Polyspace,Coverity,Jama,Polarion,codeBeamer,DOORS)99/standard/mo. BYO connectors (LDRA, Polyspace, Coverity, Jama, Polarion, codeBeamer, DOORS) 149/connector/mo.

Documentation

  • Top-to-bottom rewrite around the V&V product. Old fleet/device/MQTT/tunnel/capsule/rollout content removed.
  • New sections: GitHub App, Requirements, Traceability, Evidence Packs, Standards Coverage, Compliance Patterns.
  • Expanded Testing and SDK sections.

Upcoming

  • GitLab support (post-MVP; tracking demand).
  • Per-region runner pools for low-latency EU customers (deferred).
  • SDK formal tool qualification (year 2+; ISO 26262-8 TCL-1 for the assertion layer).
  • Custom internal standards on Enterprise.

Earlier releases

Earlier releases were for the legacy robot-fleet product. Those release notes are no longer applicable to the current product; archived for historical reference at legacy-sidebar.json.