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
15 lines
1.0 KiB
JavaScript
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 },
|
|
});
|