Skip to content

Make Ernesto plug and play with one-action project checks - #31

Merged
wsdt merged 3 commits into
mainfrom
codex/ernesto-plug-and-play
Oct 14, 2026
Merged

wsdt merged 3 commits into
mainfrom
codex/ernesto-plug-and-play

Conversation

@wsdt

@wsdt wsdt commented Oct 14, 2026

Copy link
Copy Markdown
Member

Change

Ernesto 0.2.0 asked users to copy an installed-cache helper path into a separate terminal and create project config before QA was useful. Candidate 0.3.0 appears immediately after install/restart. The evidence pane and companion offer Check project, with /ernesto check as the direct command. It detects an existing npm/pnpm/yarn/bun test/check script, runs it only on that explicit action, and needs no Ernesto JSON or dependency downloads.

Command exit, input freshness and structured test evidence remain separate. A generic exit-zero command is “completed”, with test counts and coverage explicitly unverified. Bounded output appears first in the user-expanded Details view and stays in session memory. Existing valid configured Vitest checks retain priority, custom roots and filters. Vitest-only projects initialize missing conventional defaults internally on the same explicit action. Setup/doctor now show concise readiness instead of manual helper commands.

The README, onboarding, evidence, compatibility and privacy guides describe the new flow. The refreshed 46-second demo uses actual native button execution, command output, stale inputs, a real failure, quiet mode and chocolate. It includes seven screenshots, a poster and four caption/transcript languages, with reconciled runtime/media hashes.

Validation

  • 39 official Claude Code host tests passed, including no automatic runs, the real button handler, output disclosure, denied execution, invalid exits, off/hide/workspace races and refusal to reuse an old passing record after a failed launch.
  • 36 Node tests passed, including real Vitest pass/fail/negative execution paths and deterministic, private-state-free source packaging. Package tests repeated after the final media/docs changes.
  • Strict SDK/plugin/marketplace validation, Prettier and git diff --check passed. npm audit reported zero vulnerabilities.
  • Actual macOS Claude Code 2.1.296: config-free npm project checks; Vitest-only internal initialization, verified pass/stale/fail; keyboard controls; 40×24 dark, 80×30 light and 100×36 dark layouts. No model prompts or calls.
  • Clean-profile local 0.2.0 → 0.3.0 update matched all 84 final archive files. Fresh final-archive installation also matched every file, passed all 39 installed-copy host tests and strict validation, and ran the native button without --plugin-dir. Disable/re-enable, matching-scope uninstall/reinstall, marketplace removal and unrelated sentinels passed. Isolated installs were cleaned up.
  • Demo: all 552 H.264 frames decoded, 46 seconds, eleven unique exported frames visually reviewed, four subtitle timelines and all runtime/media hashes verified.
  • Final source archive SHA-256: 0587a7b9fa6a1e04c15b9e2a21fec71b947f5f467e564a7090267f1d075ae672.
  • Not run: Desktop, other operating systems, real pnpm/yarn/bun execution, a new sustained performance measurement, public-source upgrade or tagged-release verification. These are unqualified combinations or require publication; historical performance measurements remain explicitly labeled.

Review and release

The runtime now uses the official argv-based process API only for the user's explicit Check project action. Startup/setup/doctor/refresh never execute tests. Project scripts can run their normal pre/post scripts, inherit the environment, use networks and write files. Ernesto adds no model calls, telemetry, requests, installs or permission decisions. QA off/hide discards late results, but the host API cannot cancel an already launched process; it may continue until completion or its two-minute timeout.

Existing strict evidence v1 remains unchanged. Automatic scopes are bounded and cannot establish whole-project or business acceptance. Ordinary command results are session-only. This PR is a reviewable 0.3.0 candidate, not a new release or marketplace availability claim. No merge, tag, release publication, website change or Cloudflare access is included.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant