Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ jobs:
- run: bun install --frozen-lockfile
- run: bun test
- run: bun run deploy:check
- run: bun run deck:deploy:check
32 changes: 32 additions & 0 deletions .github/workflows/deploy-deck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Deploy deck
on:
workflow_dispatch:
permissions:
contents: read
concurrency:
group: production-deck
cancel-in-progress: false
jobs:
deploy:
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
environment:
name: production
url: https://deck.elizaresearch.ai
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: .node-version
- uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.14
- run: bun install --frozen-lockfile
- run: bun run deck:deploy:check
- name: Deploy research deck
run: bun run deck:deploy
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ vars.CLOUDFLARE_ACCOUNT_ID }}
- name: Check deployed deck
run: bun run deck:verify
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,15 @@ For attended deployment, authenticate with `bunx wrangler login`, then run `bun
Extracted from `elizaOS/eliza`, directory `packages/elizaresearch`, at commit `a2665f15af93dcb56434081b7cc4825d8cc243e7`.
The available history from the source checkout's shallow boundary is retained; older history remains in the [original repository](https://github.com/elizaOS/eliza/tree/a2665f15af93dcb56434081b7cc4825d8cc243e7/packages/elizaresearch).
Migration tracking: https://github.com/elizaOS/eliza/issues/31444.

## Research deck

The seven-slide senior independence deck lives in `deck/public/` and is deployed independently at https://deck.elizaresearch.ai using the `elizaresearch-deck` Worker.

- `bun run deck:preview` — preview at http://localhost:4184.
- `bun run deck:deploy:check` — validate slide structure, assets, JavaScript, and Worker configuration.
- `bun run deck:deploy` — deploy only the deck and its custom subdomain.

Navigation supports arrow keys, Space, Page Up/Down, Home/End, desktop edge clicks, horizontal touch swipes, previous/next buttons, and the slide picker. Each slide has a stable hash URL. Dense slides scroll vertically on small screens. Inactive slides are inert and hidden from assistive technology. Reduced-motion and landscape print layouts are included.

The **Deploy deck** GitHub workflow uses the existing production environment credentials and verifies that all deployed assets match the source files. For attended deployment, the existing Wrangler login can be used. The root company website has a separate Worker/configuration. See `deck/SOURCE.md` for reference provenance and `deck/RELEASE.md` for verification.
20 changes: 20 additions & 0 deletions deck/RELEASE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Research deck release — September 15, 2026

- URL: https://deck.elizaresearch.ai/
- Cloudflare Worker: `elizaresearch-deck`
- Initial deployed version: `3c3df07b-afa1-4430-b53a-9fce56503c69`
- Only `deck/public/` is served; the company website uses its existing separate Worker.

## Verification

All seven slides visually reviewed at 1440×900 and 390×844. All seven checked for horizontal overflow at 320×568, 768×1024, and 1366×768; the small-phone cover overflow was fixed and visually rechecked. Dense phone slides scroll vertically within the presentation, with navigation fixed below them. Desktop and laptop slides fit without vertical scrolling.

Verified arrow keys, Space, Page Up/Down, Home/End, next/previous buttons, slide picker, desktop edge click, hash reload, malformed-hash recovery, inactive-slide `inert` and `aria-hidden` attributes, and reduced-motion behavior. Synthetic browser TouchEvents verified left/right swipes and that vertical movement does not change slides. No browser console warnings or errors in the final local interaction checks.

`bun test`: 26 passed. `bun run deck:check`, both Worker dry runs, and `git diff --check` passed. The HTML, CSS, JavaScript, font, and logo were fetched from production over certificate-verified HTTPS and compared byte-for-byte with the local files.

Cloudflare authoritative DNS, 1.1.1.1, and 8.8.8.8 returned the new hostname. The local recursive resolver initially cached NXDOMAIN; initial production byte verification used the published Cloudflare IP with curl `--resolve`, preserving the actual hostname and TLS certificate validation.

## Future deployment

Use `bun run deck:deploy` from the checked source or dispatch **Deploy deck** on `main` using the existing production environment credentials (verified present). Only the deck configuration should be used for deck deployments.
5 changes: 5 additions & 0 deletions deck/SOURCE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Source

Recreated from the user-provided Senior Independence Deck, https://claude.ai/artifact/Fxon29EuX1Gf8UZeJKSTcS, retrieved September 15, 2026.

All seven sections and their text are preserved. The coordination SVG is rebuilt as responsive HTML with the same relationships and labels. Navigation follows /Users/shawwalters/eliza-deck/deck.js. Figures and research statements are supplied by the reference, not independently revalidated by this implementation.
8 changes: 8 additions & 0 deletions deck/public/_headers
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/*
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: camera=(), microphone=(), geolocation=()
Strict-Transport-Security: max-age=31536000; includeSubDomains
Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self'; font-src 'self'; img-src 'self'; connect-src 'none'; object-src 'none'; base-uri 'none'; frame-ancestors 'none'; form-action 'none'
Cache-Control: public, max-age=0, must-revalidate
Binary file added deck/public/assets/geist-sans-latin.woff2
Binary file not shown.
Loading
Loading