Skip to content

chore: release - #5598

Open
ironclaw-ci[bot] wants to merge 1 commit into
mainfrom
release-plz-2026-07-03T12-55-53Z
Open

ironclaw-ci[bot] wants to merge 1 commit into
mainfrom
release-plz-2026-07-03T12-55-53Z

Conversation

@ironclaw-ci

@ironclaw-ci ironclaw-ci Bot commented Jul 3, 2026 •

Copy link
Copy Markdown
Contributor

🤖 New release

  • ironclaw_common: 0.4.2 -> 0.5.0 (⚠ API breaking changes)
  • ironclaw_safety: 0.2.2 -> 0.2.3 (✓ API compatible changes)
  • ironclaw_skills: 0.3.0 -> 0.4.0 (⚠ API breaking changes)

⚠ ironclaw_common breaking changes

--- failure copy_impl_added: type now implements Copy ---

Description:
A public type now implements Copy, causing non-move closures to capture it by reference instead of moving it.
        ref: https://github.com/rust-lang/rust/issues/100905
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/copy_impl_added.ron

Failed in:
  ironclaw_common::AttachmentKind in /tmp/.tmpYCiXIw/ironclaw/crates/contracts/ironclaw_common/src/attachment.rs:33

--- failure enum_missing: pub enum removed or renamed ---

Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/enum_missing.ron

Failed in:
  enum ironclaw_common::IdentityError, previously in file /tmp/.tmpDH95A5/ironclaw_common/src/identity.rs:41
  enum ironclaw_common::AppEvent, previously in file /tmp/.tmpDH95A5/ironclaw_common/src/event.rs:201
  enum ironclaw_common::attachment::AttachmentKind, previously in file /tmp/.tmpDH95A5/ironclaw_common/src/attachment.rs:12
  enum ironclaw_common::CodeExecutionFailureCategory, previously in file /tmp/.tmpDH95A5/ironclaw_common/src/event.rs:678
  enum ironclaw_common::JobResultStatus, previously in file /tmp/.tmpDH95A5/ironclaw_common/src/event.rs:23
  enum ironclaw_common::SelfImprovementPhase, previously in file /tmp/.tmpDH95A5/ironclaw_common/src/event.rs:659
  enum ironclaw_common::OnboardingStateDto, previously in file /tmp/.tmpDH95A5/ironclaw_common/src/event.rs:160
  enum ironclaw_common::McpServerNameError, previously in file /tmp/.tmpDH95A5/ironclaw_common/src/identity.rs:399

--- failure enum_no_repr_variant_discriminant_changed: enum variant had its discriminant change value ---

Description:
The enum's variant had its discriminant value change. This breaks downstream code that used its value via a numeric cast like `as isize`.
        ref: https://doc.rust-lang.org/reference/items/enumerations.html#assigning-discriminant-values
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/enum_no_repr_variant_discriminant_changed.ron

Failed in:
  variant AttachmentKind::Document 2 -> 3 in /tmp/.tmpYCiXIw/ironclaw/crates/contracts/ironclaw_common/src/attachment.rs:41

--- failure enum_variant_added: enum variant added on exhaustive enum ---

Description:
A publicly-visible enum without #[non_exhaustive] has a new variant.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/enum_variant_added.ron

Failed in:
  variant AttachmentKind:Video in /tmp/.tmpYCiXIw/ironclaw/crates/contracts/ironclaw_common/src/attachment.rs:39
  variant AttachmentKind:Other in /tmp/.tmpYCiXIw/ironclaw/crates/contracts/ironclaw_common/src/attachment.rs:43

--- failure function_missing: pub fn removed or renamed ---

Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/function_missing.ron

Failed in:
  function ironclaw_common::compute_ironclaw_base_dir, previously in file /tmp/.tmpDH95A5/ironclaw_common/src/paths.rs:19

--- failure module_missing: pub module removed or renamed ---

Description:
A publicly-visible module cannot be imported by its prior path. A `pub use` may have been removed, or the module may have been renamed, removed, or made non-public.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/module_missing.ron

Failed in:
  mod ironclaw_common::attachment, previously in file /tmp/.tmpDH95A5/ironclaw_common/src/attachment.rs:1
  mod ironclaw_common::platform, previously in file /tmp/.tmpDH95A5/ironclaw_common/src/platform.rs:1

--- failure pub_module_level_const_missing: pub module-level const is missing ---

Description:
A public const is missing or renamed
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/pub_module_level_const_missing.ron

Failed in:
  MAX_WORKER_ITERATIONS in file /tmp/.tmpDH95A5/ironclaw_common/src/lib.rs:30
  MAX_EXTERNAL_THREAD_ID_LEN in file /tmp/.tmpDH95A5/ironclaw_common/src/identity.rs:257

--- failure struct_missing: pub struct removed or renamed ---

Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_missing.ron

Failed in:
  struct ironclaw_common::attachment::IncomingAttachment, previously in file /tmp/.tmpDH95A5/ironclaw_common/src/attachment.rs:37
  struct ironclaw_common::JobResultStatusParseError, previously in file /tmp/.tmpDH95A5/ironclaw_common/src/event.rs:64
  struct ironclaw_common::ToolDecisionDto, previously in file /tmp/.tmpDH95A5/ironclaw_common/src/event.rs:134
  struct ironclaw_common::PlanStepDto, previously in file /tmp/.tmpDH95A5/ironclaw_common/src/event.rs:123
  struct ironclaw_common::platform::PlatformInfo, previously in file /tmp/.tmpDH95A5/ironclaw_common/src/platform.rs:9
  struct ironclaw_common::PlatformInfo, previously in file /tmp/.tmpDH95A5/ironclaw_common/src/platform.rs:9

⚠ ironclaw_skills breaking changes

--- failure constructible_struct_adds_field: externally-constructible struct adds field ---

Description:
A pub struct constructible with a struct literal has a new pub field. Existing struct literals must be updated to include the new field.
        ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/constructible_struct_adds_field.ron

Failed in:
  field SkillManifest.auto_activate in /tmp/.tmpYCiXIw/ironclaw/crates/domains/ironclaw_skills/src/types.rs:162
  field SkillManifest.auto_activate in /tmp/.tmpYCiXIw/ironclaw/crates/domains/ironclaw_skills/src/types.rs:162

--- failure enum_missing: pub enum removed or renamed ---

Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/enum_missing.ron

Failed in:
  enum ironclaw_skills::v2::SkillRepairType, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/v2.rs:76
  enum ironclaw_skills::v2::V2SkillSource, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/v2.rs:15
  enum ironclaw_skills::registry::SkillRegistryError, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/registry.rs:151
  enum ironclaw_skills::SkillRegistryError, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/registry.rs:151
  enum ironclaw_skills::parser::SkillParseError, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/parser.rs:11
  enum ironclaw_skills::catalog::CatalogResolveError, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/catalog.rs:77
  enum ironclaw_skills::CatalogResolveError, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/catalog.rs:77

--- failure feature_missing: package feature removed or renamed ---

Description:
A feature has been removed from this package's Cargo.toml. This will break downstream crates which enable that feature.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#cargo-feature-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/feature_missing.ron

Failed in:
  feature registry in the package's Cargo.toml
  feature catalog in the package's Cargo.toml

--- failure function_missing: pub fn removed or renamed ---

Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/function_missing.ron

Failed in:
  function ironclaw_skills::catalog::catalog_entry_is_installed, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/catalog.rs:144
  function ironclaw_skills::catalog_entry_is_installed, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/catalog.rs:144
  function ironclaw_skills::registry::compute_hash, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/registry.rs:984
  function ironclaw_skills::compute_hash, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/registry.rs:984
  function ironclaw_skills::selector::extract_skill_mentions, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/selector.rs:350
  function ironclaw_skills::gating::check_requirements, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/gating.rs:27
  function ironclaw_skills::check_requirements, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/gating.rs:27
  function ironclaw_skills::registry::check_gating, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/registry.rs:993
  function ironclaw_skills::catalog::skill_download_url, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/catalog.rs:523
  function ironclaw_skills::selector::prefilter_skills, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/selector.rs:157
  function ironclaw_skills::prefilter_skills, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/selector.rs:157
  function ironclaw_skills::selector::apply_confidence_factor, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/selector.rs:431
  function ironclaw_skills::catalog::resolve_catalog_slug_for_name, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/catalog.rs:95
  function ironclaw_skills::resolve_catalog_slug_for_name, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/catalog.rs:95
  function ironclaw_skills::catalog::shared_catalog, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/catalog.rs:532
  function ironclaw_skills::shared_catalog, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/catalog.rs:532
  function ironclaw_skills::gating::check_requirements_sync, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/gating.rs:65
  function ironclaw_skills::check_requirements_sync, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/gating.rs:65
  function ironclaw_skills::parser::parse_skill_md, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/parser.rs:53
  function ironclaw_skills::gating::binary_exists, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/gating.rs:97

--- failure module_missing: pub module removed or renamed ---

Description:
A publicly-visible module cannot be imported by its prior path. A `pub use` may have been removed, or the module may have been renamed, removed, or made non-public.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/module_missing.ron

Failed in:
  mod ironclaw_skills::gating, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/gating.rs:1
  mod ironclaw_skills::parser, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/parser.rs:1
  mod ironclaw_skills::registry, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/registry.rs:1
  mod ironclaw_skills::v2, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/v2.rs:1
  mod ironclaw_skills::selector, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/selector.rs:1
  mod ironclaw_skills::catalog, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/catalog.rs:1

--- failure pub_module_level_const_missing: pub module-level const is missing ---

Description:
A public const is missing or renamed
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/pub_module_level_const_missing.ron

Failed in:
  MAX_SKILL_CONTEXT_TOKENS in file /tmp/.tmpDH95A5/ironclaw_skills/src/selector.rs:16

--- failure struct_missing: pub struct removed or renamed ---

Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_missing.ron

Failed in:
  struct ironclaw_skills::catalog::SkillDetail, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/catalog.rs:185
  struct ironclaw_skills::parser::ParsedSkill, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/parser.rs:33
  struct ironclaw_skills::v2::SkillMetrics, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/v2.rs:45
  struct ironclaw_skills::selector::ScoredSkill, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/selector.rs:31
  struct ironclaw_skills::catalog::CatalogEntry, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/catalog.rs:44
  struct ironclaw_skills::CatalogEntry, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/catalog.rs:44
  struct ironclaw_skills::registry::InstallFile, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/registry.rs:208
  struct ironclaw_skills::v2::SkillRevision, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/v2.rs:87
  struct ironclaw_skills::registry::SkillRegistry, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/registry.rs:190
  struct ironclaw_skills::SkillRegistry, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/registry.rs:190
  struct ironclaw_skills::v2::V2SkillMetadata, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/v2.rs:137
  struct ironclaw_skills::gating::GatingResult, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/gating.rs:10
  struct ironclaw_skills::GatingResult, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/gating.rs:10
  struct ironclaw_skills::catalog::SkillOwner, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/catalog.rs:219
  struct ironclaw_skills::catalog::SkillCatalog, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/catalog.rs:234
  struct ironclaw_skills::SkillCatalog, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/catalog.rs:234
  struct ironclaw_skills::registry::InstalledSkillMetadata, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/registry.rs:215
  struct ironclaw_skills::catalog::SkillStats, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/catalog.rs:204
  struct ironclaw_skills::selector::SelectionOutcome, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/selector.rs:45
  struct ironclaw_skills::v2::SkillRepairRecord, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/v2.rs:111
  struct ironclaw_skills::v2::CodeSnippet, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/v2.rs:30
  struct ironclaw_skills::catalog::CatalogSearchOutcome, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/catalog.rs:35
  struct ironclaw_skills::CatalogSearchOutcome, previously in file /tmp/.tmpDH95A5/ironclaw_skills/src/catalog.rs:35
Changelog

ironclaw_common

0.5.0 - 2026-08-05

Other

  • WS7 (1/2): family directory moves — text-only (#7206)

ironclaw_safety

0.2.3 - 2026-08-05

Other

  • WS7 (1/2): family directory moves — text-only (#7206)

Added

  • Add validated all-action leak redaction for retention boundaries.

Fixed

  • Redact complete bounded PEM and SSH private-key blocks instead of only their
    begin sentinels, keep private-key diagnostic previews constant, and reject
    matches that cross message boundaries.

ironclaw_skills

0.4.0 - 2026-08-05

Other

  • WS7 (1/2): family directory moves — text-only (#7206)


This PR was generated with release-plz.

@github-actions github-actions Bot added scope: docs Documentation scope: dependencies Dependency updates size: M 50-199 changed lines risk: medium Business logic, config, or moderate-risk modules contributor: core 20+ merged PRs labels Jul 3, 2026
@github-actions

github-actions Bot commented Jul 3, 2026 •

Copy link
Copy Markdown
Contributor

Coverage ratchet

Ratchet mode: ENFORCING

RATCHET PASS: global
  observed: 86.17% (328145 / 380805 lines)
  floor:    85.11% (tolerance 0.5pp -> effective floor 84.61%)
  denominator: 380805 lines now vs 375097 at floor capture (+5708 lines, +1.52%) — not a material change

RATCHET PASS: ironclaw_runner
  observed: 85.93% (14917 / 17359 lines)
  floor:    85.55% (tolerance 0.5pp -> effective floor 85.05%)
  floor_covered_lines: 14658 (tolerance 20 lines -> effective floor 14638)
  denominator: 17359 lines now vs 17133 at floor capture (+226 lines, +1.32%) — not a material change

RATCHET PASS: ironclaw_processes
  observed: 88.77% (5890 / 6635 lines)
  floor:    88.07% (tolerance 0.5pp -> effective floor 87.57%)
  floor_covered_lines: 5839 (tolerance 20 lines -> effective floor 5819)
  denominator: 6635 lines now vs 6630 at floor capture (+5 lines, +0.08%) — not a material change

RATCHET PASS: ironclaw_turns
  observed: 88.46% (3709 / 4193 lines)
  floor:    85.11% (tolerance 0.5pp -> effective floor 84.61%)

RATCHET PASS: ironclaw_authorization
  observed: 86.59% (723 / 835 lines)
  floor:    62.51% (tolerance 0.5pp -> effective floor 62.01%)
  floor_covered_lines: 612 (tolerance 20 lines -> effective floor 592)
  denominator: 835 lines now vs 979 at floor capture (-144 lines, -14.71%) — material change (>5%)

RATCHET PASS: ironclaw_approvals
  observed: 91.05% (1820 / 1999 lines)
  floor:    85.86% (tolerance 0.5pp -> effective floor 85.36%)
  floor_covered_lines: 1822 (tolerance 20 lines -> effective floor 1802)
  denominator: 1999 lines now vs 2122 at floor capture (-123 lines, -5.8%) — material change (>5%)

RATCHET PASS: ironclaw_secrets
  observed: 85.81% (2896 / 3375 lines)
  floor:    84.01% (tolerance 0.5pp -> effective floor 83.51%)
  floor_covered_lines: 2795 (tolerance 20 lines -> effective floor 2775)
  denominator: 3375 lines now vs 3327 at floor capture (+48 lines, +1.44%) — not a material change

RATCHET PASS: ironclaw_filesystem
  observed: 77.08% (5914 / 7673 lines)
  floor:    75.93% (tolerance 0.5pp -> effective floor 75.43%)
  floor_covered_lines: 5826 (tolerance 20 lines -> effective floor 5806)
  denominator: 7673 lines now vs 7673 at floor capture (+0 lines, +0%) — not a material change

RATCHET PASS: ironclaw_llm
  observed: 79.22% (20885 / 26364 lines)
  floor:    79.22% (tolerance 0.5pp -> effective floor 78.72%)
  floor_covered_lines: 20885 (tolerance 20 lines -> effective floor 20865)
  denominator: 26364 lines now vs 26364 at floor capture (+0 lines, +0%) — not a material change

RATCHET PASS: ironclaw_triggers
  observed: 94.68% (3134 / 3310 lines)
  floor:    86.04% (tolerance 0.5pp -> effective floor 85.54%)
  floor_covered_lines: 2804 (tolerance 20 lines -> effective floor 2784)
  denominator: 3310 lines now vs 3259 at floor capture (+51 lines, +1.56%) — not a material change

RATCHET PASS: ironclaw_product
  observed: 87.99% (22251 / 25289 lines)
  floor:    86.94% (tolerance 0.5pp -> effective floor 86.44%)
  floor_covered_lines: 21367 (tolerance 20 lines -> effective floor 21347)
  denominator: 25289 lines now vs 24576 at floor capture (+713 lines, +2.9%) — not a material change

RATCHET PASS: ironclaw_outbound
  observed: 94.68% (4271 / 4511 lines)
  floor:    93.49% (tolerance 0.5pp -> effective floor 92.99%)
  floor_covered_lines: 4105 (tolerance 20 lines -> effective floor 4085)
  denominator: 4511 lines now vs 4391 at floor capture (+120 lines, +2.73%) — not a material change

RATCHET PASS: ironclaw_extension_host
  observed: 85.82% (20590 / 23991 lines)
  floor:    84.83% (tolerance 0.5pp -> effective floor 84.33%)
  floor_covered_lines: 19907 (tolerance 20 lines -> effective floor 19887)
  denominator: 23991 lines now vs 23467 at floor capture (+524 lines, +2.23%) — not a material change

RATCHET PASS: ironclaw_extension_manager
  observed: 88.93% (6027 / 6777 lines)
  floor:    84.6% (tolerance 0.5pp -> effective floor 84.1%)
  floor_covered_lines: 4602 (tolerance 20 lines -> effective floor 4582)
  denominator: 6777 lines now vs 5440 at floor capture (+1337 lines, +24.58%) — material change (>5%)

RATCHET PASS: ironclaw_events
  observed: 80.55% (1197 / 1486 lines)
  floor:    80.55% (tolerance 0.5pp -> effective floor 80.05%)
  floor_covered_lines: 1197 (tolerance 20 lines -> effective floor 1177)
  denominator: 1486 lines now vs 1486 at floor capture (+0 lines, +0%) — not a material change

RATCHET PASS: ironclaw_safety
  observed: 92.75% (4468 / 4817 lines)
  floor:    92.44% (tolerance 0.5pp -> effective floor 91.94%)
  floor_covered_lines: 3973 (tolerance 20 lines -> effective floor 3953)
  denominator: 4817 lines now vs 4298 at floor capture (+519 lines, +12.08%) — material change (>5%)

RATCHET PASS: ironclaw_host_runtime
  observed: 88.41% (21338 / 24135 lines)
  floor:    88.23% (tolerance 0.5pp -> effective floor 87.73%)
  floor_covered_lines: 20538 (tolerance 20 lines -> effective floor 20518)
  denominator: 24135 lines now vs 23277 at floor capture (+858 lines, +3.69%) — not a material change

Reborn integration-tier coverage

Line coverage (Reborn crates): 86.17% — 328145 / 380805 lines

Per-crate breakdown (64 crates, lowest-covered first)
Crate Line % Covered / Total
ironclaw_host_ingress 42.5% 17 / 40
ironclaw_memory 53.48% 630 / 1178
ironclaw_projects 73.43% 246 / 335
ironclaw_capabilities 74.59% 2876 / 3856
ironclaw_trust 75.79% 748 / 987
ironclaw_extractors 75.88% 538 / 709
ironclaw_reborn_cli 76.1% 11084 / 14566
ironclaw_observability 76.19% 32 / 42
ironclaw_filesystem 77.08% 5914 / 7673
ironclaw_wasm 78.84% 704 / 893
ironclaw_llm 79.22% 20885 / 26364
ironclaw_events 80.55% 1197 / 1486
ironclaw_loop_contracts 82.4% 5637 / 6841
ironclaw_first_party_extensions 82.57% 6784 / 8216
ironclaw_memory_native 82.85% 2850 / 3440
ironclaw_libsql_runtime 83.3% 384 / 461
ironclaw_auth 83.95% 6699 / 7980
ironclaw_operator 84.54% 5303 / 6273
ironclaw_hooks 84.57% 9896 / 11702
ironclaw_event_projections 84.81% 854 / 1007
ironclaw_reborn_event_store 84.93% 1206 / 1420
ironclaw_reborn_config 85.29% 2110 / 2474
ironclaw_network 85.31% 894 / 1048
ironclaw_product_contracts 85.63% 4124 / 4816
ironclaw_secrets 85.81% 2896 / 3375
ironclaw_extension_contracts 85.81% 2558 / 2981
ironclaw_reborn_composition 85.82% 22051 / 25695
ironclaw_extension_host 85.82% 20590 / 23991
ironclaw_runner 85.93% 14917 / 17359
ironclaw_host_api 86.05% 6367 / 7399
ironclaw_authorization 86.59% 723 / 835
ironclaw_webui 86.99% 11980 / 13771
ironclaw_wasm_limiter 87.06% 74 / 85
ironclaw_common 87.07% 1152 / 1323
ironclaw_reborn_traces 87.61% 11720 / 13377
ironclaw_scripts 87.87% 420 / 478
ironclaw_product 87.99% 22251 / 25289
ironclaw_threads 88.14% 5189 / 5887
ironclaw_host_runtime 88.41% 21338 / 24135
ironclaw_turns 88.46% 3709 / 4193
ironclaw_telegram_extension 88.55% 588 / 664
ironclaw_skills 88.61% 2785 / 3143
ironclaw_process_sandbox 88.64% 281 / 317
ironclaw_processes 88.77% 5890 / 6635
ironclaw_extension_manager 88.93% 6027 / 6777
ironclaw_reborn_openai_compat 89.4% 3644 / 4076
ironclaw_telegram_v2_adapter 89.47% 1580 / 1766
ironclaw_extensions 89.55% 6249 / 6978
ironclaw_loop_host 90.47% 18043 / 19944
ironclaw_resources 90.76% 4084 / 4500
ironclaw_approvals 91.05% 1820 / 1999
ironclaw_reborn_identity 91.3% 451 / 494
ironclaw_mcp 92% 1426 / 1550
ironclaw_event_streams 92.5% 1048 / 1133
ironclaw_safety 92.75% 4468 / 4817
ironclaw_conversations 93.22% 2503 / 2685
ironclaw_agent_loop 93.52% 10430 / 11153
ironclaw_slack_extension 93.95% 3697 / 3935
ironclaw_first_party_extension_ports 94.66% 3758 / 3970
ironclaw_outbound 94.68% 4271 / 4511
ironclaw_triggers 94.68% 3134 / 3310
ironclaw_prompt_envelope 97.46% 192 / 197
ironclaw_runtime_policy 97.6% 855 / 876
ironclaw_attachments 98.49% 1374 / 1395

This table itself is informational and never gates the PR on its own — not the percentage, not the per-crate holes, not the 0-coverage callout. A separate coverage ratchet (dry-run until enforce=true; see tests/integration/coverage-floor.toml) can fail the build on specific configured floors.

Exemptions (18 entry/entries excluded from the accounting above)
Module / Crate Reason Issue
crate: ironclaw_gateway v1-only: consumed only by root ironclaw (src/channels/web/platform/static_files.rs, src/channels/web/handlers/frontend.rs); no crates/* dependents. Covered by "Tests (Legacy)". #5657
crate: ironclaw_tui v1-only: consumed only by root ironclaw (src/main.rs, src/channels/tui.rs); no crates/* dependents. Crate's own doc comment confirms it bridges INTO v1, not Reborn. Covered by "Tests (Legacy)". #5657
crates/ironclaw_attachments/src/lib.rs Declarative crate facade: module declarations, constants, and re-exports only; executable attachment modules remain covered. #6524
crates/ironclaw_extension_host/src/ingress/mod.rs Declarative ingress module facade and documentation only; executable router modules remain covered. #6524
crates/ironclaw_host_api/src/lib.rs Declarative crate facade: module declarations and re-exports only; executable host API modules remain covered. #6524
crates/ironclaw_host_api/src/product_adapter/mod.rs Declarative product-adapter facade: module declarations and re-exports only; executable adapter modules remain covered. #6524
crates/ironclaw_llm/src/rig_adapter/tests/finish_reason_tests.rs Test-only module stored under src/ for private adapter access; cargo-llvm-cov omits test harness source from production LCOV while the exercised rig_adapter.rs production lines remain coverage-gated. #6284
crates/ironclaw_loop_contracts/src/lib.rs Declaration-only public facade with no executable Rust statements; rustc emits no LCOV source record. Executable loop-contract behavior remains covered in the owned implementation modules. #6524
crates/ironclaw_outbound/src/error.rs Declarative error vocabulary only; variants have no LLVM-instrumentable production statements. #6524
crates/ironclaw_outbound/src/lib.rs Declarative crate facade: module declarations and re-exports only; executable outbound modules remain covered. #6524
crates/ironclaw_product/src/lib.rs Declaration-only public facade with no executable Rust statements; rustc emits no LCOV source record. Executable product behavior remains covered in the owned implementation modules. #6524
crates/ironclaw_product/src/lib.rs Declarative crate facade: module declarations and re-exports only; executable product modules remain covered. #6524
crates/ironclaw_product/src/scoped_fs/mod.rs Declarative scoped-filesystem facade and documentation only; executable scoped filesystem modules remain covered. #6524
crates/ironclaw_reborn_composition/src/support/fs/mod.rs Declarative composition support facade: module declarations and re-exports only; executable filesystem adapters remain covered. #6524
crates/ironclaw_slack_extension/src/lib.rs Declarative Slack crate facade: module declarations and re-exports only; executable Slack modules remain covered. #6524
crates/ironclaw_telegram_extension/src/lib.rs Declarative Telegram crate facade: module declarations and re-exports only; executable Telegram modules remain covered. #6524
crates/ironclaw_threads/src/lib.rs Declaration-only public facade with no executable Rust statements; rustc emits no LCOV source record. Executable thread behavior remains covered in the owned implementation modules. #6524
crates/ironclaw_webui/src/webui_v2/mod.rs Declaration-only WebUI v2 facade with no executable Rust statements; rustc emits no LCOV source record. Executable route behavior remains covered in the owned implementation modules. #6524

@ironclaw-ci
ironclaw-ci Bot force-pushed the release-plz-2026-07-03T12-55-53Z branch from 3d7b5c5 to 94a5950 Compare July 3, 2026 14:34
@ironloopai

ironloopai Bot commented Jul 3, 2026 •

Copy link
Copy Markdown
Contributor

🔎 IronLoop Review Status

Head: d6ba1710092b4b520a32dbe4f3e4752f9fb810be
Result: One or more review results were superseded by a newer PR head.
Next: Run @ironloopai review on the latest PR head.
Updated: 2026-07-27T21:49:54.767Z

Current reviewers:

Reviewer State Verdict Findings Last update
ironloop/common-reviewer (reviewer) Superseded N/A N/A 2026-07-16T05:36:26.828Z
Reviewer summaries
Reviewer Detail
ironloop/common-reviewer (reviewer) Superseded by a newer PR head. New head: 6cb0c91. Previous verdict: Approved.
Recent activity
Time Reviewer State Detail
2026-07-15T13:12:17.600Z ironloop/common-reviewer (reviewer) Queued Accepted review request for head b87d452.
2026-07-15T13:12:17.600Z ironloop/common-reviewer (reviewer) Queued Waiting for this reviewer lane to become available.
2026-07-15T13:12:17.651Z ironloop/common-reviewer (reviewer) Started Reviewer worker started.
2026-07-15T13:12:21.207Z ironloop/common-reviewer (reviewer) Workspace ready Prepared isolated checkout (merge_ref) at 47ef395.
2026-07-15T13:18:42.009Z ironloop/common-reviewer (reviewer) Result captured Approved; 0 blocking findings.
2026-07-15T13:18:42.009Z ironloop/common-reviewer (reviewer) Completed Review completed and terminal status was persisted.
2026-07-16T05:36:26.828Z ironloop/common-reviewer (reviewer) Superseded A newer PR head replaced this review (6cb0c91).
Available commands
  • @ironloopai help
  • @ironloopai agents
  • @ironloopai review
  • @ironloopai review --agent <agent>
Run metadata

Admission: webhook accepted the request and IronLoop persisted reviewer state before this projection.

@ironclaw-ci
ironclaw-ci Bot force-pushed the release-plz-2026-07-03T12-55-53Z branch 22 times, most recently from 08efa4e to f0f12b9 Compare July 4, 2026 18:44

@ironloopai ironloopai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ IronLoop Review: reviewer

Review at a glance

Verdict Blocking Notes Inline Head
✅ Approved 0 1 1 b87d4523d9da

Head: b87d4523d9da5e059404c8c34495972ac66b8297
Next: No reviewer action needed.

Run details

Status: Current
Needs human: no
Needs validation: no

Summary

The release versions, workspace dependency constraints, changelogs, and primary lockfile are consistent. One non-blocking reproducibility issue remains in the standalone latency harness lockfile.

Findings

Blocking: 0 / Notes: 1

Non-blocking notes (1)
1. 💬 [LOW] Regenerate the standalone latency harness lockfile

Location: Cargo.lock:4150
The release bumps ironclaw_common, ironclaw_safety, and ironclaw_skills, but harness/latency/runner/Cargo.lock still records versions 0.4.2, 0.2.2, and 0.3.0 respectively. Because that harness is a separate workspace using these path dependencies transitively, its first normal run will rewrite a tracked lockfile and any --locked invocation will fail before building. Regenerate the harness lockfile alongside these version changes.

Developer follow-up

After fixing this feedback:

  1. Push the fix to this PR branch.
  2. Re-run this reviewer with @ironloopai review --agent reviewer if you only changed this reviewer's findings.
  3. Re-run all reviewers with @ironloopai review when the fix may affect multiple areas.

Comment thread Cargo.lock
[[package]]
name = "ironclaw_common"
version = "0.4.2"
version = "0.5.0"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The standalone harness/latency/runner/Cargo.lock still records ironclaw_common 0.4.2, ironclaw_safety 0.2.2, and ironclaw_skills 0.3.0. Since that separate workspace reaches these path packages transitively, normal runs will rewrite its tracked lockfile and --locked runs will fail. Please regenerate that lockfile with these release bumps.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contributor: core 20+ merged PRs risk: low Changes to docs, tests, or low-risk modules scope: dependencies Dependency updates scope: docs Documentation size: M 50-199 changed lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants