Skip to content

Add held agent-facets CLI release gate for supplementary-file activation - #462

Merged
eXamadeus merged 1 commit into
mainfrom
julian/07-24-activate-supplementary-files-changeset
Jul 24, 2026
Merged

Add held agent-facets CLI release gate for supplementary-file activation#462
eXamadeus merged 1 commit into
mainfrom
julian/07-24-activate-supplementary-files-changeset

Conversation

@eXamadeus

@eXamadeus eXamadeus commented Jul 24, 2026

Copy link
Copy Markdown
Member

HELD — do not merge until authorized.

This draft is the sole activation lever for the support-non-asset-files change: a single CLI-only pre-1.0 minor Changeset for agent-facets. It contains exactly one file — .changeset/activate-supplementary-files.md — and nothing else.

What merging this does

Once merged and versioned, the released CLI flips to the already-implemented and already-merged behavior:

  • facet build emits archive 0.2 with a complete per-entry hash map
  • lockfiles/receipts use format 0.2
  • skill companions materialize atomically with their owning skill
  • first-class README authoring in create/edit
  • the CLI supported adapter API becomes exactly {0.1} (positional 0.0 adapters fail closed with reinstall guidance)

Projected release: agent-facets@0.29.0. No protocol or adapter changeset is included.

Merge conditions (all required before this leaves draft)

  1. The source/readiness stack through Reconcile front-matter specs, add wizard namespace validation, and close scenario-coverage test gaps (16.4) #461 is merged.
  2. The adapter SDK + all three first-party adapters have published facetAdapterApiVersion: 0.1 (16.6).
  3. The deployed registry's dual-format behavior is verified (16.7).
  4. A candidate 0.2 archive round-trips against the stage registry (16.8).
  5. The full repository suite and strict OpenSpec validation pass (16.4/16.9).
  6. The user explicitly authorizes the Changesets version-and-publish sequence.

Note

Low Risk
No application code changes—only a release metadata file; operational risk is limited to timing of the version/publish sequence relative to the PR’s stated merge conditions.

Overview
Adds a single Changesets entry (.changeset/activate-supplementary-files.md) that bumps agent-facets with a pre-1.0 minor and records the user-facing release notes for behavior already merged on main.

Merging and running the version/publish flow is the activation lever: it does not change runtime code in this diff, but it schedules the next CLI release so shipped agent-facets documents and changelog reflect archive 0.2, lockfile/receipt 0.2, supplementary skill companions, default README.md in create/edit, stricter manifest naming, and adapter API 0.1 only (positional 0.0 adapters fail closed). The changeset text is the authoritative consumer-facing summary of that flip.

Reviewed by Cursor Bugbot for commit d0025d6. Bugbot is set up for automated code reviews on this repo. Configure here.

@changeset-bot

changeset-bot Bot commented Jul 24, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: d0025d6

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
agent-facets Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown

Warning

Review limit reached

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

Next review available in: 16 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: CHILL

Plan: Pro Plus

Run ID: 14fc8823-ca36-40f8-b1a3-a08c849d57fc

📥 Commits

Reviewing files that changed from the base of the PR and between 68d371c and d0025d6.

📒 Files selected for processing (1)
  • .changeset/activate-supplementary-files.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch julian/07-24-activate-supplementary-files-changeset

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.

eXamadeus commented Jul 24, 2026

Copy link
Copy Markdown
Member Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@eXamadeus
eXamadeus changed the base branch from julian/07-23-activate-supplementary-files-cli-release-gate to graphite-base/462 July 24, 2026 04:45
@eXamadeus
eXamadeus changed the base branch from graphite-base/462 to julian/07-23-document_supplementary_files_archive_0.2_per-file_lockfiles_asset-name_constraints_and_adapter_api_0.1_migration July 24, 2026 04:45
@eXamadeus
eXamadeus changed the base branch from julian/07-23-document_supplementary_files_archive_0.2_per-file_lockfiles_asset-name_constraints_and_adapter_api_0.1_migration to graphite-base/462 July 24, 2026 05:00
@eXamadeus
eXamadeus force-pushed the graphite-base/462 branch from a2958c5 to 36639b0 Compare July 24, 2026 05:01
@eXamadeus
eXamadeus force-pushed the julian/07-24-activate-supplementary-files-changeset branch from 17469d2 to 5d054e8 Compare July 24, 2026 05:01
@graphite-app
graphite-app Bot changed the base branch from graphite-base/462 to main July 24, 2026 05:02
@eXamadeus
eXamadeus force-pushed the julian/07-24-activate-supplementary-files-changeset branch 2 times, most recently from a86404a to 19bfbc4 Compare July 24, 2026 05:20
eXamadeus added a commit that referenced this pull request Jul 24, 2026
… 0.29.0 (#465)

## Why

The held CLI activation changeset (#462) projects **`agent-facets@0.29.0`**, not `0.31.0`. When the linked changeset group was decoupled (#464), `agent-facets` began versioning off its own `0.28.0` baseline plus one minor, rather than tracking protocol's higher version line.

The archive-format compatibility table still named `0.31.0` as the first `0.2`-supporting release (set provisionally during the 16.4 readiness work). An older, pre-`0.2` CLI encountering a `0.2` archive would be told to `Update agent-facets to 0.31.0 or later` — a version that skips the actual first `0.2` release.

## Change

- `MINIMUM_RELEASE_FOR_FORMAT['0.2']`: `0.31.0` → **`0.29.0`**
- Its unit test assertion updated to match.

## Sequencing

This must land on `main` **before** #462 is versioned/released, so the shipped `0.29.0` binary carries the correct self-referential mapping. It is intentionally separate from the held changeset PR (#462), which stays changeset-only.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Only changes upgrade guidance text for unsupported archive formats; no runtime behavior or security impact.
> 
> **Overview**
> Corrects the **archive format compatibility** mapping so pre-`0.2` CLIs are told to upgrade to **`0.29.0 or later`**, not `0.31.0`, when they hit a `0.2` archive.
> 
> Updates `MINIMUM_RELEASE_FOR_FORMAT['0.2']` in `archive-compatibility.ts` and the matching unit test expectation.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 748ce77. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
@eXamadeus
eXamadeus force-pushed the julian/07-24-activate-supplementary-files-changeset branch from 19bfbc4 to 0937e2a Compare July 24, 2026 05:29
Adds the CLI-only pre-1.0 minor changeset that, once versioned and published,
flips the released CLI to the already-implemented 0.2 producer, lockfile/receipt
0.2, skill-bundle materialization, and first-class README authoring, and makes
the tagged adapter API 0.1 the CLI supported set.

Held: no protocol or adapter changeset is included. This gate must not be merged
until the adapter cycle has published 0.1 and every Section 16 verification
passes.
@eXamadeus
eXamadeus force-pushed the julian/07-24-activate-supplementary-files-changeset branch from 0937e2a to d0025d6 Compare July 24, 2026 05:31
@eXamadeus
eXamadeus marked this pull request as ready for review July 24, 2026 05:32

Copy link
Copy Markdown
Member Author

@greptileapp review

Copy link
Copy Markdown
Member Author

@greptileai review

Copilot AI 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.

Pull request overview

This PR adds a single Changesets entry that schedules a pre-1.0 minor version bump for the published agent-facets CLI, acting as the gated release “activation lever” for previously-merged supplementary-file / format 0.2 behavior.

Changes:

  • Adds .changeset/activate-supplementary-files.md to bump agent-facets with a minor (pre-1.0 breaking) release.
  • Documents the consumer-facing release notes for archive/lockfile/receipt format 0.2 and adapter API 0.1 enforcement (with legacy 0.1 compatibility window).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@greptile-apps

greptile-apps Bot commented Jul 24, 2026

Copy link
Copy Markdown

Greptile Summary

This PR adds a single Changesets file (.changeset/activate-supplementary-files.md) that serves as the explicit release gate for supplementary-file support already merged on main. No runtime code changes are included — merging and running the version/publish flow is what activates archive/lockfile format 0.2, skill companions, README.md scaffolding, manifest naming strictness, and the adapter API 0.1 constraint.

  • The changeset is structurally correct: scoped to agent-facets, bump type minor (appropriate for a pre-1.0 breaking activation), and prose accurately describes each behavioral flip.
  • The PR description states agent-facets@0.31.0 as the projected release, but the correct activation version is 0.29.0 (current 0.28.0 + this one minor bump); this was acknowledged and fixed on main in Correct 0.2 archive minimum-release mapping to the activation version 0.29.0 #465, which updated MINIMUM_RELEASE_FOR_FORMAT['0.2'] accordingly — the PR description itself was not updated to match.

Confidence Score: 4/5

Safe to merge once the stated pre-conditions are satisfied; the only change is a release metadata file with no runtime code.

The diff is a single Changesets entry with correct frontmatter and accurate behavioral prose. The one notable issue is that the PR description still says 0.31.0 as the projected release when the correct activation version is 0.29.0 — a discrepancy already corrected on main in #465 but not reflected in the description text. This could mislead a reviewer checking the authorization language in the merge conditions, but it does not affect the changeset file itself or the versioning outcome.

.changeset/activate-supplementary-files.md is the only changed file; the PR description's stale version reference (0.31.0 vs. 0.29.0) is worth correcting before the draft is authorized for merge.

Reviews (1): Last reviewed commit: "Add held agent-facets CLI release gate f..." | Re-trigger Greptile

Comment on lines +1 to +2
---
'agent-facets': minor

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 Stale projected version in PR description

The PR description states "Projected release: agent-facets@0.31.0", but the changeset here is a single minor bump on top of the current agent-facets@0.28.0 baseline, which yields 0.29.0. This was already corrected on main via #465 (df33bee), which updated MINIMUM_RELEASE_FOR_FORMAT['0.2'] from 0.31.0 to 0.29.0 precisely because the activation version is 0.29.0. The PR description wasn't updated to match — anyone reading the merge conditions will see the wrong version. Worth updating the description to agent-facets@0.29.0 before this leaves draft so the authorization language is accurate.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

@eXamadeus
eXamadeus marked this pull request as draft July 24, 2026 05:36
@eXamadeus
eXamadeus marked this pull request as ready for review July 24, 2026 05:36
@eXamadeus
eXamadeus merged commit cd881a1 into main Jul 24, 2026
8 checks passed
@eXamadeus
eXamadeus deleted the julian/07-24-activate-supplementary-files-changeset branch July 24, 2026 05:37
eXamadeus pushed a commit that referenced this pull request Jul 24, 2026
This PR was auto-generated by the release workflow. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

# Releases
## agent-facets@0.29.0

### Minor Changes

- [#462](#462) [`cd881a1`](cd881a1) Thanks [@eXamadeus](https://github.com/eXamadeus)! - **BREAKING (pre-1.0 minor):** activate supplementary-file support, archive and lockfile format `0.2`, and adapter API `0.1`.
    Every `facet build` now emits `facetVersion: 0.2` with a complete per-entry hash map. Facets can explicitly declare opaque supplementary files: skill companions install and remove atomically with their owning skill, while root and other archive-only files remain integrity-protected without being materialized. Valid legacy `0.1` archives remain installable during the compatibility window.
    Current lockfiles and machine-local receipts use format `0.2` with canonical per-file integrity and ownership records, enabling exact-path drift reporting, repair, rollback, and offline removal without deleting unowned files.
    `facet create` writes and declares an editable `README.md` by default, with `--no-readme` as the headless opt-out. `facet edit` manages both `README.md` and the extensionless `README` and reconciles supplementary declarations transactionally.
    New manifests require single-segment Agent Skills names, and skills and commands cannot share a name. Existing published `0.1` archives retain legacy naming behavior, but affected source manifests must be renamed before rebuilding as `0.2`.
    This CLI supports only the tagged adapter API `0.1`. Positional `0.0` adapters fail closed before contract calls or project mutation with reinstall guidance. Rebuild custom adapters against the current `@agent-facets/adapter` SDK and reinstall incompatible adapters before continuing.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Mechanical release/versioning changes only; behavioral risk is in the already-merged feature documented in the changelog, not in this diff.
> 
> **Overview**
> **Release packaging only:** bumps **`agent-facets`** (and lockfile entries) from **0.28.0 → 0.29.0**, appends the **0.29.0** section to **`packages/cli/CHANGELOG.md`**, and **removes** the consumed changeset **`.changeset/activate-supplementary-files.md`**.
> 
> The changelog entry documents the **pre-1.0 breaking minor** shipped via [#462](#462): archive/lockfile **format 0.2**, supplementary files, default **`README.md`** on **`facet create`**, stricter Agent Skills naming, and **adapter API 0.1** with fail-closed **0.0** adapters—not new implementation in this diff.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 63897e5. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
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.

2 participants