Skip to content

Add interactive OpenCode Runner guide - #116

Open
leoncheng57 wants to merge 2 commits into
mainfrom
feat/issue-53-opencode-guide
Open

Add interactive OpenCode Runner guide#116
leoncheng57 wants to merge 2 commits into
mainfrom
feat/issue-53-opencode-guide

Conversation

@leoncheng57

@leoncheng57 leoncheng57 commented Aug 23, 2026

Copy link
Copy Markdown
Owner

Closes #53

Summary

  • add a fixture-only interactive Runner guide at /guide locally and https://leoncheng.dev/custom-dca-opencode/guides/runner/ on Pages
  • cover request flow, Plan/Build safety, long transcripts, permissions/questions, review controls, mobile handoff, notifications, sub-agent evidence, exclusions, troubleshooting, and contributor links across 16 stable scenes
  • provide explicit desktop/mobile simulation controls, semantic hash deep links, keyboard navigation, reduced-motion behavior, and responsive full-page layouts
  • publish only a guide-specific Vite artifact; the public build contains no BFF, live OpenCode connection, exported conversation, or repository mutation

Pages ownership

This PR is intentionally independent of the open skills/public-site stack in #106 and #113. The trusted main-branch workflow owns only gh-pages:guides/runner/, shares the existing pr-screenshot-publication concurrency group, and preserves pr-screenshots/ plus unrelated Pages paths. The staging seam rejects missing artifacts, symlinks, overlapping paths, and non-checkout destinations.

Fixture and safety boundaries

  • all names, paths, sessions, URLs, review state, and transcript rows are authored fictional data
  • the normal /guide route sits outside NotificationCenterProvider; browser coverage asserts that it performs zero /api requests
  • simulated actions report local guide feedback only and cannot approve commands, answer a live question, merge code, or contact an LLM
  • caveats remain visible in every scene, including host-native execution, no auto-resume, last-match-wins permissions, provenance-vs-capability, and unknown child outcomes

Verification

  • npm test (459 passed)
  • npm run typecheck
  • npm run build:guide
  • npm run test:e2e (253 passed, 1 expected screenshot-runner skip)
  • npm run screenshots:local (9 requested routes validated at desktop and mobile widths)

Visual review

Dark full-page desktop and 390x740 mobile captures were inspected locally through the repository screenshot runner. Inline publication is intentionally omitted on this bootstrap PR: the trusted workflow_run publisher revalidates routes using default-branch code and must not accept the new /guide allowlist before merge. After merge, later PRs can request stable scenes such as /guide#simulation-plan-safety normally.

@github-actions

Copy link
Copy Markdown
Contributor

PR screenshots

No screenshots requested. Add this to the PR description:

```screenshots
/?directory=/tmp/mock-project
full:/sessions/ses_mock_done?directory=/tmp/mock-project

_Captured from the production app against deterministic mock OpenCode fixtures only._

@leoncheng57

Copy link
Copy Markdown
Owner Author

Exhaustive Playwright review gallery

Captured from PR head bd95ce6 with the production build. 40 PNGs, 4.4 MB total. Images are stored on immutable artifact commit 52bf8d6, outside the merge diff.

Full-page overview

Dark desktop

Full guide in dark mode on desktop

Dark phone

Full guide in dark mode on a phone

Light-mode full-page overview

Desktop

Full guide in light mode on desktop

Phone

Full guide in light mode on a phone
01 · Architecture and request flow (4 images)

The request path

System map desktop

System map mobile

Async prompt and event reconciliation

Async events desktop

Async events mobile

02 · Long sessions (6 images)

Bounded pagination

Pagination desktop

Pagination mobile

Live growth without viewport theft

Live growth desktop

Live growth mobile

Interrupted turn detection

Interrupted turn desktop

Interrupted turn mobile

03 · Plan and Build safety (4 images)

Plan denies mutation

Plan safety desktop

Plan safety mobile

Build policy restoration

Build restoration desktop

Build restoration mobile

04 · Human gates and review (7 images)

Permission and structured question

Permission question desktop

Permission question mobile

Permission interaction result

Permission allowed simulation

Auto-permissions warning

Auto permissions desktop

Auto permissions mobile

SHA-bound review control

Review control desktop

Review control mobile

05 · Mobile handoff and notifications (7 images)

Phone handoff

Phone handoff desktop

Phone handoff mobile

Explicit phone preview on desktop

Phone preview selected on desktop

Notification audit trail

Notification inbox desktop

Notification inbox mobile

Notification interaction result

Notification resolved simulation
06 · Sub-agent evidence (4 images)

Six-state ledger

Subagent ledger desktop

Subagent ledger mobile

Machine hand-back

Subagent handback desktop

Subagent handback mobile

07–08 · Exclusions and troubleshooting (4 images)

Deliberate exclusions

Exclusions desktop

Exclusions mobile

Troubleshooting evidence

Troubleshooting desktop

Troubleshooting mobile

Mobile chapter navigation Open chapter menu on mobile

Playwright Chromium · production bundle · reduced motion · no live OpenCode or private data.

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.

Create an interactive leoncheng.dev simulation guide for the DCA runner

1 participant