Skip to content

showcase: add CLONE FRAME HUB - local-first desktop for agents - #96

Open
devclone20 wants to merge 1 commit into
Virtual-Protocol:mainfrom
devclone20:showcase/clone-frame
Open

showcase: add CLONE FRAME HUB - local-first desktop for agents#96
devclone20 wants to merge 1 commit into
Virtual-Protocol:mainfrom
devclone20:showcase/clone-frame

Conversation

@devclone20

Copy link
Copy Markdown

Showcase Project

What shipped

Project package

  • Added or updated showcase/clone-frame/showcase.json
  • Added demo artifacts, prompt, proof, or redacted report (project README, card poster, video + release + source links)
  • Added reusable skill under showcase/<project-slug>/skills/<skill-name>/ — no skill committed in this PR; the product's bundled agent skills live in the project repo (e.g. agent/.pi/skills/virtuals-cli/SKILL.md)
  • Used top-level skills/<skill-name>/ only when the skill is shared across projects (none added)
  • Set skills[].sourcePath in showcase.json for any skill committed in this repo (skills is an empty array — nothing committed here)
  • Linked all public artifacts from the manifest
  • Included exactly three feedback prompts
  • Set hidden: true only if this package should merge without publishing its public Showcase card yet (not set — publish on merge)
  • Linked soul.md only if the builder intentionally wants to publish public, redacted agent context (none linked)

Skill standard

  • Skill path: none — no reusable skill is committed in this package
  • SKILL.md includes when to use it and when not to use it — n/a
  • Inputs, tools, credentials, and preconditions are explicit — n/a
  • Approval gates are listed for spending, posting, account creation, deployment, or production mutations — n/a
  • Stop conditions and handoff rules are listed — n/a
  • Validation checks and output contract are included — n/a

Safety and redaction

  • No card numbers, CVVs, OTPs, magic links, API keys, access tokens, private prompts, wallet material, or private account records are published
  • Live workflow evidence is redacted (the tour video was redacted and then audited frame-by-frame — all 4,866 frames — before publishing)
  • Public/private boundaries are explained (README "Safety and redaction": local-first daemon bound to 127.0.0.1, BYOK keys in sessionStorage only, nothing vendor-side ships in the app)
  • Optional soul.md does not include private instructions, credentials, account data, wallet material, or operational secrets (no soul.md published)

Publish path

After this PR is approved and merged to main, changes under
showcase/** trigger the EconomyOS docs sync. The accepted manifest is
published into /community#showcase by the docs workflow.


Validation: node scripts/validate-showcase.mjs passes (55 manifests).
Poster verified on the branch: https://raw.githubusercontent.com/devclone20/acp-cli-demos/showcase/clone-frame/showcase/clone-frame/assets/poster.jpg returns 200 image/jpeg; the same path resolves on main after merge. The video URL lives in the project repo and already returns 200.

Local-first desktop for AI agents: a single-file app plus a local bridge
daemon, strictly BYOK and model-agnostic, with Virtuals EconomyOS Compute
as a drop-in provider and a resident pi coding agent that ships with an
acp-cli skill. Adds the manifest, project README, and card poster.
celesteanglm added a commit that referenced this pull request Aug 3, 2026
The event trigger can only reach PRs opened after it ships, so the showcase PRs
already open get no review. Adds a workflow_dispatch path that reviews an
explicit list of PRs or every open one.

- pr_numbers input takes "all" or a comma-separated list; PR_NUMBERS does the
  same locally, and PR_NUMBER still works for the event-driven single-PR run
- dry_run input defaults to TRUE. A backfill posts to several PRs at once and
  that is hard to walk back, so posting is opt-in: read the job log first
- head repo and sha now resolve from the PR itself when no event payload is
  present, which also shortens the local dry-run command to a PR number
- PRs run sequentially and failures are isolated per PR, so one deleted fork or
  force-push no longer abandons the rest of the batch; the job fails only when
  nothing succeeded

Two fixes found while testing the batch path against the seven currently open
PRs:

- coverage limits are now stated in the prompt. PR #95 changes 404 files, of
  which 60 are read, and 85 URLs, of which 40 are checked — the model was being
  asked to review that with no idea its view was partial, and would have
  reported as if it had seen everything
- Gemini API errors are summarized to their message line instead of dumping the
  full nested JSON blob for every PR in a batch

Verified against the open PRs: 7 enumerated, the non-showcase one skipped
before spending a model call, coverage warnings present for #95 and absent for
#96, and a non-zero exit when every PR fails.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.

2 participants