Repository navigation
v2.25.0
What's new
Features
ce:review gains an independent finding-validation pass. A new Stage 5b validator runs between merge and synthesis: each P0/P1 or requires_verification finding is independently re-checked, and rejected findings are surfaced in a "Filtered (not validated)" group rather than silently dropped — so a weak finding is visible and accountable instead of disappearing (#485).
The same release adds a content-integrity check for solution-doc frontmatter. Unquoted inline YAML comments (a # with leading whitespace or at value-start) are silently stripped by YAML parsers and risk data loss, so the check now flags them. Solution docs are scanned through a dedicated target set isolated from banned-pattern enforcement, the ce-compound category enums were tightened, and frontmatter-block extraction was refactored into a shared extractFrontmatterBlock helper so the parse-safety scan and parseFrontmatter no longer carry divergent delimiter regexes.
Documentation
The bulk of this release is a promotion-and-growth push that turned the docs site into a real product landing surface. The homepage was redesigned around a custom hero, a live stats banner, and an aligned feature grid built on the existing OKLCH theme tokens — replacing the stock Starlight splash and fixing long-standing CSS issues where invalid :global() selectors in MDX style tags were silently dropped. A build-time stats emitter walks skills/, agents/, and the registry to publish live skill/agent/component counts and a git-tag-resolved version, so the homepage never renders stale or broken numbers. Quick Start was merged into a single canonical Installation page (with a redirect from the old URL), structured SEO metadata (Open Graph, Twitter cards, JSON-LD) was added, and a Privacy page now documents the cookie-free, self-hosted, DNT-respecting, no-PII analytics posture. The interior reference and guide pages were restyled to match the homepage's restrained list-and-spacing language, and a stray OCX mention was removed from the homepage.
Several engineering learnings were captured alongside the docs work: an Astro Steps HMR regression and CSS-liveness verification guidance, a refreshed live-server QA learning emphasizing that an HTTP 200 is not a render signal, and updated static-preview guidance. The promotion-and-growth plan was reconciled against shipped provenance to track which units actually landed.
Continuous Integration
The docs analytics wiring was activated end to end: the Umami website id is now threaded into the docs build step (GitHub Actions does not auto-expose repo variables to run steps, so analytics had never actually fired), and the Privacy page placeholders were replaced with live metrics.fro.bot facts — no raw IPs or personal identifiers stored, a monthly-rotating one-way hash for visitor counting, locally-derived approximate location, and Do-Not-Track visitors not recorded.
The two previously-separate Fro Bot workflows (fro-bot.yaml and fro-bot-autoheal.yaml) were consolidated into a single workflow handling all three operating modes — PR review, daily autohealing, and weekly maintenance — with inline prompt routing instead of a separate resolve-prompt job (#446). The release-notes-narrative automation contract is preserved verbatim: workflow_call still accepts the prompt and correlation-id inputs and resolves them at highest precedence. Follow-up changes documented two subtle invariants inline for future maintainers: why the workflow_call/workflow_dispatch prompt branches must precede the mode-gated branches (so external prompt-only callers like the release-notes automation aren't silently captured), and why explicit fork-detection exists only for issue_comment events (the only PR-adjacent path where github.event.pull_request is null even when the issue is a PR).
Build System
Editor tooling was kept current with three OpenCode bumps (v1.15.11 through v1.15.13).
Code Refactoring
Interior documentation pages were brought in line with the homepage design language — Markdown tables now use row dividers instead of a heavy outer border and solid header fill, blockquotes lost their accent side-stripe, and a dead .card/.link-card rule that no Starlight component rendered was removed.
Bug Fixes
Astro was bumped to >=6.1.3 to fix a dev-server crash in Starlight's <Steps> component. Astro 6.0.x had an HMR regression where editing an unrelated file made Astro.slots.render() return escaped text instead of an ordered list, throwing on reload. This is a docs-only dependency; the published package is unaffected (#463).
Also in this release
- A reproducible "with and without Systematic" eval harness, task prompts, rubrics, recorded transcripts, and a
running-with-without-evalsskill, plus a demo guide built from real recorded sessions (#455). - deps: Renovate bumps across
fro-bot/agent(v0.46.0–v0.52.1),bfra-me/.github(v4.16.21–v4.16.23),actions/checkout(v6.0.3),github/codeql-action(v4.36.1), and several non-major dependency rollups (through v0.54.2). - chore: lint auto-fixes from an autohealing run.