Files
orgchain/playwright.config.js
T
teahubxyzandClaude Opus 5.5 6acc319ee7 Orgchain v1: create and operate lineage holdings across time
Super Testnet's kitchen sink becomes lineage's app. Lineage gives the
structure; the chain adds time.

- Holdings home, a tree drawn like docs/lineage.md, act and inspect panels,
  and a timeline grouped by beat.
- Verbs: found, birth, award, decide, graduate, close. Each is a lineage/v0
  inscription whose parent is the node that authorizes it.
- One reducer (src/orgchain/lineage.js) folds the events into trees and vets
  every act before it is signed. Closing cascades through derived children;
  graduated (adopted) ones stay open.
- Time: tempo each act / 10s / 30s / 60s / manual, Beat now, and a view
  slider with replay. A beat is a block; cued acts wait in the mempool.
- Its own lab (orgchain:lab:v1) with save, load and reset; a yolopreneur
  sample of six beats.
- Removed: the recursive preview, explorer UI, server, Docker and Fly files.
  The engine (src/adapters, src/upstream, storage, miner) is unchanged.
- Tests: reducer and lab (node --test), plus a Playwright spec for desktop
  and mobile that also runs against a deployed copy.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 17:28:33 -07:00

15 lines
1.0 KiB
JavaScript

import { defineConfig, devices } from '@playwright/test';
// By default the spec runs against the built app on vite preview. ORGCHAIN_URL points it at a deployed copy instead;
// PW_CHANNEL=chrome uses the installed Chrome; PW_ARGS passes extra browser flags as a JSON array.
const url = process.env.ORGCHAIN_URL, channel = process.env.PW_CHANNEL ? { channel: process.env.PW_CHANNEL } : {};
const launchOptions = { args: JSON.parse(process.env.PW_ARGS || '[]') };
export default defineConfig({
testDir: './tests', testMatch: '**/*.spec.js', fullyParallel: false, workers: 1, timeout: 60_000,
use: { baseURL: url ?? 'http://127.0.0.1:4178/', trace: 'retain-on-failure' },
projects: [
{ name: 'desktop', use: { ...devices['Desktop Chrome'], ...channel, launchOptions } },
{ name: 'mobile', use: { ...devices['Pixel 7'], ...channel, launchOptions } },
],
webServer: url ? undefined : { command: 'npx vite preview --host 127.0.0.1 --port 4178 --strictPort', url: 'http://127.0.0.1:4178/', reuseExistingServer: false },
});