public/favicon.ico shipped with no transparency: all three frames declared a 32-bit alpha channel and then carried alpha=255 on every one of their 256/1024/ 2304 pixels, ground opaque cream rgba(250,247,242,255). Pouya's read-through finding, confirmed by parsing the ICO container directly. The render source carries true alpha (2,272,386 transparent px, 20,795 partial), so this is an export, not a mask derived from the cream ground — R13's harder branch did not fire and R13 is unchanged on its own terms. New scripts/icons.mjs + npm run icons re-derives the icon from the committed master: asserts the source is still the documented crop (R14), verifies a candidate file and renames on success so a rejected build cannot replace a good favicon, and runs a boundary-colour halo test. Composition is unchanged — ink bbox and pixel count identical at all three sizes. apple-touch-icon.png is byte-identical and stays opaque cream deliberately; the reason lives in docs/reference/brand-assets.md §The icon set, with the bar and a pointer in BaseLayout.astro, docs/06 and R13. docs/06: the read-through is ticked, and the cutover callout drops to ONE blocker — Q60's waiting period. Two adversarial review rounds, 15 findings, all resolved, none declined; stopped at two per D19. claims-auditor correctly deferred to cutover per D20. Gates on the committed bytes, exit status read: check 0, build 0 (23 pages), check:claims 0, check:intake 0, og:proof 0, lint 0, lighthouse 0 (worst of 23 99/100/100/100). Nothing deployed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Md3GndFqWPzK78xAoebsg5
55 lines
1.5 KiB
JSON
55 lines
1.5 KiB
JSON
{
|
|
"name": "adr-smlcompany-ca",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"description": "The dispute resolution practice of Pouya Lajevardi \u2014 Toronto",
|
|
"type": "module",
|
|
"engines": {
|
|
"node": "^22.13.0 || >=24",
|
|
"npm": ">=9.6.5"
|
|
},
|
|
"scripts": {
|
|
"dev": "astro dev",
|
|
"build": "astro build",
|
|
"preview": "astro preview",
|
|
"check": "astro check",
|
|
"check:claims": "node scripts/check-claims.mjs",
|
|
"lint": "eslint . && prettier --check .",
|
|
"format": "prettier --write .",
|
|
"deploy": "bash scripts/deploy-local.sh",
|
|
"lighthouse": "node scripts/lighthouse.mjs",
|
|
"og:proof": "node scripts/og-proof.mjs",
|
|
"check:intake": "node scripts/check-intake.mjs",
|
|
"bio:pdf": "node scripts/bio-pdf.mjs",
|
|
"icons": "node scripts/icons.mjs"
|
|
},
|
|
"dependencies": {
|
|
"@astrojs/mdx": "^7.0.8",
|
|
"@astrojs/sitemap": "^3.7.3",
|
|
"astro": "^7.2.9",
|
|
"sharp": "^0.35.4"
|
|
},
|
|
"devDependencies": {
|
|
"@astrojs/check": "^0.9.10",
|
|
"@eslint/js": "^10.0.1",
|
|
"@fontsource/geist": "^5.3.0",
|
|
"@fontsource/instrument-serif": "^5.3.0",
|
|
"chrome-launcher": "^1.2.1",
|
|
"eslint": "^10.9.1",
|
|
"eslint-plugin-astro": "^3.1.0",
|
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
"globals": "^17.11.0",
|
|
"lighthouse": "^13.4.1",
|
|
"prettier": "^3.9.6",
|
|
"prettier-plugin-astro": "^0.14.1",
|
|
"satori": "^0.33.4",
|
|
"typescript": "^6.0.3",
|
|
"typescript-eslint": "^8.68.0"
|
|
},
|
|
"overrides": {
|
|
"eslint-plugin-jsx-a11y": {
|
|
"eslint": "$eslint"
|
|
}
|
|
}
|
|
}
|