Repository navigation
FrontAgent v2.2.0
FrontAgent v2.2.0 is a minor release after v2.1.1. It ships the new Electron desktop client, headless non-interactive CLI mode, session resume, lifecycle hooks, declarative permission rules, context zone budgets, the @frontagent/mcp-web-fetch adapter, a reproducible SDD ablation evaluation framework, and a set of correctness and security fixes across the CLI entry path, the hallucination guard, and the LLM provider layer.
Highlights
- New Electron desktop client with a typed IPC contract, Task Console + Settings UI, accessibility semantics, and multi-platform zip archives attached to GitHub Releases.
- Headless non-interactive CLI mode with a validated JSON output contract exposing artifacts and security denials.
- Session resume with schema-validated session records and cross-step file context hydration.
- Lifecycle hooks with explicit project-hook opt-in and hardened hook plumbing.
- Declarative permission rules and context zone budgets on the core execution path.
- Reproducible SDD ablation benchmark: frozen 30-task set, two-arm orchestrator, machine-checkable acceptance, published negative findings with reproduction guide.
- Global
fabin invocations work again (symlinked entry-path fix), andhallucinationGuard.checksis genuinely honored on the executor path without weakening the project-root security boundary.
Added
- Desktop client: typed IPC contract + execution reducer, Task Console and Settings renderer (React + Vite), main-process runtime bridge + settings store, IPC-failure degraded states, ARIA live regions and navigation semantics, electron-builder packaging publishing multi-platform zips to GitHub Releases, and desktop documentation.
- Headless CLI:
--outputvalidation, artifacts and security denials in the JSON payload, stdout interception during JSON runs, top-level error classification. - Session resume: full step schema, order-independent resume unlock, cross-step file context hydration, session records validated on load.
- Lifecycle hooks: explicit opt-in for project hooks, per-tool outcome observation in postToolUse, log-callback failure isolation.
- Permissions: declarative permission rules; in-session derived allow rules with literal-wildcard escaping; bare tool rules never derived from always-allow approvals.
- Context: zone budgets with guaranteed postconditions and a single compaction summary; AGENTS.md project instructions with byte-capped reads.
- MCP:
@frontagent/mcp-web-fetchadapter package wired into the agent registry and planner. - Prompts: external-knowledge, security-engineering, and code-minimalism disciplines in codegen/planner; security review dimension in the code-quality sub-agent.
- Evaluation: frozen 30-task ablation set, typecheck-clean fixture project, two-arm orchestrator with resume, acceptance check runner, results report and reproduction guide.
- Docs: verifiable npm downloads counter with daily refresh.
Fixed
- CLI entry: global bin symlinks (
favia npm/pnpm/homebrew) no longer exit silently; the direct-entry guard resolves the symlinked argv path. (#396) - Hallucination guard:
hallucinationGuard.checksis honored byvalidateFilePath/validateCodeon the executor path; project-root containment remains enforced whenfileExistenceis disabled. (#386) - LLM provider: AI SDK migrated to the v5 line (clears GHSA-rwvc-j5jr-mgvh); OpenAI provider pinned to Chat Completions for OpenAI-compatible base URLs.
- Planner:
web_fetchactions preserved in generated plans. - Agent: dependency recovery uses the project package manager.
- Desktop: default-workspace setting takes effect; telemetry auto-scroll only at bottom; no demo content in TaskComposer; settings saves announced to assistive tech.
- Runtime: session ids constrained to the sessions dir with atomic writes; real taskId on failed taskComplete hooks; win32 process-tree kill.
- Workflow gates: workflow-rules test accepts the vars-based self-hosted Repo Guard runner. (#397)
Changed
- CI: Repo Guard on a self-hosted Claude Code engine with allowlisted fork actors under
pull_request_target; catch-all CODEOWNERS; OpenRouter provider order passthrough. - Dependencies: ts-morph ^28; AI SDK v5 line.
Known Issues
hallucinationGuard.enabledis still dead config on the agent path; onlychecksis consulted. Tracked in #400.
Verification
pnpm quality:precommit(lint, typecheck, workspace tests, workflow rules) green at release.- CLI symlink invocation verified against the packaged bundle (
fa --versionvia a bin symlink).
Compatibility
- CLI package version:
frontagent@2.2.0. - VS Code extension version:
frontagent@2.2.0. - Node.js requirement:
>=20.0.0. - VS Code requirement:
^1.120.0.