Skip to content

Releases: agent-facets/facets

@agent-facets/brand@0.5.4

Choose a tag to compare

@the-faceter the-faceter released this 08 Jun 23:36
Immutable release. Only release title and notes can be modified.

Patch Changes

@agent-facets/adapter-opencode@0.4.6

Choose a tag to compare

@the-faceter the-faceter released this 08 Jun 23:36
Immutable release. Only release title and notes can be modified.

Patch Changes

@agent-facets/adapter-codex@0.3.6

Choose a tag to compare

@the-faceter the-faceter released this 08 Jun 23:37
Immutable release. Only release title and notes can be modified.

Patch Changes

@agent-facets/adapter-claude-code@0.4.6

Choose a tag to compare

@the-faceter the-faceter released this 08 Jun 23:37
Immutable release. Only release title and notes can be modified.

Patch Changes

agent-facets@0.16.0

Choose a tag to compare

@the-faceter the-faceter released this 07 Jun 19:33
Immutable release. Only release title and notes can be modified.

Minor Changes

  • #293 918cdcc Thanks @eXamadeus! - Fix CLI to honor its own archive format and upload/parse pure .facet archives

@agent-facets/protocol@0.16.0

Choose a tag to compare

@the-faceter the-faceter released this 07 Jun 19:29
Immutable release. Only release title and notes can be modified.

Minor Changes

  • #293 918cdcc Thanks @eXamadeus! - Fix CLI to honor its own archive format and upload/parse pure .facet archives

agent-facets@0.15.0

Choose a tag to compare

@the-faceter the-faceter released this 06 Jun 16:50
Immutable release. Only release title and notes can be modified.

Minor Changes

  • #289 d2f3946 Thanks @eXamadeus! - Add the facet remove command (aliased rm) — the inverse of facet add.
    facet remove <facet> [more facets...] takes one or more facets back out of a project in a single command: it removes them from facets.json, deletes their assets from every connected adapter, and rewrites facets.lock without them.
    • Transactional — removal reuses the same install pipeline as facet add, so any failure restores facets.json byte-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, matching facet add/facet install.

agent-facets@0.14.1

Choose a tag to compare

@the-faceter the-faceter released this 06 Jun 05:30
Immutable release. Only release title and notes can be modified.

Patch Changes

  • #286 f85cf3c Thanks @eXamadeus! - Make facet install --frozen-lockfile reproduce 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.
  • #287 ad4e75a Thanks @eXamadeus! - Record lockfile source provenance as a tagged, per-kind shape so an entry can never disagree with itself.
    The lockfile's source field 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 resolved version, an entry that contradicted itself. source is now a discriminated union keyed on kind:
    • registry — records the registry origin (base URL) and never a version. The resolved version lives in the entry's version field, so there is no slot for latest or 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 to facets.json.
    • local — records the resolved path.
      This is a breaking change to the published lockfile schema. There is no migration and no lockfileVersion bump: an older flat-source lockfile is simply invalid under the new shape and fails install in every mode (frozen and non-frozen alike), rather than being silently regenerated. Delete facets.lock and 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

Choose a tag to compare

@the-faceter the-faceter released this 06 Jun 02:36
Immutable release. Only release title and notes can be modified.

Minor Changes

  • #283 2ed9672 Thanks @eXamadeus! - Honor edited versions in facets.json and add facet install --frozen-lockfile.
    facet install now 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-lockfile flag treats the lockfile as authoritative and fails on any manifest/lockfile drift, for reproducible CI installs.

Patch Changes

  • #283 2ed9672 Thanks @eXamadeus! - Make facet install --frozen-lockfile fail on orphaned lockfile entries.
    A frozen install now reports a facet that is pinned in facets.lock but no longer declared in facets.json as 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 an unsatisfied entry always carries its locked version and an orphaned entry carries no manifest specifier.

agent-facets@0.13.0

Choose a tag to compare

@the-faceter the-faceter released this 06 Jun 01:34
Immutable release. Only release title and notes can be modified.

Minor Changes

  • #281 e48aadf Thanks @eXamadeus! - Migrate the CLI to the registry's Bearer-token /v0/facets/* contract.
    Breaking: the FACET_REGISTRY_API_KEY environment variable is removed with no fallback. Authenticate with a personal access token instead — set FACET_TOKEN, or run the new facet login to verify and save one to ~/.facet/credentials.
    Also adds facet whoami and facet logout; renders registry errors using the registry's own message and suggested fix; lets facet publish take an optional directory argument; and treats a queued-for-review publish as success.

Patch Changes