View input and acceptance criteria
Input
Forty-six named observations across nine unchanged Astro documentation blocks with Node 24.10.0, Biome 2.5.3 and Astro 7.3.7. Actual upstream Biome configuration records Node API rule diagnostics separately from other lint failures. Original function and synthetic file effects, shallow shared references, missing-frontmatter behavior and file-reading plugin hooks are recorded. The original Markdown unit assertion intentionally fails due to a leading newline; the original manifest unit assertion passes. A duplicate buildRoutes example intentionally fails ESM parsing after experimental Node type erasure. Two real standalone Astro builds use the original JSON virtual-module plugin and independent synthetic pages, output/cache directories and input data. The second build preserves the first output; fixture language, H1, canonical and escaping are checked. Telemetry is disabled and JavaScript build connections denied with zero attempts. No complete TypeScript typecheck, monorepo cache-pollution reproduction, browser, edge, adapter/pipeline matrix, real credentials, production authorization, speed, full security or complete AI-client execution claim.
Acceptance criteria
All 46 named observations match their explicit expected values, including original assertion and parse failures. Lint, unit and standalone build scope remain separate; no full-skill or production claim.
Recorded outcome
Forty-six named observations across nine unchanged Astro documentation blocks with Node 24.10.0, Biome 2.5.3 and Astro 7.3.7. Actual upstream Biome configuration records Node API rule diagnostics separately from other lint failures. Original function and synthetic file effects, shallow shared references, missing-frontmatter behavior and file-reading plugin hooks are recorded. The original Markdown unit assertion intentionally fails due to a leading newline; the original manifest unit assertion passes. A duplicate buildRoutes example intentionally fails ESM parsing after experimental Node type erasure. Two real standalone Astro builds use the original JSON virtual-module plugin and independent synthetic pages, output/cache directories and input data. The second build preserves the first output; fixture language, H1, canonical and escaping are checked. Telemetry is disabled and JavaScript build connections denied with zero attempts. No complete TypeScript typecheck, monorepo cache-pollution reproduction, browser, edge, adapter/pipeline matrix, real credentials, production authorization, speed, full security or complete AI-client execution claim.
Scoped native evidence:
{
"executed_at": "2026-10-08T03:06:08.045Z",
"versions": {
"node": "v24.10.0",
"astro": "7.3.7",
"biome": "2.5.3"
},
"observations": 46,
"cases": [
{
"name": "config retains existing fields",
"status": "passed",
"actual": "/demo",
"expected": "/demo"
},
{
"name": "config marks transformed output",
"status": "passed",
"actual": true,
"expected": true
},
{
"name": "config does not add property to input",
"status": "passed",
"actual": false,
"expected": false
},
{
"name": "config returns a new object",
"status": "passed",
"actual": true,
"expected": true
},
{
"name": "config nested object remains shared",
"status": "passed",
"actual": true,
"expected": true
},
{
"name": "original coupled config function writes file",
"status": "passed",
"actual": {
"base": "/first",
"transformed": true
},
"expected": {
"base": "/first",
"transformed": true
}
},
{
"name": "original separated config infrastructure writes file",
"status": "passed",
"actual": {
"base": "/second",
"transformed": true
},
"expected": {
"base": "/second",
"transformed": true
}
},
{
"name": "config infrastructure propagates missing file",
"status": "passed",
"actual": "ENOENT",
"expected": "ENOENT"
},
{
"name": "original markdown keeps leading newline",
"status": "passed",
"actual": "\nNOTE: Fix this",
"expected": "\nNOTE: Fix this"
},
{
"name": "original markdown without delimiters throws",
"status": "passed",
"actual": "TypeError",
"expected": "TypeError"
},
{
"name": "original separated markdown infrastructure writes file",
"status": "passed",
"actual": "\nNOTE: Fix this",
"expected": "\nNOTE: Fix this"
},
{
"name": "original coupled markdown infrastructure writes file",
"status": "passed",
"actual": "\nNOTE: Fix this",
"expected": "\nNOTE: Fix this"
},
{
"name": "pure manifest output contains route",
"status": "passed",
"actual": 1,
"expected": 1
},
{
"name": "pure manifest output increments version",
"status": "passed",
"actual": 2,
"expected": 2
},
{
"name": "pure manifest retains original routes",
"status": "passed",
"actual": 0,
"expected": 0
},
{
"name": "pure manifest retains original version",
"status": "passed",
"actual": 1,
"expected": 1
},
{
"name": "pure manifest returns distinct route array",
"status": "passed",
"actual": true,
"expected": true
},
{
"name": "pure manifest retains shared route object",
"status": "passed",
"actual": true,
"expected": true
},
{
"name": "coupled manifest mutates input",
"status": "passed",
"actual": 1,
"expected": 1
},
{
"name": "coupled manifest increments input version",
"status": "passed",
"actual": 2,
"expected": 2
},
{
"name": "unchanged original markdown unit assertion fails",
"status": "passed",
"actual": 1,
"expected": 1
},
{
"name": "unchanged original manifest unit assertion passes",
"status": "passed",
"actual": true,
"expected": true
},
{
"name": "unchanged dual buildRoutes example fails ESM parse",
"status": "passed",
"actual": 1,
"expected": 1
},
{
"name": "Biome Node API rule: packages/astro/src/runtime/server/sample.ts",
"status": "passed",
"actual": 5,
"expected": 5
},
{
"name": "Biome Node API rule: packages/astro/src/runtime/client/sample.ts",
"status": "passed",
"actual": 5,
"expected": 5
},
{
"name": "Biome Node API rule: packages/astro/src/vite-plugin-sample/runtime.ts",
"status": "passed",
"actual": 5,
"expected": 5
},
{
"name": "Biome Node API rule: packages/astro/src/core/render/runtime-utils.ts",
"status": "passed",
"actual": 5,
"expected": 5
},
{
"name": "Biome Node API rule: packages/astro/src/vite-plugin-sample/plugin.ts",
"status": "passed",
"actual": 0,
"expected": 0
},
{
"name": "Biome Node API rule: packages/astro/src/core/build/sample.ts",
"status": "passed",
"actual": 0,
"expected": 0
},
{
"name": "original bad plugin emits Node import",
"status": "passed",
"actual": true,
"expected": true
},
{
"name": "Biome Node API rule: packages/astro/src/runtime/server/generated-bad.ts",
"status": "passed",
"actual": 1,
"expected": 1
},
{
"name": "original file-reading plugin 3 returns synthetic source",
"status": "passed",
"actual": "BB synthetic file",
"expected": "BB synthetic file"
},
{
"name": "original file-reading plugin 6 returns synthetic source",
"status": "passed",
"actual": "BB synthetic file",
"expected": "BB synthetic file"
},
{
"name": "real Astro build 1 renders supplied title",
"status": "passed",
"actual": true,
"expected": true
},
{
"name": "real Astro build 1 has English HTML",
"status": "passed",
"actual": true,
"expected": true
},
{
"name": "real Astro build 1 has canonical",
"status": "passed",
"actual": true,
"expected": true
},
{
"name": "real Astro build 1 has single H1",
"status": "passed",
"actual": 1,
"expected": 1
},
{
"name": "real Astro build 1 attempts no JS socket or HTTP connection",
"status": "passed",
"actual": 0,
"expected": 0
},
{
"name": "real Astro output escapes synthetic script",
"status": "passed",
"actual": false,
"expected": false
},
{
"name": "real Astro build 2 renders supplied title",
"status": "passed",
"actual": true,
"expected": true
},
{
"name": "real Astro build 2 has English HTML",
"status": "passed",
"actual": true,
"expected": true
},
{
"name": "real Astro build 2 has canonical",
"status": "passed",
"actual": true,
"expected": true
},
{
"name": "real Astro build 2 has single H1",
"status": "passed",
"actual": 1,
"expected": 1
},
{
"name": "real Astro build 2 attempts no JS socket or HTTP connection",
"status": "passed",
"actual": 0,
"expected": 0
},
{
"name": "second Astro build preserves first output",
"status": "passed",
"actual": "bfb6a507c9f0083fab3030bc6e7c1e8a7f325d391df20a511eb5c3526b02d90b",
"expected": "bfb6a507c9f0083fab3030bc6e7c1e8a7f325d391df20a511eb5c3526b02d90b"
},
{
"name": "Biome Node API rule: packages/astro/src/runtime/server/generated-good.ts",
"status": "passed",
"actual": 0,
"expected": 0
}
],
"native_blocks": [
{
"source": "testing.md",
"block_index": 2,
"block_sha256": "02ab850dc5d3e90b0aac61390f3c20004b4f6551408a1af07100abefd1b73831",
"language": "typescript"
},
{
"source": "testing.md",
"block_index": 5,
"block_sha256": "07b2c8fe133768be3cda194b39cb7df28c33a5e3d94ce8bbb82c129517712ce3",
"language": "typescript"
},
{
"source": "testing.md",
"block_index": 8,
"block_sha256": "7f49b33abd00323f839908163470a22d6f9b01986a44ef7a4256a322706525ac",
"language": "typescript"
},
{
"source": "testing.md",
"block_index": 6,
"block_sha256": "7435a74b345b78df4816d31fca8f222061366003c415cae6a6c134b3335fb0b3",
"language": "typescript"
},
{
"source": "constraints.md",
"block_index": 1,
"block_sha256": "3afd2a7685c14d17b7bce54fe948b4c1e3b24f162e520a10a561bd3d7b258dea",
"language": "typescript"
},
{
"source": "constraints.md",
"block_index": 4,
"block_sha256": "ee5db7220812c7ee91ff93600848b9970609faea268fdf5306be4e701a901a04",
"language": "typescript"
},
{
"source": "constraints.md",
"block_index": 3,
"block_sha256": "5cb2c4f11620951dde4800e45566eb2d95debe7478c61c46f1531f97739835ca",
"language": "typescript"
},
{
"source": "constraints.md",
"block_index": 6,
"block_sha256": "8013afb2265b64d413fda08cfda755a0329a0780e795e7f0a6e13d7d5219fb9f",
"language": "typescript"
},
{
"source": "constraints.md",
"block_index": 7,
"block_sha256": "3e7c1ca94def5313e2bced9d59e1234ec1d5212d52cb471721fa15d85cd45c41",
"language": "typescript"
}
],
"lint_results": [
{
"path": "packages/astro/src/runtime/server/sample.ts",
"source_sha256": "3afd2a7685c14d17b7bce54fe948b4c1e3b24f162e520a10a561bd3d7b258dea",
"exit_code": 1,
"diagnostics": [
{
"category": "lint/correctness/noNodejsModules",
"severity": "error"
},
{
"category": "lint/correctness/noNodejsModules",
"severity": "error"
},
{
"category": "lint/correctness/noNodejsModules",
"severity": "error"
},
{
"category": "lint/correctness/noNodejsModules",
"severity": "error"
},
{
"category": "lint/correctness/noNodejsModules",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
}
],
"node_api_diagnostics": 5
},
{
"path": "packages/astro/src/runtime/client/sample.ts",
"source_sha256": "3afd2a7685c14d17b7bce54fe948b4c1e3b24f162e520a10a561bd3d7b258dea",
"exit_code": 1,
"diagnostics": [
{
"category": "lint/correctness/noNodejsModules",
"severity": "error"
},
{
"category": "lint/correctness/noNodejsModules",
"severity": "error"
},
{
"category": "lint/correctness/noNodejsModules",
"severity": "error"
},
{
"category": "lint/correctness/noNodejsModules",
"severity": "error"
},
{
"category": "lint/correctness/noNodejsModules",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
}
],
"node_api_diagnostics": 5
},
{
"path": "packages/astro/src/vite-plugin-sample/runtime.ts",
"source_sha256": "3afd2a7685c14d17b7bce54fe948b4c1e3b24f162e520a10a561bd3d7b258dea",
"exit_code": 1,
"diagnostics": [
{
"category": "lint/correctness/noNodejsModules",
"severity": "error"
},
{
"category": "lint/correctness/noNodejsModules",
"severity": "error"
},
{
"category": "lint/correctness/noNodejsModules",
"severity": "error"
},
{
"category": "lint/correctness/noNodejsModules",
"severity": "error"
},
{
"category": "lint/correctness/noNodejsModules",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
}
],
"node_api_diagnostics": 5
},
{
"path": "packages/astro/src/core/render/runtime-utils.ts",
"source_sha256": "3afd2a7685c14d17b7bce54fe948b4c1e3b24f162e520a10a561bd3d7b258dea",
"exit_code": 1,
"diagnostics": [
{
"category": "lint/correctness/noNodejsModules",
"severity": "error"
},
{
"category": "lint/correctness/noNodejsModules",
"severity": "error"
},
{
"category": "lint/correctness/noNodejsModules",
"severity": "error"
},
{
"category": "lint/correctness/noNodejsModules",
"severity": "error"
},
{
"category": "lint/correctness/noNodejsModules",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
}
],
"node_api_diagnostics": 5
},
{
"path": "packages/astro/src/vite-plugin-sample/plugin.ts",
"source_sha256": "3afd2a7685c14d17b7bce54fe948b4c1e3b24f162e520a10a561bd3d7b258dea",
"exit_code": 1,
"diagnostics": [
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
}
],
"node_api_diagnostics": 0
},
{
"path": "packages/astro/src/core/build/sample.ts",
"source_sha256": "3afd2a7685c14d17b7bce54fe948b4c1e3b24f162e520a10a561bd3d7b258dea",
"exit_code": 1,
"diagnostics": [
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
},
{
"category": "lint/correctness/noUnusedImports",
"severity": "error"
}
],
"node_api_diagnostics": 0
},
{
"path": "packages/astro/src/runtime/server/generated-bad.ts",
"source_sha256": "352197755342141eacd9f2f629872a6d3e42fcd0e6d86ef6f885d564c3c46704",
"exit_code": 1,
"diagnostics": [
{
"category": "lint/correctness/noNodejsModules",
"severity": "error"
}
],
"node_api_diagnostics": 1
},
{
"path": "packages/astro/src/runtime/server/generated-good.ts",
"source_sha256": "7fcba4932531ef7672005f736557d95db687a5fb93cfb48ab03d699e4e36ad69",
"exit_code": 0,
"diagnostics": [],
"node_api_diagnostics": 0
}
],
"build_results": [
{
"out_dir": "output-1",
"html_sha256": "bfb6a507c9f0083fab3030bc6e7c1e8a7f325d391df20a511eb5c3526b02d90b",
"source_input_sha256": "20c481f5fdc298b5cb2a42b8b5d2534439752a0b56a3880aa64efa93eddb0ef9",
"network_attempts": 0
},
{
"out_dir": "output-2",
"html_sha256": "345efb27d4f0e873eb1598bf26ac334b1d95e0460617fe865b79f85b3d800bee",
"source_input_sha256": "c1d0da34a427327b81a879d332df96885af0e2276e2bbef7c548dc54063a4119",
"network_attempts": 0
}
],
"unchanged_original_unit_tests": {
"passed": 1,
"failed_expected": 1,
"expected_failure": "Markdown example keeps a leading newline, unlike its original expected string",
"tap_sha256": "543054174278cb07c32e70cb0c8dbd09ba9e9fc0d7711cac693694b0cb518b51"
},
"source_hashes": {
"examples/run_fixture.mjs": "1e4abea4e345802627cd664caf60621277a0524d4efcf6c6fb0a75d7353c9f17",
"examples/deny_network.mjs": "ef76924da542c724cb00cf5152675b3885ef9bfff5e91280f408d64c13c72b3d",
"package.json": "781593050c71122a1d28076904768afb1d58f87f42a324077ff7cb8fe5093ce5",
"package-lock.json": "af00dd3b178aa7505eab9d18e5e82254857a9743466a700847deb0d0b9ebfb90",
"repository-context/biome.jsonc": "61766702c45acd574de0f02fb418f528eec884489f413bd9fba0ef371a7552de",
"repository-context/.agents/skills/astro-developer/testing.md": "e389858edfbce3ed26ea45cca0bb83e315c94f32b053ef0c39e1ae7784ffaee7",
"repository-context/.agents/skills/astro-developer/constraints.md": "e5e20a6db57d2fe5c67bc1a866c2d40bb154d84e288a1b6717e3f48f4eadec95"
},
"synthetic_setup": "Independent wrappers and inputs; full upstream source blocks preserved before Node type erasure; VCS lookup disabled only by the Biome CLI flag.",
"runtime_tested": false,
"ai_client_executed": false,
"production_tested": false,
"paid_api_used": false,
"real_credentials_used": false,
"monorepo_test_runner_used": false,
"esm_cache_pollution_reproduced": false,
"edge_runtime_executed": false,
"full_typescript_typecheck_ran": false,
"astro_build_api_experimental": true,
"javascript_network_preload_denied_build_connections": true,
"resolved_independent_setup_issue": "On Windows, the Node --import preloader requires a file:// URL rather than a C: path."
}Environment
Windows; Node 24.10.0; Astro 7.3.7; Biome 2.5.3; synthetic files only. Standalone build API and Node type erasure experimental. No preview server, account, key, database or paid service. Skill snapshot and runtime version identities separate.
Package SHA-256: 6ff1d049520eed60eada682d632f746a065fa7375ec577b5ddda094798d0758f
Outcome recorded: 2026-10-08 03:06 UTC
Open evidence ↗