Skip to content

Contentrain/ai

v@contentrain/[email protected] Feature

This release adds 2 notable features for engineering teams evaluating rollout.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai-agents claude-code content-governance contentrain cursor developer-tools
+8 more
git i18n mcp mcp-server model-context-protocol sdk typescript windsurf

Affected surfaces

auth rbac

Summary

AI summary

Updates Minor Changes, Patch Changes, and single-threaded across a mixed release.

Changes in this release

Feature Low

Branch‑health thresholds (`branchWarnLimit`, `branchBlockLimit`) become configurable via `config.json` (defaults 50, 80).

Branch‑health thresholds (`branchWarnLimit`, `branchBlockLimit`) become configurable via `config.json` (defaults 50, 80).

Source: llm_adapter@2026-06-04

Confidence: high

Feature Low

New CLI tools: `contentrain_branch_list` (lists pending branches + merge status) and `contentrain_branch_delete` (removes stale/failed branches).

New CLI tools: `contentrain_branch_list` (lists pending branches + merge status) and `contentrain_branch_delete` (removes stale/failed branches).

Source: llm_adapter@2026-06-04

Confidence: high

Feature Low

`contentrain_merge` can target a branch by model name with optional locale/latest flags, not just timestamped names.

`contentrain_merge` can target a branch by model name with optional locale/latest flags, not just timestamped names.

Source: llm_adapter@2026-06-04

Confidence: high

Feature Low

`contentrain_status` derives `stats.models`/`stats.entries` live instead of echoing possibly‑stale `context.json`.

`contentrain_status` derives `stats.models`/`stats.entries` live instead of echoing possibly‑stale `context.json`.

Source: llm_adapter@2026-06-04

Confidence: high

Feature Low

`contentrain_validate --fix` lands cosmetic structural fixes via auto‑merge instead of creating a pending review branch.

`contentrain_validate --fix` lands cosmetic structural fixes via auto‑merge instead of creating a pending review branch.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Dependency Low

Updated dependency: @contentrain/types to version 0.5.1.

Updated dependency: @contentrain/types to version 0.5.1.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Bugfix Medium

Machine-generated `[contentrain]` commits now pass `--no-verify`, allowing commitlint/husky/lefthook hooks to accept Contentrain writes.

Machine-generated `[contentrain]` commits now pass `--no-verify`, allowing commitlint/husky/lefthook hooks to accept Contentrain writes.

Source: llm_adapter@2026-06-04

Confidence: high

Bugfix Medium

Failed saves no longer leak dangling `cr/*` branches; merged feature branches are automatically deleted after landing.

Failed saves no longer leak dangling `cr/*` branches; merged feature branches are automatically deleted after landing.

Source: llm_adapter@2026-06-04

Confidence: high

Bugfix Medium

Git/hook failures are returned as structured, ANSI‑stripped JSON errors rather than raw colored blobs.

Git/hook failures are returned as structured, ANSI‑stripped JSON errors rather than raw colored blobs.

Source: llm_adapter@2026-06-04

Confidence: high

Bugfix Medium

Non‑i18n models are validated against a single locale, removing phantom per‑locale "orphan content" warnings in multi‑locale projects.

Non‑i18n models are validated against a single locale, removing phantom per‑locale "orphan content" warnings in multi‑locale projects.

Source: llm_adapter@2026-06-04

Confidence: high

Bugfix Low

When no git remote is configured, `contentrain_submit` guides users to use `contentrain_merge` for local landing instead of failing outright.

When no git remote is configured, `contentrain_submit` guides users to use `contentrain_merge` for local landing instead of failing outright.

Source: llm_adapter@2026-06-04

Confidence: high

Bugfix Low

Polymorphic multi-relations accept `{ model, ref }` items instead of rejecting them as strings.

Polymorphic multi-relations accept `{ model, ref }` items instead of rejecting them as strings.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Bugfix Low

Relation integrity resolves targets at the target model's storage locale with a default‑locale fallback for i18n:true targets, removing false "broken relation" errors.

Relation integrity resolves targets at the target model's storage locale with a default‑locale fallback for i18n:true targets, removing false "broken relation" errors.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Bugfix Low

`contentrain_content_save`'s inline validation now evaluates committed/overlaid state, so newly created locale files are no longer reported as missing.

`contentrain_content_save`'s inline validation now evaluates committed/overlaid state, so newly created locale files are no longer reported as missing.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Refactor Low

`context.json` is no longer committed on feature branches; it is regenerated deterministically on the `contentrain` branch after merge, eliminating merge‑conflict classes.

`context.json` is no longer committed on feature branches; it is regenerated deterministically on the `contentrain` branch after merge, eliminating merge‑conflict classes.

Source: llm_adapter@2026-06-04

Confidence: high

Full changelog

Minor Changes

  • 149fa6b: Harden the git/branch lifecycle, redesign context.json handling, and fix validator false positives.

    Git & branches

    • Machine-generated [contentrain] commits now pass --no-verify, so repos with commitlint / husky / lefthook commit-msg hooks no longer reject Contentrain writes.
    • Feature branches are pruned automatically: a failed save no longer leaks a dangling cr/* branch, and merged branches (auto-merge or contentrain_merge) are deleted after landing.
    • Branch-health thresholds are now configurable via config.jsonbranchWarnLimit (default 50) and branchBlockLimit (default 80) — instead of being hardcoded.
    • New tools: contentrain_branch_list (pending cr/* branches + merge status) and contentrain_branch_delete (remove a stale/failed branch; the contentrain branch is protected).
    • contentrain_merge can now target a branch by model (+ optional locale/latest), not just the exact timestamped branch name.
    • contentrain_submit with no git remote now guides you to contentrain_merge (local landing) instead of failing with a bare "configure a remote".
    • Git/hook failures are returned as structured, ANSI-stripped errors ({ error, stage, hook?, code?, agent_hint? }) instead of a raw escaped color blob.

    context.json

    • context.json is no longer committed on feature branches; it is regenerated deterministically on the contentrain branch after merge (single-threaded). This removes the merge-conflict class that hit parallel content saves on different branches.
    • contentrain_status now derives stats.models/stats.entries live instead of echoing a possibly-stale context.json.

    Validation

    • Non-i18n models are validated against a single locale, eliminating phantom per-locale "orphan content" warnings (and the wrong-locale meta files --fix used to write) in multi-locale projects.
    • Polymorphic multi-relations (relations targeting multiple models) accept { model, ref } items, matching the generated SDK type instead of being rejected as "must be a string".
    • Relation-integrity resolves targets at the target model's own storage locale (with a default-locale fallback for i18n:true targets), removing false "broken relation" errors.
    • contentrain_content_save's inline validation now evaluates the committed/overlaid state, so freshly created locale files are no longer reported as "missing".
    • contentrain_validate --fix lands cosmetic structural fixes via auto-merge instead of spawning a pending review branch.

Patch Changes

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Contentrain/ai

Get notified when new releases ship.

Sign up free

About Contentrain/ai

Local-first MCP server for AI content governance — 13 tools for model/content CRUD, validation, normalization, and i18n across any framework.

All releases →

Related context

Earlier breaking changes

Beta — feedback welcome: [email protected]