Releases: agent-facets/facets
Releases · agent-facets/facets
Release list
@agent-facets/brand@0.5.4
Immutable
release. Only release title and notes can be modified.
Patch Changes
- #297
c4b420cThanks @eXamadeus! - Addtsdownbuild pipeline to@agent-facets/brand
@agent-facets/adapter-opencode@0.4.6
Immutable
release. Only release title and notes can be modified.
Patch Changes
- #299
982eafdThanks @eXamadeus! - Minor CI caching improvement
@agent-facets/adapter-codex@0.3.6
Immutable
release. Only release title and notes can be modified.
Patch Changes
- #299
982eafdThanks @eXamadeus! - Minor CI caching improvement
@agent-facets/adapter-claude-code@0.4.6
Immutable
release. Only release title and notes can be modified.
Patch Changes
- #299
982eafdThanks @eXamadeus! - Minor CI caching improvement
agent-facets@0.16.0
Immutable
release. Only release title and notes can be modified.
Minor Changes
- #293
918cdccThanks @eXamadeus! - Fix CLI to honor its own archive format and upload/parse pure .facet archives
@agent-facets/protocol@0.16.0
Immutable
release. Only release title and notes can be modified.
Minor Changes
- #293
918cdccThanks @eXamadeus! - Fix CLI to honor its own archive format and upload/parse pure .facet archives
agent-facets@0.15.0
Immutable
release. Only release title and notes can be modified.
Minor Changes
- #289
d2f3946Thanks @eXamadeus! - Add thefacet removecommand (aliasedrm) — the inverse offacet add.
facet remove <facet> [more facets...]takes one or more facets back out of a project in a single command: it removes them fromfacets.json, deletes their assets from every connected adapter, and rewritesfacets.lockwithout them.- Transactional — removal reuses the same install pipeline as
facet add, so any failure restoresfacets.jsonbyte-for-byte and leaves the project unchanged. - All-or-nothing — when removing multiple facets, if any name is not declared in
facets.json, nothing is removed. - Strict — removing a facet that is not declared fails with a clear error instead of silently succeeding. Every facet you don't name is left untouched.
--verbose— emits detailed step output on stderr, matchingfacet add/facet install.
- Transactional — removal reuses the same install pipeline as
agent-facets@0.14.1
Immutable
release. Only release title and notes can be modified.
Patch Changes
- #286
f85cf3cThanks @eXamadeus! - Makefacet install --frozen-lockfilereproduce the lockfile exactly.
Frozen mode now guarantees the installed project matches the lockfile bit-for-bit — no extra facets, no missing facets, no source changes, and no content changes:- Source drift — a git or local facet whose manifest source string (URL, ref, or path) no longer matches the locked source now fails the preflight (
source-changed) before any clone or build, instead of silently building from the unlocked origin. - Local content drift — a local facet is now verified against its locked integrity in frozen mode, exactly like git. Editing a local source's content fails the install rather than rebuilding and overwriting the entry.
- Cache correctness (frozen and non-frozen) — a git facet whose manifest URL changed bypasses the content-addressed cache entirely (the cache key carries no source provenance), so a changed URL re-resolves from the new source instead of reusing cached bytes from the old one.
- Source drift — a git or local facet whose manifest source string (URL, ref, or path) no longer matches the locked source now fails the preflight (
- #287
ad4e75aThanks @eXamadeus! - Record lockfile source provenance as a tagged, per-kind shape so an entry can never disagree with itself.
The lockfile'ssourcefield was a single overloaded string — a registry version specifier, a git URL, or a local path depending on the facet. For registry facets this let an unresolved specifier (latest,1.*) leak into the lockfile next to a resolvedversion, an entry that contradicted itself.sourceis now a discriminated union keyed onkind:registry— records the registry origin (base URL) and never a version. The resolved version lives in the entry'sversionfield, so there is no slot forlatestor a wildcard to leak into.git— records the repository URL and a required resolved commit SHA. A git clone that cannot be pinned to a commit now fails the install rather than writing a non-reproducible entry. The requested ref is no longer recorded in the lockfile — it belongs tofacets.json.local— records the resolved path.
This is a breaking change to the published lockfile schema. There is no migration and nolockfileVersionbump: an older flat-sourcelockfile is simply invalid under the new shape and fails install in every mode (frozen and non-frozen alike), rather than being silently regenerated. Deletefacets.lockand re-run install to regenerate it in the new shape. Extra unrecognized keys on a source remain tolerated for forward-compatibility.
agent-facets@0.14.0
Immutable
release. Only release title and notes can be modified.
Minor Changes
- #283
2ed9672Thanks @eXamadeus! - Honor edited versions infacets.jsonand addfacet install --frozen-lockfile.
facet installnow re-resolves a lockfile entry whose version no longer satisfies the manifest (e.g. a hand-edited bump), and fails if the requested version doesn't exist instead of silently keeping the old one. The new--frozen-lockfileflag treats the lockfile as authoritative and fails on any manifest/lockfile drift, for reproducible CI installs.
Patch Changes
- #283
2ed9672Thanks @eXamadeus! - Makefacet install --frozen-lockfilefail on orphaned lockfile entries.
A frozen install now reports a facet that is pinned infacets.lockbut no longer declared infacets.jsonas drift (orphaned) and fails before touching the project. Previously the preflight only checked manifest entries, so an orphaned entry slipped through and the drift-removal pass pruned its assets while skipping the lockfile write — mutating adapter state and leaving a stale lockfile. The drift report's per-facet shape is now a discriminated union on its reason, so anunsatisfiedentry always carries its locked version and anorphanedentry carries no manifest specifier.
agent-facets@0.13.0
Immutable
release. Only release title and notes can be modified.
Minor Changes
- #281
e48aadfThanks @eXamadeus! - Migrate the CLI to the registry's Bearer-token/v0/facets/*contract.
Breaking: theFACET_REGISTRY_API_KEYenvironment variable is removed with no fallback. Authenticate with a personal access token instead — setFACET_TOKEN, or run the newfacet loginto verify and save one to~/.facet/credentials.
Also addsfacet whoamiandfacet logout; renders registry errors using the registry's own message and suggested fix; letsfacet publishtake an optional directory argument; and treats a queued-for-review publish as success.
Patch Changes
- #282
2e49722Thanks @eXamadeus! - Fixfacet addto write resolved versions instead of the facet name - #276
c3f0357Thanks @dependabot! - Bump ink from 7.0.2 to 7.0.5