Skip to main content
← PROGRAM ARCHIVEFULL ARCHIVE RECORD
ALLOWLISTED DURABLE SOURCE

build014.spec.ts

tests/build014.spec.ts

This is the retained record itself—not a chat summary. It is exposed because it materially documents the research, method, evidence, audit, production, planning or release history of The 100.

import {test,expect} from '@playwright/test';
test.describe('Build 014 legal judgment architecture',()=>{
 test('default matter has supervised responsibility architecture',async({page})=>{await page.goto('/100-builds/014/a');await expect(page.getByRole('heading',{name:'SUPERVISED ARCHITECTURE'})).toBeVisible();await expect(page.getByText(/Human review/)).toContainText('Strong');await expect(page.getByText(/Inherited Build 012/)).toContainText('CONTROLLED USE');});
 test('allocating strategy to AI exposes a judgment leak',async({page})=>{await page.goto('/100-builds/014/a');await page.getByRole('button',{name:'ALLOCATE STRATEGY TO AI'}).click();await expect(page.getByRole('heading',{name:'JUDGMENT LEAK'})).toBeVisible();await expect(page.getByText(/Matter strategy: consequential professional judgment is allocated/)).toBeVisible();});
 test('reset exposes undefined responsibility',async({page})=>{await page.goto('/100-builds/014/a');await page.getByRole('button',{name:'RESET / START EMPTY'}).click();await expect(page.getByRole('heading',{name:'UNDEFINED RESPONSIBILITY'})).toBeVisible();await expect(page.getByText(/No matter, client, or personal data is transmitted/)).toBeVisible();});
 test('exports explicit judgment map',async({page})=>{await page.goto('/100-builds/014/a');const dl=page.waitForEvent('download');await page.getByRole('button',{name:'EXPORT JUDGMENT MAP'}).click();expect((await dl).suggestedFilename()).toBe('legal-judgment-architecture.json');});
 test('canonical room is active and 015 remains planned',async({page})=>{await page.goto('/100-builds/014');await expect(page.getByText('BUILD 014 / 100 · IN THE LAB')).toBeVisible();await expect(page.getByRole('link',{name:/OPEN THE TOOL/})).toHaveAttribute('href',/\/100-builds\/014\/a\/?$/);await page.goto('/100-builds/015');await expect(page.getByText('BUILD 015 / 100 · COMING NEXT')).toBeVisible();});
 test('functional artifact fits 320 CSS pixels',async({page})=>{await page.setViewportSize({width:320,height:800});await page.goto('/100-builds/014/a');await expect(page.getByRole('button',{name:'EXPORT JUDGMENT MAP'})).toBeVisible();expect(await page.evaluate(()=>document.documentElement.scrollWidth>document.documentElement.clientWidth)).toBe(false);});
});
test.describe('Build 014 judgment layers',()=>{
 test('answer decomposes into distinct ownership layers',async({page})=>{await page.goto('/100-builds/014/b');await page.getByRole('button',{name:/STRATEGY/}).click();await expect(page.getByRole('heading',{name:'STRATEGY'})).toBeVisible();await expect(page.getByText(/Weigh objectives, risk, cost, timing, and options/)).toBeVisible();});
 test('client authority and boundary remain explicit',async({page})=>{await page.goto('/100-builds/014/b');await page.getByRole('button',{name:/CLIENT AUTHORITY/}).click();await expect(page.getByText(/Objectives and decisions allocated to the client/)).toBeVisible();await expect(page.getByText(/Allocation depends on the matter, jurisdiction/)).toBeVisible();});
});