← Projects

Pocket Workshop

A careful field kit for changing the site away from the Mac: draft, validate, inspect the diff, prepare a preview, and leave a receipt the local continuity system can understand.

Mobile release desk · demonstration mode

Make the change. Keep the boundary.

Remote publishing unconfigured
This prototype does not receive credentials or publish. Drafts, diffs, preview plans, and receipts work in this browser. Real repository writes require a protected Cloudflare Access application and a repository-scoped GitHub App; those are intentionally not simulated.

Project content

Project summary

Saved on this device

Human-readable review

What will change

Release state machine

Nothing moves silently

  1. 1
    Local draft

    Editable on this device.

  2. 2
    Validated change

    Allowlist, content, and conflict checks.

  3. 3
    Preview branch

    Would be created by the protected API.

  4. 4
    Rendered preview

    Inspect actual output before approval.

  5. 5
    Production publish

    Requires reauthentication and a configured service.

1

Identity gateway

Cloudflare Access admits only the owner and issues a short-lived identity assertion.

Not configured
2

Protected API

The server verifies identity, origin, CSRF protection, path rules, and the expected repository.

Design complete
3

Narrow GitHub App

A repository-scoped installation creates branches and commits. The phone never sees its credential.

Not configured
4

Preview first

Every change targets a branch and real Cloudflare preview before production approval.

Modeled here
5

Conflict protection

The base commit and file hash prevent a stale phone draft from overwriting newer work.

Modeled here
6

Local continuity

A receipt bridges remote Git history back to the private WHY log on the Mac.

Working export

Server-enforced boundary

Content allowlist

src/content/projects/*.md src/content/writing/*.md src/data/bookmarks.json src/data/glossary.json public/images/projects/**

Arbitrary source, dependencies, secrets, functions, and the gitignored Internal Development/ tree remain outside mobile write access.

Local audit trail

What happened in this prototype

0 events