Skip to content

fix(release): strip "Reborn" codename from 1.0.0-rc.1 release + fix MSI blocker - #6383

Merged
henrypark133 merged 1 commit into
release-fix-1.0.0-rc.1from
dereborn-strip-1.0.0-rc.1
Jul 21, 2026
Merged

henrypark133 merged 1 commit into
release-fix-1.0.0-rc.1from
dereborn-strip-1.0.0-rc.1

Conversation

@henrypark133

Copy link
Copy Markdown
Collaborator

Targets the isolated release-fix-1.0.0-rc.1 branch (based on 40ae720, the changelog commit — deliberately not main tip, which carries the v1-deletion refactors #6374/#6375 we don't want in this release).

Why

The first tag push (ironclaw-v1.0.0-rc.1 → 40ae720) failed at cargo-dist's plan step:

× crates/ironclaw_reborn_cli/wix/main.wxs has out of date contents:
  -  Description='Secure personal AI assistant that protects your data and expands its capabilities on the fly'
  +  Description='Standalone IronClaw Reborn binary'

The package description had been changed to "Standalone IronClaw Reborn binary" but the committed MSI template still carried the classic tagline, so the generator refused to build. Separately, the team wants the release framed with no user-facing "Reborn" codename.

Changes

Both goals, one fix:

  • crates/ironclaw_reborn_cli/Cargo.toml — description reverted to "Secure personal AI assistant that protects your data and expands its capabilities on the fly". Now matches wix/main.wxs byte-for-byte → plan passes. Also removes "Reborn" from the MSI/package metadata a user sees.
  • CHANGELOG.md ## [1.0.0-rc.1] section — the four prose "Reborn" codename references dropped. The rearchitecture framing stays (ground-up rebuild, ironclaw-legacy, v1 monolith). IRONCLAW_REBORN_HOME is left verbatim — it's a config env var users type exactly, not marketing copy.

No code logic touched. Capability claims, counts, and the data-safety "fresh install / no in-place upgrade" warning are unchanged.

After merge

Delete the failed tag, re-tag this branch tip, push — clean release from 40ae720 + these fixes, none of the main-tip refactors. The de-Reborn changelog + description live only on this release branch; a follow-up PR reconciles main separately.

🤖 Generated with Claude Code

…escription

Removes the internal "Reborn" codename from the two things a user sees on
the 1.0.0-rc.1 release: the changelog release notes and the package
description. The rearchitecture framing (ground-up rebuild, ironclaw-legacy,
v1 monolith) stays — only the codename is dropped.

The Cargo.toml description change also unblocks the release: cargo-dist's
`plan` step failed because the package description ("Standalone IronClaw
Reborn binary") no longer matched the committed wix/main.wxs Description
string. Reverting the description to the canonical tagline makes the two
match again, so the MSI generator no longer reports an out-of-date template.

IRONCLAW_REBORN_HOME is left as-is — it is a config env var users type
verbatim, not marketing copy.

Docs/metadata only. No code logic touched.
@ironloopai

ironloopai Bot commented Jul 21, 2026 •

Copy link
Copy Markdown
Contributor

🔎 IronLoop Review Status

Head: b06e4ef11854f477e75ff1b97be27b3b4b2bfc77
Result: Reviewer output needs human attention or validation.
Next: Review the flagged rows before merging.
Updated: 2026-07-21T00:38:28.519Z

Current reviewers:

Reviewer State Verdict Findings Last update
ironloop/common-reviewer (reviewer) Completed Needs validation 0 blocking findings / 1 note; needs validation 2026-07-21T00:38:28.510Z
Reviewer summaries
Reviewer Detail
ironloop/common-reviewer (reviewer) Needs validation; 0 blocking findings; The MSI metadata now matches the checked-in WiX description, but the release notes still expose the Reborn codename. The required cargo-dist release-plan validation could not run …
Recent activity
Time Reviewer State Detail
2026-07-21T00:34:31.342Z ironloop/common-reviewer (reviewer) Queued Accepted review request for head b06e4ef.
2026-07-21T00:34:31.342Z ironloop/common-reviewer (reviewer) Queued Waiting for this reviewer lane to become available.
2026-07-21T00:34:31.876Z ironloop/common-reviewer (reviewer) Started Reviewer worker started.
2026-07-21T00:34:34.474Z ironloop/common-reviewer (reviewer) Workspace ready Prepared isolated checkout (merge_ref) at a3734b0.
2026-07-21T00:38:28.510Z ironloop/common-reviewer (reviewer) Result captured Needs validation; 0 blocking findings.
2026-07-21T00:38:28.510Z ironloop/common-reviewer (reviewer) Completed Review completed and terminal status was persisted.
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.

@github-actions github-actions Bot added scope: docs Documentation size: XS < 10 changed lines (excluding docs) risk: low Changes to docs, tests, or low-risk modules contributor: core 20+ merged PRs labels Jul 21, 2026
@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

🗂️ Base branches to auto review (2)
  • staging
  • reborn-integration

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 63e8ffe1-c171-4160-a81c-1b4ac037f7d2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@gemini-code-assist gemini-code-assist 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.

Code Review

This pull request updates the CHANGELOG.md and Cargo.toml files to replace references to the internal codename 'Reborn' with more descriptive language, such as 'rearchitected' and a detailed description of the application's capabilities. There are no review comments, and I have no feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b06e4ef118

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread CHANGELOG.md
Comment on lines +16 to +18
**The `ironclaw` binary is now the rearchitected CLI.** The v1 monolith now
builds as the `ironclaw-legacy` binary and is no longer published; 1.0.0-rc.1
publishes the new `ironclaw` binary only.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Strip remaining codename mentions from release notes

Because this change is meant to remove the user-facing Reborn codename from the 1.0.0-rc.1 release notes, the edited intro is still incomplete: the same release section still contains prose such as “standalone Reborn binary” on line 80, “Reborn WebUI” on line 102, and “canonical Reborn ironclaw package” on line 111. A user reading the itemized notes will still see the codename, so the release-surface cleanup needs to cover those remaining entries too.

Useful? React with 👍 / 👎.

@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
⚠️ Needs validation 0 1 1 b06e4ef11854

Head: b06e4ef11854f477e75ff1b97be27b3b4b2bfc77
Next: Human review or validation is required before merging.

Run details

Status: Current
Needs human: no
Needs validation: yes

Summary

The MSI metadata now matches the checked-in WiX description, but the release notes still expose the Reborn codename. The required cargo-dist release-plan validation could not run because neither cargo nor cargo-dist is installed in this environment.

Findings

Blocking: 0 / Notes: 1

Non-blocking notes (1)
1. 💬 [MEDIUM] Release notes still expose the Reborn codename

Location: CHANGELOG.md:79-80
The stated goal is no user-facing Reborn codename, but the published notes still use (reborn) labels and call this the “standalone Reborn binary” here. Further user-visible occurrences remain in the Fixed, Changed, and CI/Release sections. Remove or rename those labels too; IRONCLAW_REBORN_HOME can remain as the explicitly documented configuration-variable exception.

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 CHANGELOG.md
**The `ironclaw` binary is now the Reborn CLI.** The v1 monolith now builds as
the `ironclaw-legacy` binary and is no longer published; 1.0.0-rc.1 publishes
the Reborn `ironclaw` binary only.
**The `ironclaw` binary is now the rearchitected CLI.** The v1 monolith now

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.

Removing the intro references is incomplete: the published notes below still contain (reborn) labels, “standalone Reborn binary”, and “Reborn WebUI”. Please remove or rename those user-facing codename references as well (while retaining the IRONCLAW_REBORN_HOME configuration variable).

@henrypark133
henrypark133 merged commit 8257215 into release-fix-1.0.0-rc.1 Jul 21, 2026
19 of 20 checks passed
@henrypark133
henrypark133 deleted the dereborn-strip-1.0.0-rc.1 branch July 21, 2026 03:13
ogarciarevett pushed a commit to ogarciarevett/ironclaw that referenced this pull request Aug 4, 2026
…c.1 (nearai#7108)

* fix(webui): stop WebChat 'Disconnected' lockout (forward-port of nearai#6592)

Forward-ports PR nearai#6592 from release-fix-1.0.0-rc.1, which shipped in
1.0.0 but was never merged back to main. main forked from the release
branch at 40ae720, so none of this fix reached the trunk.

Reconciled by hand rather than cherry-picked: main's SseCapacity has
since grown `try_acquire_ordered` / `SseAcquireResult`
(Acquired / AtCapacity / StaleGeneration) for browser-tab stream
generations, which the release branch never had.

Backend:
- webui_rate_limit: `mark_rate_limit_refundable` marks a handler's own
  429 as refundable via a response extension (server-side-only, stripped
  before returning); `enforce_rate_limit` refunds the charge through
  `refund_charge`. Refunding is keyed off that explicit marker, never
  bare HTTP 429 — turn-submission admission-control 429s must keep
  draining budget during the overload they signal.
- `Window` carries a generation token minted on every insert/reset;
  `refund_charge` validates it instead of `window_start`, which is only
  second-resolution and can collide after an LRU eviction + reinsert.
- SseCapacity tracks a per-caller `rejected_streak`; only the first
  REJECTION_REFUND_LIMIT consecutive rejections while saturated are
  refundable, so a pinned caller cannot flood free 429s. Cap-zero flows
  through the same accounting instead of short-circuiting.
- `stream_events` and `stream_events_ws` both mark their capacity 429
  refundable. A stale-generation upgrade stays non-refundable.

Frontend:
- chat.tsx: `handleSend` closed over `activeThreadId` at creation time,
  so concurrent landing-composer sends each navigated their own thread,
  flipping the URL and tearing down/reopening the single SSE stream.
  An empty-thread cycle counter (bumped on truthy->falsy transitions of
  activeThreadId and by the winning send) admits exactly one navigation.

Regression coverage:
- webui_rate_limit_refund_test.rs: refund/no-refund through the real
  middleware, plus generation-token no-op cases.
- webui_rate_limit_router_contract_test.rs: the real stream_events and
  stream_events_ws handlers behind the real enforce_rate_limit and a
  real SseCapacity, including a real-socket WS upgrade and the
  burst-cutoff cases past REJECTION_REFUND_LIMIT.
- sse_capacity: streak-limit and streak-reset cases.
- chat.test.ts: the three concurrent-send navigation races, with a
  positional-ref harness so refs persist across simulated rerenders.

All three router-contract tests and all three chat.test.ts tests were
confirmed to fail with the wiring disabled.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* ci: run the full Reborn test/E2E gates on release-branch PRs (forward-port of nearai#6537)

Forward-ports PR nearai#6537 from release-fix-1.0.0-rc.1. A release-blocker
fix opened against a frozen candidate has to clear the same
deterministic Reborn suite and E2E lanes as a PR into main, or an rc is
cut from code the gates never saw.

Adds `release/*` alongside the original `release-fix-*` so the weekly
cut named in docs/internal/weekly-release-strategy.md
(`release/YYYY-MM-DD`) is covered too.

Adding a pull_request trigger does not violate the "no deterministic
failure may be main-only" rule in .github/workflows/README.md: the
merge queue's shape is unchanged.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* docs(changelog): record the shipped 1.0.0 release and drop the "Reborn" codename

main forked from release-fix-1.0.0-rc.1 at 40ae720, so neither release
tag's commit is on the trunk and CHANGELOG.md has no [1.0.0] section at
all — the shipped release is unrecorded here.

- Adds the [1.0.0] - 2026-07-27 section verbatim from the commit tagged
  ironclaw-v1.0.0 (e3a0752, PR nearai#6736), so the trunk changelog matches
  what was actually published.
- Applies PR nearai#6383's codename scrub to [1.0.0-rc.1]: the internal
  "Reborn" name is dropped from the three places a user reads it. The
  rearchitecture framing stays; only the codename goes. nearai#6383's
  Cargo.toml half is already on main, so only the prose is ported.

cargo-dist derives the GitHub Release body from this file, which is why
the section ordering and headings matter beyond the repo.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* chore(release): bump ironclaw to 1.1.0-rc.1

Cuts the first release candidate since 1.0.0. main has been sitting at
1.0.0-rc.1 because the 1.0.0 bump only ever landed on
release-fix-1.0.0-rc.1; the preceding commit records that release, and
this one moves the trunk forward.

1.1.0 rather than 1.0.1: 26 feat commits landed in this window
(custom MCP server registration, IronHub install, durable cross-channel
attachments, Slack slash commands, memory-as-extension, the opt-in
sandbox lane).

Renames [Unreleased] to [1.1.0-rc.1] and fills in the ~118 user-facing
commits since the fork point that the section did not yet cover, grouped
under Added / Changed / Fixed / Performance / Removed. Anything shipped
unwired or opt-in says so.

Merging this to main makes release-plz create the ironclaw-v1.1.0-rc.1
tag, which fires the cargo-dist publisher in ironclaw-release.yml:
seven targets, shell/PowerShell/MSI installers, a GitHub prerelease
(the version suffix sets --prerelease), and the nearaidev/ironclaw
Docker image. cargo-dist derives the Release body from CHANGELOG.md.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
l3ocifer pushed a commit to l3ocifer/frick-ironclaw that referenced this pull request Sep 3, 2026
…c.1 (nearai#7108)

* fix(webui): stop WebChat 'Disconnected' lockout (forward-port of nearai#6592)

Forward-ports PR nearai#6592 from release-fix-1.0.0-rc.1, which shipped in
1.0.0 but was never merged back to main. main forked from the release
branch at 40ae720, so none of this fix reached the trunk.

Reconciled by hand rather than cherry-picked: main's SseCapacity has
since grown `try_acquire_ordered` / `SseAcquireResult`
(Acquired / AtCapacity / StaleGeneration) for browser-tab stream
generations, which the release branch never had.

Backend:
- webui_rate_limit: `mark_rate_limit_refundable` marks a handler's own
  429 as refundable via a response extension (server-side-only, stripped
  before returning); `enforce_rate_limit` refunds the charge through
  `refund_charge`. Refunding is keyed off that explicit marker, never
  bare HTTP 429 — turn-submission admission-control 429s must keep
  draining budget during the overload they signal.
- `Window` carries a generation token minted on every insert/reset;
  `refund_charge` validates it instead of `window_start`, which is only
  second-resolution and can collide after an LRU eviction + reinsert.
- SseCapacity tracks a per-caller `rejected_streak`; only the first
  REJECTION_REFUND_LIMIT consecutive rejections while saturated are
  refundable, so a pinned caller cannot flood free 429s. Cap-zero flows
  through the same accounting instead of short-circuiting.
- `stream_events` and `stream_events_ws` both mark their capacity 429
  refundable. A stale-generation upgrade stays non-refundable.

Frontend:
- chat.tsx: `handleSend` closed over `activeThreadId` at creation time,
  so concurrent landing-composer sends each navigated their own thread,
  flipping the URL and tearing down/reopening the single SSE stream.
  An empty-thread cycle counter (bumped on truthy->falsy transitions of
  activeThreadId and by the winning send) admits exactly one navigation.

Regression coverage:
- webui_rate_limit_refund_test.rs: refund/no-refund through the real
  middleware, plus generation-token no-op cases.
- webui_rate_limit_router_contract_test.rs: the real stream_events and
  stream_events_ws handlers behind the real enforce_rate_limit and a
  real SseCapacity, including a real-socket WS upgrade and the
  burst-cutoff cases past REJECTION_REFUND_LIMIT.
- sse_capacity: streak-limit and streak-reset cases.
- chat.test.ts: the three concurrent-send navigation races, with a
  positional-ref harness so refs persist across simulated rerenders.

All three router-contract tests and all three chat.test.ts tests were
confirmed to fail with the wiring disabled.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* ci: run the full Reborn test/E2E gates on release-branch PRs (forward-port of nearai#6537)

Forward-ports PR nearai#6537 from release-fix-1.0.0-rc.1. A release-blocker
fix opened against a frozen candidate has to clear the same
deterministic Reborn suite and E2E lanes as a PR into main, or an rc is
cut from code the gates never saw.

Adds `release/*` alongside the original `release-fix-*` so the weekly
cut named in docs/internal/weekly-release-strategy.md
(`release/YYYY-MM-DD`) is covered too.

Adding a pull_request trigger does not violate the "no deterministic
failure may be main-only" rule in .github/workflows/README.md: the
merge queue's shape is unchanged.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* docs(changelog): record the shipped 1.0.0 release and drop the "Reborn" codename

main forked from release-fix-1.0.0-rc.1 at 40ae720, so neither release
tag's commit is on the trunk and CHANGELOG.md has no [1.0.0] section at
all — the shipped release is unrecorded here.

- Adds the [1.0.0] - 2026-07-27 section verbatim from the commit tagged
  ironclaw-v1.0.0 (e3a0752, PR nearai#6736), so the trunk changelog matches
  what was actually published.
- Applies PR nearai#6383's codename scrub to [1.0.0-rc.1]: the internal
  "Reborn" name is dropped from the three places a user reads it. The
  rearchitecture framing stays; only the codename goes. nearai#6383's
  Cargo.toml half is already on main, so only the prose is ported.

cargo-dist derives the GitHub Release body from this file, which is why
the section ordering and headings matter beyond the repo.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* chore(release): bump ironclaw to 1.1.0-rc.1

Cuts the first release candidate since 1.0.0. main has been sitting at
1.0.0-rc.1 because the 1.0.0 bump only ever landed on
release-fix-1.0.0-rc.1; the preceding commit records that release, and
this one moves the trunk forward.

1.1.0 rather than 1.0.1: 26 feat commits landed in this window
(custom MCP server registration, IronHub install, durable cross-channel
attachments, Slack slash commands, memory-as-extension, the opt-in
sandbox lane).

Renames [Unreleased] to [1.1.0-rc.1] and fills in the ~118 user-facing
commits since the fork point that the section did not yet cover, grouped
under Added / Changed / Fixed / Performance / Removed. Anything shipped
unwired or opt-in says so.

Merging this to main makes release-plz create the ironclaw-v1.1.0-rc.1
tag, which fires the cargo-dist publisher in ironclaw-release.yml:
seven targets, shell/PowerShell/MSI installers, a GitHub prerelease
(the version suffix sets --prerelease), and the nearaidev/ironclaw
Docker image. cargo-dist derives the Release body from CHANGELOG.md.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
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: docs Documentation size: XS < 10 changed lines (excluding docs)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant