Skip to content

Prepare v0.11.0-alpha.1 release - #110

Merged
flyingrobots merged 2 commits into
mainfrom
release/v0.11.0-alpha.1-prep
Jun 30, 2026
Merged

Prepare v0.11.0-alpha.1 release#110
flyingrobots merged 2 commits into
mainfrom
release/v0.11.0-alpha.1-prep

Conversation

@flyingrobots

Copy link
Copy Markdown
Owner

Summary

Prepare v0.11.0-alpha.1 as the contract-bundle assembly and canonical Target IR artifact freeze alpha.

This release packages:

  • crate version bumps to 0.11.0-alpha.1 for edict-syntax and edict-cli;
  • docs/releases/v0.11.0-alpha.1.md release-prep notes;
  • structured release policy and xtask evidence for the v0.11 boundary;
  • changelog, README, docs index, release-process topic, and roadmap signposts;
  • topic-shelf audit evidence for the release-prep gate.

Closes #109

Release Thesis

v0.11.0-alpha.1 freezes the v0.11 contract-bundle assembly and canonical Target IR artifact boundaries. It covers participant-neutral bundle assembly from real Core modules, semantic/release bundle digest preimage and golden checks, canonical Target IR artifact bytes/digests for Echo and git-warp review artifacts, and bundle assembly from a real TargetIrArtifact with computed targetIrDigest.

Explicit Non-Goals

This release prep does not claim runtime execution, admission execution, verifier completeness, general target plugin dispatch, canonical ContractBundleManifest bytes, or crates.io publication.

Previous-Tag Diff Reconciliation

Checked with:

git diff --name-status v0.10.0-alpha.1..HEAD

Reconciled scope includes post-v0.10 release-process evidence, CLI check-facade/help/input-schema fixes, contract-bundle assembly and bundle goldens, canonical Target IR artifact bytes/digests and goldens, bundle integration from real Target IR, and release-policy/version/signpost updates.

Topic-Shelf Audit

Metric Count Percent
Total topic shelves 21 100%
Audited topic shelves 21 100%
Accurate after release-prep edits 21 100%

Audit evidence is recorded on #109: #109 (comment)

RED/GREEN

RED:

cargo test -p xtask release_policy_tracks_v0_11_boundary

Failed on the missing [release_notes.v0_11_0_alpha_1] section.

GREEN:

cargo test -p xtask release_policy_tracks_v0_11_boundary
cargo test -p xtask release_
cargo xtask contract-check
markdownlint-cli2 README.md ROADMAP.md CHANGELOG.md 'docs/**/*.md'
cargo xtask verify

Release Automation Notes

After this PR merges and main CI passes, auto-release-tag.yml should derive:

release/v0.11.0-alpha.1-prep -> v0.11.0-alpha.1

The Release workflow should publish a GitHub prerelease from docs/releases/v0.11.0-alpha.1.md, close milestone #12 only after confirming zero open issues, and publish no crates or package assets.

@coderabbitai

coderabbitai Bot commented Jun 30, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@flyingrobots, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 40 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: dd795ede-9872-4eda-9a93-d599764023c8

📥 Commits

Reviewing files that changed from the base of the PR and between 9b1a97f and 9f8eb10.

📒 Files selected for processing (4)
  • ROADMAP.md
  • docs/topics/release-process/policy.toml
  • docs/topics/release-process/test-plan.md
  • xtask/src/main.rs

Walkthrough

Prepares the v0.11.0-alpha.1 release: bumps edict-cli and edict-syntax crate versions, adds a new release notes document, registers the release in policy.toml with scope/non-goals metadata, extends the test plan with RELEASE-REQ-023 and RELEASE-TP-018, adds xtask policy conformance tests, and updates CHANGELOG, ROADMAP, README, and docs index files.

Changes

v0.11.0-alpha.1 Release Preparation

Layer / File(s) Summary
Crate version bumps
crates/edict-cli/Cargo.toml, crates/edict-syntax/Cargo.toml
Both crate version fields updated from 0.10.0-alpha.1 to 0.11.0-alpha.1.
Release notes document
docs/releases/v0.11.0-alpha.1.md
New 135-line document covering release thesis, included scope (bundle assembly, Target IR canonical bytes/digest goldens), explicit non-goals, verification steps, and publication plan.
Release policy registration and test plan
docs/topics/release-process/policy.toml, docs/topics/release-process/test-plan.md
policy.toml gains [release_notes.v0_11_0_alpha_1] with tag, target date, status, milestone, scope, and non-goals lists. Test plan adds RELEASE-REQ-023, a fixture entry, and RELEASE-TP-018.
xtask policy conformance tests
xtask/src/main.rs
Adds release_policy_tracks_v0_11_boundary test asserting required policy keys/values; extends alpha_changelog_dates_match_release_policy with the new tag/date pair.
CHANGELOG, ROADMAP, and docs index
CHANGELOG.md, ROADMAP.md, docs/README.md, docs/topics/release-process/README.md
CHANGELOG adds Unreleased placeholder and v0.11.0-alpha.1 header. ROADMAP replaces placeholder with full spec and resolves artifact map issue numbers. Docs index and release-process README add v0.11 entries and status block.
README status updates
README.md
Updates opening diagram, current status bullets, "What doesn't exist yet" list item, and release-history paragraph to reflect v0.11.0-alpha.1 scope.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related issues

Possibly related PRs

  • flyingrobots/edict#80: Same release-process policy machinery — xtask/src/main.rs release_policy_tracks_v0_*_boundary test pattern and policy.toml extension, applied for v0.10.0-alpha.1.
  • flyingrobots/edict#26: Established the docs/topics/release-process/policy.toml + xtask validation pattern this PR follows.
  • flyingrobots/edict#43: Same release_policy_tracks_vX_boundary + alpha_changelog_dates_match_release_policy extension pattern in xtask/src/main.rs.

Poem

🏷️ Bump the version, stamp the date,
Freeze the bundles — celebrate!
Digest goldens, policy checked,
Non-goals listed, scope correct.
Another alpha ships today —
No crates.io? That's okay. 🦀

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and accurately names the main change: preparing the v0.11.0-alpha.1 release.
Description check ✅ Passed The description is clearly tied to the PR and summarizes the release-prep changes accurately.
Linked Issues check ✅ Passed The reviewable changes satisfy #109's release-prep requirements with docs, version bumps, policy evidence, and xtask coverage, while respecting the stated non-goals.
Out of Scope Changes check ✅ Passed No out-of-scope changes are apparent; the diff stays focused on release prep docs, policy, tests, and version bumps.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

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.

@coderabbitai coderabbitai 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.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/topics/release-process/policy.toml`:
- Around line 454-460: The structured v0.11 non-goal list is missing several
exclusions that are already described by the release notes contract. Update the
non_goals table in policy.toml to include the missing markers for
participant-policy logic, Echo/git-warp implementation claims, additional target
profiles, and extra source-to-target fixtures, then make the same marker
additions in the release-process test-plan and xtask coverage paths so all three
locations stay in sync.

In `@ROADMAP.md`:
- Around line 476-483: Add the missing non-goal to the structured source of
truth by updating policy.toml’s non_goals list to match the ROADMAP entry for
git-warp commit creation/CRDT reducer verification, using the existing non_goals
entries as the pattern; if that scope is not meant to be tracked, remove the
ROADMAP-only item instead so ROADMAP and policy.toml stay aligned. Reference the
non_goals list in policy.toml and the ROADMAP non-goals section to keep the
single source of truth consistent.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: b3746cc3-d345-473e-9fca-afa7549b925e

📥 Commits

Reviewing files that changed from the base of the PR and between 1159ecd and 9b1a97f.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (11)
  • CHANGELOG.md
  • README.md
  • ROADMAP.md
  • crates/edict-cli/Cargo.toml
  • crates/edict-syntax/Cargo.toml
  • docs/README.md
  • docs/releases/v0.11.0-alpha.1.md
  • docs/topics/release-process/README.md
  • docs/topics/release-process/policy.toml
  • docs/topics/release-process/test-plan.md
  • xtask/src/main.rs
📜 Review details
🧰 Additional context used
📓 Path-based instructions (3)
**

⚙️ CodeRabbit configuration file

**: # AGENTS

Git Rules

NEVER amend git commits. Make a new commit instead.

NEVER use git rebase unless the user explicitly approves a rare exception.
Use regular merge commits.

NEVER force any git operation. If a force operation appears necessary, stop and
explain what happened and what options remain.

NEVER create draft pull requests.

NEVER use a codex prefix in branch names, PR titles, or commit messages.

Pull request bodies for issue work MUST include GitHub auto-close text such as
Closes #123`` for every issue the PR is intended to close.

Think

Think is durable memory for cross-session coordination.

  • Use codex-think --remember --json when starting a new session, changing into
    this repository, or regaining context after a context shift.
  • Use codex-think "..." --json when a cycle closes or a significant event
    should survive across turns.
  • Treat Think as memory, not repo truth. Anchor strong claims back to files,
    commits, commands, issues, or pull requests.
  • Claude memories are read-only. Use claude-think --remember --json only for
    additional context.

Topic Shelves

docs/topics/ contains the living contract graph for landed behavior. Topic
shelves are not proposals, retrospectives, or design archaeology.

Each shelf may contain:

  • README.md: what is true in HEAD.
  • test-plan.md: how those truths are verified, including requirements, cases,
    fixtures, oracles, implemented evidence, planned cases, and known gaps.
  • architecture.md: optional structure or dataflow notes when the machinery
    earns a separate page.
  • rationale.md: optional still-relevant tradeoffs and rejected approaches.

When To Update Topic Shelves

For every nontrivial behavior, contract, workflow, release, schema, validation,
or public-surface change:

  1. Identify the owning topic shelf before editing code.
  2. If no shelf owns durable behavior, create one.
  3. Update test-plan.md before or alongside tests with requirement IDs, case
    IDs,...

Files:

  • docs/README.md
  • crates/edict-syntax/Cargo.toml
  • crates/edict-cli/Cargo.toml
  • CHANGELOG.md
  • docs/releases/v0.11.0-alpha.1.md
  • docs/topics/release-process/policy.toml
  • ROADMAP.md
  • docs/topics/release-process/test-plan.md
  • xtask/src/main.rs
  • docs/topics/release-process/README.md
  • README.md
docs/topics/**/test-plan.md

📄 CodeRabbit inference engine (AGENTS.md)

docs/topics/**/test-plan.md: Update a topic shelf test-plan.md before or alongside tests with requirement IDs, case IDs, fixtures, oracles, implemented evidence, planned cases, and known gaps.
Mark planned cases as implemented only when executable evidence exists.
Do not use policy rows in topic-shelf test plans to avoid writing behavior tests for software behavior.
Negative tests in topic-shelf test plans should assert stable error kinds or structured artifacts, not merely is_err() or diagnostic text.
For nontrivial behavior, contract, workflow, release, schema, validation, or public-surface changes, update the owning topic test-plan.md with planned requirement and case rows before or alongside the first test.
Mark planned rows as implemented only after executable evidence exists.

Files:

  • docs/topics/release-process/test-plan.md
docs/topics/**/README.md

📄 CodeRabbit inference engine (AGENTS.md)

docs/topics/**/README.md: Topic shelf README.md files must describe only what is true in HEAD.
Update the topic shelf README.md only after the behavior exists in the branch; do not describe intended future behavior there.
Do not churn topic-shelf README files for purely mechanical edits that do not change a contract.

Files:

  • docs/topics/release-process/README.md
🪛 LanguageTool
ROADMAP.md

[style] ~480-~480: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ecific admission execution or policy. - No Echo verifier completeness. - No git-wa...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~481-~481: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...icy. - No Echo verifier completeness. - No git-warp commit creation or CRDT reduce...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~482-~482: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...reation or CRDT reducer verification. - No general target plugin dispatch. - No ca...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~483-~483: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... - No general target plugin dispatch. - No canonical ContractBundleManifest byte...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

🔇 Additional comments (15)
crates/edict-cli/Cargo.toml (1)

3-3: LGTM!

crates/edict-syntax/Cargo.toml (1)

3-3: LGTM!

docs/releases/v0.11.0-alpha.1.md (4)

1-136: Comprehensive release notes; one structural concern on verification timing.

The document is thorough and well-structured. The verification section (Lines 101-112) mixes commands that can run now (cargo xtask contract-check, cargo xtask verify) with test selectors that depend on later layers. Ensure the release notes are re-verified after all stacked changes land, or add a note that verification steps are cumulative across the release-prep stack.

No other blocking issues in this new file.


41-45: No change needed here.


114-116: No change needed. docs/topics/ contains 21 topic shelves, and the release notes already carry the 21/21 audit claim.


105-106: No change needed for these release-test selectors. release_policy_tracks_v0_11_boundary already exists in xtask/src/main.rs, and release_ is an intentional broad filter for the release test suite.

CHANGELOG.md (2)

9-14: LGTM!


15-66: LGTM!

ROADMAP.md (1)

692-693: LGTM!

docs/README.md (1)

23-26: LGTM!

docs/topics/release-process/README.md (1)

99-108: LGTM!

README.md (4)

17-23: LGTM!


605-608: LGTM!


640-640: LGTM!


656-660: LGTM!

Comment thread docs/topics/release-process/policy.toml
Comment thread ROADMAP.md Outdated
@flyingrobots

Copy link
Copy Markdown
Owner Author

Activity Summary

Source Severity File Commit Outcome
CodeRabbit P2 docs/topics/release-process/policy.toml 9f8eb10 Added missing structured v0.11 non-goal markers for participant policy logic, Echo/git-warp implementation boundaries, additional target profiles, and extra source-to-target fixtures; mirrored them in xtask and the release-process test plan.
CodeRabbit P2 ROADMAP.md 9f8eb10 Aligned the roadmap non-goal list with the structured policy, including separate git-warp commit-object and CRDT reducer non-goals.

RED: cargo test -p xtask release_policy_tracks_v0_11_boundary failed on missing no_participant_policy_logic before the policy fix.

GREEN: cargo test -p xtask release_policy_tracks_v0_11_boundary; cargo test -p xtask release_; markdownlint-cli2 ROADMAP.md docs/topics/release-process/test-plan.md; cargo xtask verify.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Prepare v0.11.0-alpha.1 release

1 participant