From 312194d1f9a03087383326c1c0a5b5f42be8ee45 Mon Sep 17 00:00:00 2001 From: Shining <250120269+chronoai-shining@users.noreply.github.com> Date: Wed, 5 Aug 2026 17:41:31 +0800 Subject: [PATCH 01/27] build(evolution): add the fingerprint and convergence toolchain MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit FKST Evolution decides whether a repository's generated product artifacts still describe its current source. That decision rests entirely on the six fingerprints of the specification's section 17, so the fingerprints — not the generators — are the component whose being wrong invalidates everything downstream. They ship first, and alone. The specification fixes the SHAPE of a hash leaf but calls it "conceptual", deferring the exact serialization to implementations while requiring that it be documented and covered by test vectors. `src/hash.ts` is that documentation: fixed-width big-endian length prefixes, raw UTF-8 paths with no normalization, six-byte octal modes, and a distinct domain tag per leaf family so repository content cannot forge a generator input. `test/hash.test.ts` pins the resulting digests as vectors a second implementation must reproduce. Two decisions are worth calling out because the obvious alternative is wrong: - Duplicate manifest keys are rejected by a scanning pass rather than by JSON.parse, which resolves them last-wins before any reviver runs. Since the manifest projection enters the output fingerprint, a document carrying two `outputFingerprint` values would otherwise hash one and display the other. - A convergence condition that cannot be evaluated reports `not-evaluable` and downgrades the verdict, never passes. The specification says a repository is converged only when all six conditions hold, and an unevaluated condition does not hold — it is unknown. GitHub access sits behind a `GitHubPort` interface so the decision logic is testable without a network, and so the control plane can later supply an installation-token client without touching the decision at all. Part of #5866 --- package.json | 6 +- tools/evolution/package-lock.json | 1833 +++++++++++++++++++++++ tools/evolution/package.json | 20 + tools/evolution/src/build.ts | 252 ++++ tools/evolution/src/cli.ts | 208 +++ tools/evolution/src/config.ts | 265 ++++ tools/evolution/src/converge.ts | 279 ++++ tools/evolution/src/fingerprints.ts | 201 +++ tools/evolution/src/github.ts | 119 ++ tools/evolution/src/gittree.ts | 143 ++ tools/evolution/src/hash.ts | 175 +++ tools/evolution/src/jsonstrict.ts | 113 ++ tools/evolution/src/log.ts | 39 + tools/evolution/src/manifest.ts | 139 ++ tools/evolution/src/plan.ts | 90 ++ tools/evolution/src/selector.ts | 105 ++ tools/evolution/test/config.test.ts | 218 +++ tools/evolution/test/converge.test.ts | 308 ++++ tools/evolution/test/hash.test.ts | 186 +++ tools/evolution/test/jsonstrict.test.ts | 63 + 20 files changed, 4761 insertions(+), 1 deletion(-) create mode 100644 tools/evolution/package-lock.json create mode 100644 tools/evolution/package.json create mode 100644 tools/evolution/src/build.ts create mode 100644 tools/evolution/src/cli.ts create mode 100644 tools/evolution/src/config.ts create mode 100644 tools/evolution/src/converge.ts create mode 100644 tools/evolution/src/fingerprints.ts create mode 100644 tools/evolution/src/github.ts create mode 100644 tools/evolution/src/gittree.ts create mode 100644 tools/evolution/src/hash.ts create mode 100644 tools/evolution/src/jsonstrict.ts create mode 100644 tools/evolution/src/log.ts create mode 100644 tools/evolution/src/manifest.ts create mode 100644 tools/evolution/src/plan.ts create mode 100644 tools/evolution/src/selector.ts create mode 100644 tools/evolution/test/config.test.ts create mode 100644 tools/evolution/test/converge.test.ts create mode 100644 tools/evolution/test/hash.test.ts create mode 100644 tools/evolution/test/jsonstrict.test.ts diff --git a/package.json b/package.json index 97e897e6a..64ecd6fc0 100644 --- a/package.json +++ b/package.json @@ -2,5 +2,9 @@ "name": "fkst-hosted", "version": "0.2.3", "private": true, - "description": "Unified product version for fkst-hosted (backend + frontend). The Docker build reads this version." + "description": "Unified product version for fkst-hosted (backend + frontend). The Docker build reads this version.", + "scripts": { + "evolution": "node tools/evolution/src/cli.ts", + "evolution:test": "node --test tools/evolution/test/*.test.ts" + } } diff --git a/tools/evolution/package-lock.json b/tools/evolution/package-lock.json new file mode 100644 index 000000000..bce37ac00 --- /dev/null +++ b/tools/evolution/package-lock.json @@ -0,0 +1,1833 @@ +{ + "name": "@fkst/evolution-tools", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@fkst/evolution-tools", + "version": "0.1.0", + "dependencies": { + "@marp-team/marp-cli": "^4.5.0", + "canonicalize": "^2.1.0", + "picomatch": "^4.0.3", + "yaml": "^2.8.1" + }, + "engines": { + "node": ">=22.6.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-5.0.3.tgz", + "integrity": "sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/selector-resolve-nested": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.1.0.tgz", + "integrity": "sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/@marp-team/marp-cli": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@marp-team/marp-cli/-/marp-cli-4.5.0.tgz", + "integrity": "sha512-ZOd9eVwxqx1yL6S6OpEkYKnOTeeWbVCSJaOx8e5lUCcA8jGf7NJU2XkDMkvDTk0wvxwhIdda8zriunhau+Gmrg==", + "license": "MIT", + "dependencies": { + "@marp-team/marp-core": "^4.4.0", + "@marp-team/marpit": "^3.2.2", + "chokidar": "^4.0.3", + "cosmiconfig": "^9.0.2", + "puppeteer-core": "^24.43.1", + "serve-index": "^1.9.2", + "tmp": "^0.2.7", + "ws": "^8.21.0" + }, + "bin": { + "marp": "marp-cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@marp-team/marp-core": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@marp-team/marp-core/-/marp-core-4.4.0.tgz", + "integrity": "sha512-YTiS0oIo25KiqjfMtDchTMc/uuFhR48weKNVw4QPPAM/9UQ71QI0JnDkC1qenJSmFPMlXQK72wQ8vlhmgQS3Cg==", + "license": "MIT", + "dependencies": { + "@marp-team/marpit": "^3.2.2", + "@marp-team/marpit-svg-polyfill": "^2.1.0", + "highlight.js": "^11.11.1", + "katex": "^0.17.0", + "mathjax-full": "^3.2.2", + "postcss-selector-parser": "^7.1.4", + "xss": "^1.0.15" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@marp-team/marpit": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@marp-team/marpit/-/marpit-3.2.2.tgz", + "integrity": "sha512-7LJ6vuAA1jovkTMso2MLyhdjqtJAzjievCAF2PpIqHGH7CFG0e3a0hXQ++zMXinUggKt0pbhqa/q8UEdcYq5Pw==", + "license": "MIT", + "dependencies": { + "@csstools/postcss-is-pseudo-class": "^5.0.3", + "cssesc": "^3.0.0", + "js-yaml": "^4.3.0", + "lodash.kebabcase": "^4.1.1", + "markdown-it": "^14.2.0", + "markdown-it-front-matter": "^0.2.4", + "postcss": "^8.5.15", + "postcss-nesting": "^13.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@marp-team/marpit-svg-polyfill": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@marp-team/marpit-svg-polyfill/-/marpit-svg-polyfill-2.1.0.tgz", + "integrity": "sha512-VqCoAKwv1HJdzZp36dDPxznz2JZgRjkVSSPHpCzk72G2N753F0HPKXjevdjxmzN6gir9bUGBgMD1SguWJIi11A==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@marp-team/marpit": ">=0.5.0" + }, + "peerDependenciesMeta": { + "@marp-team/marpit": { + "optional": true + } + } + }, + "node_modules/@puppeteer/browsers": { + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.13.2.tgz", + "integrity": "sha512-5EUZSUIc37H6aIXyWO0Z4y8NlF8NnjgmqeQgOGiswAU7pY0HOo16ho4+alIWmSfdZnjqBRawMsP3I5YqLSn6kw==", + "license": "Apache-2.0", + "dependencies": { + "debug": "^4.4.3", + "extract-zip": "^2.0.1", + "progress": "^2.0.3", + "proxy-agent": "^6.5.0", + "semver": "^7.7.4", + "tar-fs": "^3.1.1", + "yargs": "^17.7.2" + }, + "bin": { + "browsers": "lib/cjs/main-cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "26.1.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-26.1.2.tgz", + "integrity": "sha512-Vu4a5UFA9rIIFJ7rB/Vaafh9lrCQszopTCx6KjFboXTGQbPNasehVR5TEiithSDGyd1DEiUByggTZsg8jukeIg==", + "license": "MIT", + "optional": true, + "dependencies": { + "undici-types": "~8.3.0" + } + }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@xmldom/xmldom": { + "version": "0.9.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.10.tgz", + "integrity": "sha512-A9gOqLdi6cV4ibazAjcQufGj0B1y/vDqYrcuP6d/6x8P27gRS8643Dj9o1dEKtB6O7fwxb2FgBmJS2mX7gpvdw==", + "license": "MIT", + "engines": { + "node": ">=14.6" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/b4a": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.1.tgz", + "integrity": "sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==", + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } + } + }, + "node_modules/bare-events": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.9.1.tgz", + "integrity": "sha512-Z0oHEHAFDZkffN8Qc39zNZjQlMDkPJRyyyZieU1VH7u8c5S+qHZ2S8ixdKIAxEjfHO7FJxXmJWgteOghVanIsg==", + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } + }, + "node_modules/bare-fs": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.8.0.tgz", + "integrity": "sha512-fM+MhCvdQhZ7NV6S95a07gPSqjIYKn6mFaXfx266wN3ajZGl/+1AzH+ubkXQ0fFZvOe2nk9VHkzdYkQE5zMV3Q==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.5.4", + "bare-path": "^3.0.0", + "bare-stream": "^2.6.4", + "bare-url": "^2.2.2", + "fast-fifo": "^1.3.2" + }, + "engines": { + "bare": ">=1.28.0" + }, + "peerDependencies": { + "bare-buffer": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + } + } + }, + "node_modules/bare-path": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.1.1.tgz", + "integrity": "sha512-JprUlveX3QjApC1cTpsUOiscADftCGVWkzitbHsRqv84hzYwYHw2mbluddsq5TvI8mH/8Ov1f4BiMAdcB0oYnQ==", + "license": "Apache-2.0" + }, + "node_modules/bare-stream": { + "version": "2.13.3", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.13.3.tgz", + "integrity": "sha512-Kc+brLqvEqGkjyfiwJmImAOqLZL7OsoLKuavx+hJjgVV3nLTOjloJyPMFxjUPerGGHrNH0fLU06jjykMLWrERQ==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.8.1", + "streamx": "^2.25.0", + "teex": "^1.0.1" + }, + "peerDependencies": { + "bare-abort-controller": "*", + "bare-buffer": "*", + "bare-events": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + }, + "bare-buffer": { + "optional": true + }, + "bare-events": { + "optional": true + } + } + }, + "node_modules/bare-url": { + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.7.tgz", + "integrity": "sha512-o8CRCiJtib+ycO3mE4A5UChtGX4dDP2XxsWVu9P+Zc3H8tcmKwNVEDoDTXmwN+uuMhfKeT7/i7Y26xS8W7ohoA==", + "license": "Apache-2.0", + "dependencies": { + "bare-path": "^3.0.0" + } + }, + "node_modules/basic-ftp": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.3.1.tgz", + "integrity": "sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "license": "MIT" + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/canonicalize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-2.1.0.tgz", + "integrity": "sha512-F705O3xrsUtgt98j7leetNhTWPe+5S72rlL5O4jA1pKqBVQ/dT1O1D6PFxmSXvc0SUOinWS57DKx0I3CHrXJHQ==", + "license": "Apache-2.0", + "bin": { + "canonicalize": "bin/canonicalize.js" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/chromium-bidi": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-14.0.0.tgz", + "integrity": "sha512-9gYlLtS6tStdRWzrtXaTMnqcM4dudNegMXJxkR0I/CXObHalYeYcAMPrL19eroNZHtJ8DQmu1E+ZNOYu/IXMXw==", + "license": "Apache-2.0", + "dependencies": { + "mitt": "^3.0.1", + "zod": "^3.24.1" + }, + "peerDependencies": { + "devtools-protocol": "*" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/cosmiconfig": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.2.tgz", + "integrity": "sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==", + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssfilter": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", + "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==", + "license": "MIT" + }, + "node_modules/data-uri-to-buffer": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", + "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/degenerator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "license": "MIT", + "dependencies": { + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/devtools-protocol": { + "version": "0.0.1608973", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1608973.tgz", + "integrity": "sha512-Tpm17fxYzt+J7VrGdc1k8YdRqS3YV7se/M6KeemEqvUbq/n7At1rWVuXMxQgpWkdwSdIEKYbU//Bve+Shm4YNQ==", + "license": "BSD-3-Clause" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" + } + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "license": "BSD-2-Clause", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "license": "MIT" + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-uri": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.5.tgz", + "integrity": "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==", + "license": "MIT", + "dependencies": { + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.2", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/highlight.js": { + "version": "11.11.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz", + "integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ip-address": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.4.0.tgz", + "integrity": "sha512-oSK96Grm3aP6OrS263xVxbNDGVL7rzBtYdpGqlDG8iQdoenDoTs/nkki+DflYbAEE8Xl6o5YxhxlrKvI3nqKXQ==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.1.tgz", + "integrity": "sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, + "node_modules/katex": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.17.0.tgz", + "integrity": "sha512-Vdw0ATsQ9V+LuegM/BTwQqV/6cTl5lbGcIrU+BCgLxyf6bo38ybOr372tuSIxir3CN720flu1meYR6XzNMwQnw==", + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "license": "MIT", + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/linkify-it": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.2.tgz", + "integrity": "sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/markdown-it" + } + ], + "license": "MIT", + "dependencies": { + "uc.micro": "^2.0.0" + } + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/markdown-it": { + "version": "14.3.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.3.0.tgz", + "integrity": "sha512-RCEsPjR+sr0x+AuYp601tKTkgFG4YEPLCzHST3cQ/fhlJkqAkz1L2/Qbp1j9qw5SBwQHFBoW8+hoN5xssOF0Tw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/markdown-it" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1", + "entities": "^4.5.0", + "linkify-it": "^5.0.2", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" + }, + "bin": { + "markdown-it": "bin/markdown-it.mjs" + } + }, + "node_modules/markdown-it-front-matter": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/markdown-it-front-matter/-/markdown-it-front-matter-0.2.4.tgz", + "integrity": "sha512-25GUs0yjS2hLl8zAemVndeEzThB1p42yxuDEKbd4JlL3jiz+jsm6e56Ya8B0VREOkNxLYB4TTwaoPJ3ElMmW+w==", + "license": "MIT" + }, + "node_modules/mathjax-full": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/mathjax-full/-/mathjax-full-3.2.2.tgz", + "integrity": "sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==", + "deprecated": "Version 4 replaces this package with the scoped package @mathjax/src", + "license": "Apache-2.0", + "dependencies": { + "esm": "^3.2.25", + "mhchemparser": "^4.1.0", + "mj-context-menu": "^0.6.1", + "speech-rule-engine": "^4.0.6" + } + }, + "node_modules/mdurl": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.1.0.tgz", + "integrity": "sha512-1+HBaOx0zi/dQWht8rNv9MYf9qqpqL/kxI0hXImU6Y547zM6Sni8BQibt7ifgMcYtQg41ao3Ivd6cnSM86inpg==", + "license": "MIT" + }, + "node_modules/mhchemparser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.2.1.tgz", + "integrity": "sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ==", + "license": "Apache-2.0" + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "license": "MIT" + }, + "node_modules/mj-context-menu": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.6.1.tgz", + "integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==", + "license": "Apache-2.0" + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.17", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.17.tgz", + "integrity": "sha512-xQLf0A3HOMlgHq0n247/LRuAOYmB7dXJ/DvAxGvsSBij45XtBSmQycu+F8ODbHwns/XyFZagyL1+J0Offw1E0g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/netmask": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.1.1.tgz", + "integrity": "sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/pac-proxy-agent": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", + "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==", + "license": "MIT", + "dependencies": { + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.6", + "pac-resolver": "^7.0.1", + "socks-proxy-agent": "^8.0.5" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-resolver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", + "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", + "license": "MIT", + "dependencies": { + "degenerator": "^5.0.0", + "netmask": "^2.0.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.25", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.25.tgz", + "integrity": "sha512-DTPx3RWSSnWyzLxQnlH0rJP+EW5ekl16ZU4/psbIhA0e53kJfdgaN5vKM+xP7yJtXVu+nfdVFmlgFDEKAe4Pyw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.16", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-nesting": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-13.0.2.tgz", + "integrity": "sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-resolve-nested": "^3.1.0", + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-selector-parser": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.4.tgz", + "integrity": "sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/proxy-agent": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz", + "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.6", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.1.0", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.5" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/pump": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/puppeteer-core": { + "version": "24.43.1", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.43.1.tgz", + "integrity": "sha512-T5ScUMAsmhdNbgDR41AGESYeS6V9MSgetkSnVhhW+gXvzC42VesKCn5ld87gAZDJ6vLHL9GkRvY9WtQWSnwFbw==", + "license": "Apache-2.0", + "dependencies": { + "@puppeteer/browsers": "2.13.2", + "chromium-bidi": "14.0.0", + "debug": "^4.4.3", + "devtools-protocol": "0.0.1608973", + "typed-query-selector": "^2.12.2", + "webdriver-bidi-protocol": "0.4.1", + "ws": "^8.20.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serve-index": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.2.tgz", + "integrity": "sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.8.0", + "mime-types": "~2.1.35", + "parseurl": "~1.3.3" + }, + "engines": { + "node": ">= 0.8.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.9.tgz", + "integrity": "sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==", + "license": "MIT", + "dependencies": { + "ip-address": "^10.1.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/speech-rule-engine": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.1.4.tgz", + "integrity": "sha512-i/VCLG1fvRc95pMHRqG4aQNscv+9aIsqA2oI7ZQS51sTdUcDHYX6cpT8/tqZ+enjs1tKVwbRBWgxut9SWn+f9g==", + "license": "Apache-2.0", + "dependencies": { + "@xmldom/xmldom": "0.9.10", + "commander": "13.1.0", + "wicked-good-xpath": "1.3.0" + }, + "bin": { + "sre": "bin/sre" + } + }, + "node_modules/speech-rule-engine/node_modules/commander": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/streamx": { + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.28.0.tgz", + "integrity": "sha512-1Yowhzjf0ivGMrTIkY9hav5TxobO9qIVqUE41fiCGMGgc3CLlf4MY+9AHmZqBWgDTue0fY9zWjYFVyf6Diuobw==", + "license": "MIT", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar-fs": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.3.tgz", + "integrity": "sha512-/hU4AXnIdZu+Gvl1pk0oI5f5HxWsCJRtY2aFaJdk9VvyL48DWU6iU5WAIPG+wIi1YvWA6eTJvIviP/tMAZZNwQ==", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^4.0.1", + "bare-path": "^3.0.0" + } + }, + "node_modules/tar-stream": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.2.0.tgz", + "integrity": "sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg==", + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "bare-fs": "^4.5.5", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", + "license": "MIT", + "dependencies": { + "streamx": "^2.12.5" + } + }, + "node_modules/text-decoder": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.7.tgz", + "integrity": "sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } + }, + "node_modules/tmp": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.7.tgz", + "integrity": "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==", + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/typed-query-selector": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.12.2.tgz", + "integrity": "sha512-EOPFbyIub4ngnEdqi2yOcNeDLaX/0jcE1JoAXQDDMIthap7FoN795lc/SHfIq2d416VufXpM8z/lD+WRm2gfOQ==", + "license": "MIT" + }, + "node_modules/uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.3.0.tgz", + "integrity": "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==", + "license": "MIT", + "optional": true + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/webdriver-bidi-protocol": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/webdriver-bidi-protocol/-/webdriver-bidi-protocol-0.4.1.tgz", + "integrity": "sha512-ARrjNjtWRRs2w4Tk7nqrf2gBI0QXWuOmMCx2hU+1jUt6d00MjMxURrhxhGbrsoiZKJrhTSTzbIrc554iKI10qw==", + "license": "Apache-2.0" + }, + "node_modules/wicked-good-xpath": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz", + "integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==", + "license": "MIT" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.21.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.2.tgz", + "integrity": "sha512-54dMVAo4WIe6SKy3vBgN+9bJZqqQ8IMRevAkOLQALhi49qkkQDQfWdAZ8KQlXiEabw88ARXXdUrlvtbKQX+aKw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xss": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.15.tgz", + "integrity": "sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg==", + "license": "MIT", + "dependencies": { + "commander": "^2.20.3", + "cssfilter": "0.0.10" + }, + "bin": { + "xss": "bin/xss" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/xss/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yaml": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", + "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yargs": { + "version": "17.7.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.3.tgz", + "integrity": "sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + } + } +} diff --git a/tools/evolution/package.json b/tools/evolution/package.json new file mode 100644 index 000000000..772feb593 --- /dev/null +++ b/tools/evolution/package.json @@ -0,0 +1,20 @@ +{ + "name": "@fkst/evolution-tools", + "version": "0.1.0", + "private": true, + "type": "module", + "description": "FKST Evolution generator and convergence verifier — fingerprints, manifest assembly, and the section 17.7 convergence decision.", + "engines": { + "node": ">=22.6.0" + }, + "scripts": { + "evolution": "node src/cli.ts", + "test": "node --test test/*.test.ts" + }, + "dependencies": { + "@marp-team/marp-cli": "^4.5.0", + "canonicalize": "^2.1.0", + "picomatch": "^4.0.3", + "yaml": "^2.8.1" + } +} diff --git a/tools/evolution/src/build.ts b/tools/evolution/src/build.ts new file mode 100644 index 000000000..4a6c91c18 --- /dev/null +++ b/tools/evolution/src/build.ts @@ -0,0 +1,252 @@ +// Assemble `manifest.json` from repository state plus the artifact plan. +// +// Ordering note: the manifest's `outputFingerprint` covers a canonical +// projection of the manifest itself, which sounds circular and is not — section +// 17.6 excludes `outputFingerprint` from the projection precisely so the value +// can be computed last and written into an otherwise-complete document. + +import { execFile } from 'node:child_process'; +import { readFile } from 'node:fs/promises'; +import { basename, extname, join } from 'node:path'; +import { promisify } from 'node:util'; +import { requiredClasses, type EvolutionConfig } from './config.ts'; +import { + directoryTreeFingerprint, generatorEnvFingerprint, generatorPinnedFingerprint, + inputFingerprint, outputFingerprint, readManagedOutputs, sourceFingerprints, + type ReleaseAssetRef, +} from './fingerprints.ts'; +import { contentHash } from './hash.ts'; +import { readTree } from './gittree.ts'; +import { log } from './log.ts'; +import { + manifestProjection, MANIFEST_SCHEMA_VERSION, + type ArtifactRecord, type Manifest, type VerificationCheck, +} from './manifest.ts'; +import { isWritableByEvolution } from './selector.ts'; +import type { ArtifactPlan } from './plan.ts'; + +const execFileAsync = promisify(execFile); + +/** Schema versions hashed into `generatorPinnedFingerprint` (section 17.4 order). */ +export const SCHEMA_VERSIONS: [number, number, number, number] = [1, 1, 1, MANIFEST_SCHEMA_VERSION]; + +async function versionOf(cmd: string, args: string[], pick: (out: string) => string): Promise { + try { + const { stdout } = await execFileAsync(cmd, args, { encoding: 'utf8' }); + return pick(stdout); + } catch (error) { + // Provenance-only: a missing renderer must not stop manifest assembly, but + // it must be visible rather than silently recorded as some default version. + log.warn('toolchain version unavailable', { cmd, error: String(error) }); + return 'unavailable'; + } +} + +/** Detect the renderer and media tool versions recorded as provenance (section 17.4). */ +export async function detectToolchain(repoRoot: string): Promise> { + const [ffmpeg, playwright] = await Promise.all([ + versionOf('ffmpeg', ['-version'], (o) => o.split('\n')[0].replace('ffmpeg version ', '').split(' ')[0]), + versionOf('npx', ['--no-install', 'playwright', '--version'], (o) => o.trim().replace('Version ', '')), + ]); + return { + node: process.version, + ffmpeg, + playwright, + slideRenderer: `chromium-pdf via playwright ${playwright}`, + repoRoot: basename(repoRoot), + }; +} + +/** + * Section 24.2 Release tag: `fkst-evolution/`. + * + * Derived, never configured. The full fingerprint stays in the manifest, so the + * shortened tag is not the sole identity. + */ +export function releaseTag(inputFingerprint: string): string { + const hex = inputFingerprint.replace(/^sha256:/, '').slice(0, 16); + if (hex.length !== 16) throw new Error(`input fingerprint too short for a tag: ${inputFingerprint}`); + return `fkst-evolution/${hex}`; +} + +/** Section 24.3 asset name: `.sha256-<16 hex>.`. */ +export function releaseAssetName(baseName: string, hash: string, extension: string): string { + const hex = hash.replace(/^sha256:/, '').slice(0, 16); + if (hex.length !== 16) throw new Error(`content hash too short for an asset name: ${hash}`); + // 16 hex characters (64 bits), not 8: at 32 bits a collision becomes likely + // within tens of thousands of assets, and the collision is unrecoverable by + // design — the name is taken, the bytes differ, and the only remedy the spec + // offers is "flag inconsistency". + return `${baseName}.sha256-${hex}${extension}`; +} + +export interface BuildOptions { + repoRoot: string; + config: EvolutionConfig; + plan: ArtifactPlan; + revision: string; + repository: string; + /** ISO-8601 timestamp recorded on every artifact and on verification. */ + timestamp: string; +} + +/** Build a complete manifest for the given revision. */ +export async function buildManifest(options: BuildOptions): Promise { + const { repoRoot, config, plan, revision, repository, timestamp } = options; + + const source = await sourceFingerprints(repoRoot, config, revision); + const head = source.observedHead; + + const packages = await Promise.all( + plan.generator.packages.map(async (pkg) => ({ + ref: pkg.ref.replace('{commit}', head), + treeFingerprint: await directoryTreeFingerprint(repoRoot, head, pkg.directory), + })) + ); + const pinned = generatorPinnedFingerprint({ + manifestRef: plan.generator.manifestRef.replace('{commit}', head), + packages, + schemaVersions: SCHEMA_VERSIONS, + generatorEpoch: config.generatorEpoch, + }); + const toolchain = await detectToolchain(repoRoot); + const envFingerprint = generatorEnvFingerprint({ + engineVersion: plan.generator.engineVersion, + model: plan.generator.model, + toolchain, + }); + const input = inputFingerprint(source.productRelevant, pinned); + + // Committed artifact bytes come from the Git TREE, not the working directory: + // an uncommitted edit must not be able to produce a manifest that describes + // bytes no reviewer will ever see in the pull request. + const managed = await readManagedOutputs(repoRoot, head); + const managedByPath = new Map(managed.map((e) => [e.path, e])); + + const enabled = new Set(requiredClasses(config)); + const artifacts: ArtifactRecord[] = []; + const assets: ReleaseAssetRef[] = []; + + for (const planned of plan.artifacts) { + // Section 17.7.2 rule 1: a disabled class, or one whose producer role the + // owner declared absent, contributes no REQUIRED entries. The artifact is + // still recorded — with provenance — it is simply not quantified over. + const required = planned.required && enabled.has(planned.kind); + + let hash: string; + let release: ArtifactRecord['release']; + let repositoryPath: string | undefined; + + if (planned.repositoryPath) { + if (!isWritableByEvolution(planned.repositoryPath)) { + // Section 12.1.1 / 25.8: enforced here as well as at merge, because a + // plan is generator input and generator input must not be able to steer + // a write outside the root. + throw new Error(`plan targets a path outside the Evolution write boundary: ${planned.repositoryPath}`); + } + const entry = managedByPath.get(planned.repositoryPath); + if (!entry) { + throw new Error(`planned artifact ${planned.id} is not committed at ${planned.repositoryPath}`); + } + hash = contentHash(entry.content); + repositoryPath = planned.repositoryPath; + } else if (planned.release) { + const bytes = await readFile(join(repoRoot, planned.release.localPath)); + hash = contentHash(bytes); + const asset = releaseAssetName( + planned.release.assetBaseName, hash, extname(planned.release.localPath) + ); + release = { repository: planned.release.repository, tag: releaseTag(input), asset }; + assets.push({ tag: release.tag, asset, contentHash: hash }); + } else { + throw new Error(`planned artifact ${planned.id} has no destination`); + } + + artifacts.push({ + id: planned.id, + kind: planned.kind, + locale: planned.locale, + audience: planned.audience, + capabilities: planned.capabilities, + journeys: planned.journeys, + sourceCommit: head, + inputFingerprint: input, + generatorPinnedFingerprint: pinned, + ...(repositoryPath ? { repositoryPath } : {}), + ...(release ? { release } : {}), + contentHash: hash, + status: planned.status as ArtifactRecord['status'], + required, + verification: planned.verification, + updatedAt: timestamp, + }); + } + + const checks: VerificationCheck[] = plan.verification.map((check) => ({ + id: check.id, + status: check.status, + evidence: check.evidence, + checkRun: { + repository, + headSha: head, + // Null until a control plane publishes the run. Section 17.7.1 makes a + // null id a corroboration failure rather than a pass, which is the honest + // outcome while no control plane exists. + id: null, + name: check.checkRunName, + }, + provenance: check.provenance, + })); + + const manifest: Manifest = { + schemaVersion: MANIFEST_SCHEMA_VERSION, + source: { + repository, + branch: config.source.branch, + observedHead: head, + previousCoveredHead: head, + historyRelation: 'fast-forward', + productRelevantFingerprint: source.productRelevant, + coverageFingerprint: source.coverage, + inputFingerprint: input, + lastFullRebuildFor: null, + }, + artifactRepository: { repository, branch: config.source.branch }, + generator: { + manifestRef: plan.generator.manifestRef.replace('{commit}', head), + packages: packages.map((p) => p.ref), + generatorEpoch: config.generatorEpoch, + pinnedFingerprint: pinned, + provenanceOnly: ['engineVersion', 'model', 'toolchain', 'envFingerprint'], + engineVersion: plan.generator.engineVersion, + model: plan.generator.model, + toolchain, + envFingerprint, + }, + outputFingerprint: '', + verification: { + status: plan.verification.every((c) => c.status === 'passed') ? 'passed' : 'failed', + verifiedAt: timestamp, + checks, + }, + artifacts, + }; + + manifest.outputFingerprint = outputFingerprint(managed, assets, manifestProjection(manifest)); + log.info('manifest assembled', { + artifacts: artifacts.length, + required: artifacts.filter((a) => a.required).length, + input, + output: manifest.outputFingerprint, + }); + return manifest; +} + +/** Freshly hash every managed file at a revision — condition 3's integrity input. */ +export async function presentManagedFiles( + repoRoot: string, + revision: string +): Promise> { + const entries = await readTree(repoRoot, revision, (p) => p.startsWith('.fkst/evolution/')); + return new Map(entries.map((e) => [e.path, contentHash(e.content)])); +} diff --git a/tools/evolution/src/cli.ts b/tools/evolution/src/cli.ts new file mode 100644 index 000000000..620b26c63 --- /dev/null +++ b/tools/evolution/src/cli.ts @@ -0,0 +1,208 @@ +#!/usr/bin/env node +// FKST Evolution CLI — fingerprints, manifest assembly, and the convergence decision. +// +// evolution fingerprint [--rev ] +// evolution build-manifest [--rev ] [--write] +// evolution verify [--rev ] [--github] +// +// All diagnostics go to stderr; stdout carries only the machine-readable result, +// so `evolution verify --rev HEAD | jq .verdict` is a supported usage. + +import { execFile } from 'node:child_process'; +import { writeFile } from 'node:fs/promises'; +import { join } from 'node:path'; +import { promisify } from 'node:util'; +import { buildManifest, presentManagedFiles } from './build.ts'; +import { parseConfig } from './config.ts'; +import { evaluateConvergence } from './converge.ts'; +import { + inputFingerprint, generatorPinnedFingerprint, generatorEnvFingerprint, + outputFingerprint, readManagedOutputs, sourceFingerprints, directoryTreeFingerprint, +} from './fingerprints.ts'; +import { GhCliGitHubPort } from './github.ts'; +import { readTree } from './gittree.ts'; +import { log, setLevel, type Level } from './log.ts'; +import { manifestProjection, parseManifest } from './manifest.ts'; +import { parsePlan } from './plan.ts'; +import { CONFIG_PATH } from './selector.ts'; +import { detectToolchain, SCHEMA_VERSIONS } from './build.ts'; + +const execFileAsync = promisify(execFile); + +interface Args { + command: string; + rev: string; + write: boolean; + github: boolean; +} + +function parseArgs(argv: string[]): Args { + const args: Args = { command: argv[0] ?? 'help', rev: 'HEAD', write: false, github: false }; + for (let i = 1; i < argv.length; i += 1) { + const flag = argv[i]; + if (flag === '--rev') args.rev = argv[++i]; + else if (flag === '--write') args.write = true; + else if (flag === '--github') args.github = true; + else if (flag === '--log-level') setLevel(argv[++i] as Level); + else throw new Error(`unknown argument: ${flag}`); + } + return args; +} + +async function repoRoot(): Promise { + const { stdout } = await execFileAsync('git', ['rev-parse', '--show-toplevel'], { encoding: 'utf8' }); + return stdout.trim(); +} + +/** Read a single file out of the Git tree at a revision. */ +async function readFromTree(root: string, rev: string, path: string): Promise { + const entries = await readTree(root, rev, (p) => p === path); + if (entries.length === 0) throw new Error(`${path} not found at ${rev}`); + return entries[0].content.toString('utf8'); +} + +async function loadContext(root: string, rev: string) { + const config = parseConfig(await readFromTree(root, rev, CONFIG_PATH)); + if (!config.enabled) log.warn('config has enabled: false — Evolution is disabled for this repository'); + const planText = await readFromTree(root, rev, 'tools/evolution/artifact-plan.yaml'); + const plan = parsePlan(planText); + const { stdout } = await execFileAsync( + 'git', ['remote', 'get-url', 'origin'], { cwd: root, encoding: 'utf8' } + ); + const match = /github\.com[:/]([^/]+\/[^/.]+)(\.git)?$/.exec(stdout.trim()); + if (!match) throw new Error(`cannot derive owner/repo from origin: ${stdout.trim()}`); + return { config, plan, repository: match[1] }; +} + +async function cmdFingerprint(root: string, rev: string): Promise { + const { config, plan } = await loadContext(root, rev); + const source = await sourceFingerprints(root, config, rev); + const packages = await Promise.all( + plan.generator.packages.map(async (pkg) => ({ + ref: pkg.ref.replace('{commit}', source.observedHead), + treeFingerprint: await directoryTreeFingerprint(root, source.observedHead, pkg.directory), + })) + ); + const pinned = generatorPinnedFingerprint({ + manifestRef: plan.generator.manifestRef.replace('{commit}', source.observedHead), + packages, + schemaVersions: SCHEMA_VERSIONS, + generatorEpoch: config.generatorEpoch, + }); + const toolchain = await detectToolchain(root); + const managed = await readManagedOutputs(root, source.observedHead); + + process.stdout.write( + `${JSON.stringify( + { + observedHead: source.observedHead, + productRelevantFingerprint: source.productRelevant, + coverageFingerprint: source.coverage, + generatorPinnedFingerprint: pinned, + generatorEnvFingerprint: generatorEnvFingerprint({ + engineVersion: plan.generator.engineVersion, + model: plan.generator.model, + toolchain, + }), + inputFingerprint: inputFingerprint(source.productRelevant, pinned), + productRelevantFileCount: source.productRelevantPaths.length, + coverageFileCount: source.coveragePaths.length, + managedOutputFileCount: managed.length, + }, + null, + 2 + )}\n` + ); +} + +async function cmdBuildManifest(root: string, rev: string, write: boolean): Promise { + const { config, plan, repository } = await loadContext(root, rev); + const manifest = await buildManifest({ + repoRoot: root, + config, + plan, + revision: rev, + repository, + // Fixed rather than "now" when supplied, so a rebuild of the same input is + // byte-identical. Without it, `updatedAt` alone changes the manifest + // projection and therefore the output fingerprint on every run. + timestamp: process.env.FKST_EVOLUTION_TIMESTAMP ?? new Date().toISOString(), + }); + const text = `${JSON.stringify(manifest, null, 2)}\n`; + if (write) { + const target = join(root, '.fkst/evolution/manifest.json'); + await writeFile(target, text, 'utf8'); + log.info('manifest written', { path: target }); + } else { + process.stdout.write(text); + } +} + +async function cmdVerify(root: string, rev: string, useGitHub: boolean): Promise { + // The artifact repository comes from the manifest, not from the local remote: + // condition 6 must ask about the repository the manifest claims, so a wrong + // local remote cannot make a divergent sync PR invisible. + const { config, plan } = await loadContext(root, rev); + const manifest = parseManifest(await readFromTree(root, rev, '.fkst/evolution/manifest.json')); + + const source = await sourceFingerprints(root, config, rev); + const packages = await Promise.all( + plan.generator.packages.map(async (pkg) => ({ + ref: pkg.ref.replace('{commit}', manifest.source.observedHead), + treeFingerprint: await directoryTreeFingerprint(root, manifest.source.observedHead, pkg.directory), + })) + ); + const pinned = generatorPinnedFingerprint({ + manifestRef: plan.generator.manifestRef.replace('{commit}', manifest.source.observedHead), + packages, + schemaVersions: SCHEMA_VERSIONS, + generatorEpoch: config.generatorEpoch, + }); + const currentInput = inputFingerprint(source.productRelevant, pinned); + + // Re-derive the output fingerprint from bytes, never from the manifest field. + const managed = await readManagedOutputs(root, rev); + const assets = manifest.artifacts + .filter((a) => a.release) + .map((a) => ({ tag: a.release!.tag, asset: a.release!.asset, contentHash: a.contentHash })); + const currentOutput = outputFingerprint(managed, assets, manifestProjection(manifest)); + + const report = await evaluateConvergence({ + repoRoot: root, + config, + manifest, + currentInputFingerprint: currentInput, + currentOutputFingerprint: currentOutput, + observedHead: source.observedHead, + presentFiles: await presentManagedFiles(root, rev), + github: useGitHub ? new GhCliGitHubPort() : undefined, + }); + + process.stdout.write(`${JSON.stringify(report, null, 2)}\n`); + // A non-zero exit for anything short of full convergence: this command is + // meant to be usable as a gate, and "pending" is not "passed". + if (report.verdict !== 'CONVERGED') process.exitCode = report.verdict === 'NOT_CONVERGED' ? 1 : 2; +} + +async function main(): Promise { + const args = parseArgs(process.argv.slice(2)); + const root = await repoRoot(); + switch (args.command) { + case 'fingerprint': + return cmdFingerprint(root, args.rev); + case 'build-manifest': + return cmdBuildManifest(root, args.rev, args.write); + case 'verify': + return cmdVerify(root, args.rev, args.github); + default: + process.stdout.write( + 'usage: evolution [--rev ] [--write] [--github]\n' + ); + process.exitCode = args.command === 'help' ? 0 : 1; + } +} + +main().catch((error) => { + log.error('command failed', { error: error instanceof Error ? error.message : String(error) }); + process.exitCode = 1; +}); diff --git a/tools/evolution/src/config.ts b/tools/evolution/src/config.ts new file mode 100644 index 000000000..a26ff6a69 --- /dev/null +++ b/tools/evolution/src/config.ts @@ -0,0 +1,265 @@ +// Parse and validate `.fkst/evolution/config.yaml` (spec sections 13.2, 13.3). +// +// Every check here fails CLOSED. Section 13.3.1 is emphatic that this validation +// is an input check and not a control: the write boundary of section 12.1.1 is +// enforced separately, at every write, precisely because `config.yaml` is +// repository content and a boundary defined by the thing it is supposed to +// bound is no boundary at all. + +import { parse } from 'yaml'; +import { log } from './log.ts'; +import type { PathSelector } from './selector.ts'; + +export const SUPPORTED_SCHEMA_VERSION = 1; + +/** Managed output classes and their schema-fixed subtrees (section 13.2). */ +export const MANAGED_OUTPUT_SUBTREES = { + documentation: 'docs/', + skills: 'skills/', + journeys: 'journeys/', + screenshots: 'screenshots/', + slides: 'slides/', + video: null, // rendered binary — a Release asset, not a subtree (section 24.1) +} as const; + +export type ManagedOutputClass = keyof typeof MANAGED_OUTPUT_SUBTREES; + +/** + * Which package role (section 28.1) produces each class. + * + * Section 17.7.2 rule 1 makes this mapping load-bearing: a class whose producer + * role the owner declared absent contributes NO required artifacts, so the + * verifier must not report it missing. The mapping names the role that produces + * the class's committed bytes — for `slides` that is the narrative producer, + * whose Markdown source is the artifact; the renderer's PDF is a derived + * companion recorded as `required: false`. + */ +export const PRODUCER_ROLE_BY_CLASS: Record = { + documentation: 'documentation-maintainer', + skills: 'skill-builder', + journeys: 'demo-producer', + screenshots: 'demo-producer', + slides: 'narrative-producer', + video: 'artifact-renderer', +}; + +export interface EvolutionConfig { + schemaVersion: number; + enabled: boolean; + source: { branch: string; productRelevant: PathSelector; coverage: PathSelector }; + artifactRepository: string; + intent: { product: string; overrides: string }; + managedOutputs: Record; + absentProducerRoles: string[]; + locales: string[]; + triggers: Record; + publication: { + mode: string; + requireCurrentSource: boolean; + requireChecks: boolean; + allowDirectPush: boolean; + [k: string]: unknown; + }; + drift: { policy: string }; + generatorEpoch: number; + retention: Record; + security: { + runPullRequestCode: boolean; + allowProductionData: boolean; + allowProductionCredentials: boolean; + }; +} + +export class ConfigError extends Error {} + +function requireObject(value: unknown, field: string): Record { + if (typeof value !== 'object' || value === null || Array.isArray(value)) { + throw new ConfigError(`${field} must be a mapping`); + } + return value as Record; +} + +function requireStringArray(value: unknown, field: string): string[] { + if (!Array.isArray(value) || value.some((v) => typeof v !== 'string')) { + throw new ConfigError(`${field} must be a list of strings`); + } + return value as string[]; +} + +function rejectUnknownKeys(obj: Record, allowed: string[], field: string): void { + const unknown = Object.keys(obj).filter((k) => !allowed.includes(k)); + if (unknown.length > 0) { + // Section 13.3: silent acceptance would let MISSPELLED SAFETY POLICY appear + // active — `allowProductionDat: false` would read as a policy that is in + // fact absent, and the default would silently apply instead. + throw new ConfigError(`${field} has unknown field(s): ${unknown.join(', ')}`); + } +} + +/** + * Section 13.3: an include entry may not EXPLICITLY name a reserved prefix, but + * a general wildcard is fine and is simply narrowed by section 17.3. + * + * The test is whether the pattern mentions the prefix literally at all. That + * catches both `.fkst/evolution/docs/**` and `**​/.fkst/evolution/**`, while a + * bare `**` passes — which is exactly the line section 13.3 draws. + */ +function assertNoReservedInclude(selector: PathSelector, field: string): void { + for (const pattern of selector.include) { + for (const reserved of ['.fkst/evolution', '.fkst/packages']) { + if (pattern.includes(reserved)) { + throw new ConfigError( + `${field}.include may not explicitly name ${reserved} (pattern: ${pattern})` + ); + } + } + } +} + +function parseSelector(value: unknown, field: string): PathSelector { + const obj = requireObject(value, field); + rejectUnknownKeys(obj, ['include', 'exclude'], field); + const include = requireStringArray(obj.include, `${field}.include`); + const exclude = obj.exclude === undefined ? [] : requireStringArray(obj.exclude, `${field}.exclude`); + return { include, exclude }; +} + +function parseManagedOutputs(value: unknown): EvolutionConfig['managedOutputs'] { + const obj = requireObject(value, 'managedOutputs'); + const classes = Object.keys(MANAGED_OUTPUT_SUBTREES) as ManagedOutputClass[]; + rejectUnknownKeys(obj, classes, 'managedOutputs'); + + const result = {} as EvolutionConfig['managedOutputs']; + for (const cls of classes) { + const entry = obj[cls] === undefined ? { enabled: false } : requireObject(obj[cls], `managedOutputs.${cls}`); + // Section 13.3: "a managedOutputs entry carries a path, directory, or + // destination field" is a hard failure — destinations are fixed by schema so + // that configuration can enable or disable a class but never relocate it. + rejectUnknownKeys(entry, cls === 'video' ? ['enabled', 'storage'] : ['enabled'], `managedOutputs.${cls}`); + if (typeof entry.enabled !== 'boolean') { + throw new ConfigError(`managedOutputs.${cls}.enabled must be a boolean`); + } + if (cls === 'video' && entry.enabled) { + if (entry.storage !== 'github-release') { + // Section 13.3: "a requested storage mode is not GitHub-native". + throw new ConfigError(`managedOutputs.video.storage must be "github-release"`); + } + } + result[cls] = { enabled: entry.enabled, storage: entry.storage as string | undefined }; + } + return result; +} + +/** Parse and fully validate a config document. Throws `ConfigError` on any violation. */ +export function parseConfig(yamlText: string): EvolutionConfig { + const raw = requireObject(parse(yamlText), 'config.yaml'); + rejectUnknownKeys( + raw, + [ + 'schemaVersion', 'enabled', 'source', 'artifactRepository', 'intent', 'managedOutputs', + 'absentProducerRoles', 'locales', 'triggers', 'publication', 'drift', 'generatorEpoch', + 'retention', 'security', + ], + 'config.yaml' + ); + + if (raw.schemaVersion !== SUPPORTED_SCHEMA_VERSION) { + throw new ConfigError( + `unsupported schemaVersion ${String(raw.schemaVersion)} (supported: ${SUPPORTED_SCHEMA_VERSION})` + ); + } + + const source = requireObject(raw.source, 'source'); + rejectUnknownKeys(source, ['branch', 'productRelevant', 'coverage'], 'source'); + if (typeof source.branch !== 'string' || source.branch.length === 0) { + throw new ConfigError('source.branch must be a non-empty string'); + } + + // Section 13.3: an absent or empty product-relevant set silently disables all + // cycle admission, so it is rejected rather than defaulted. Section 13.2 and + // open question 40.16 are explicit that NO default ships. + if (source.productRelevant === undefined) { + throw new ConfigError('source.productRelevant is required — no default set exists (section 13.2)'); + } + const productRelevant = parseSelector(source.productRelevant, 'source.productRelevant'); + if (productRelevant.include.length === 0) { + throw new ConfigError('source.productRelevant.include must not be empty'); + } + const coverage = parseSelector(source.coverage, 'source.coverage'); + assertNoReservedInclude(productRelevant, 'source.productRelevant'); + assertNoReservedInclude(coverage, 'source.coverage'); + + const publication = requireObject(raw.publication, 'publication'); + if (publication.allowDirectPush !== false) { + // Section 13.3 + invariant 41.6: Evolution never pushes the trusted branch. + throw new ConfigError('publication.allowDirectPush must be false (section 21.6)'); + } + if (publication.requireChecks !== true) { + throw new ConfigError('publication.requireChecks must be true — a merge policy that cannot honor required checks is rejected'); + } + const modes = ['disabled', 'observe', 'propose', 'automerge-managed', 'release-gated']; + if (typeof publication.mode !== 'string' || !modes.includes(publication.mode)) { + throw new ConfigError(`publication.mode must be one of: ${modes.join(', ')}`); + } + + const security = requireObject(raw.security, 'security'); + rejectUnknownKeys(security, ['runPullRequestCode', 'allowProductionData', 'allowProductionCredentials'], 'security'); + if (security.runPullRequestCode !== false) { + // Section 13.3: "security policy requests privileged execution of an + // untrusted PR head". Section 19.2 makes PR processing read-only. + throw new ConfigError('security.runPullRequestCode must be false (section 19.2)'); + } + if (security.allowProductionData !== false || security.allowProductionCredentials !== false) { + throw new ConfigError('security.allowProductionData and allowProductionCredentials must be false (sections 25.6, 25.7)'); + } + + const drift = requireObject(raw.drift, 'drift'); + if (!['block', 'repair', 'adopt'].includes(String(drift.policy))) { + throw new ConfigError('drift.policy must be one of: block, repair, adopt'); + } + + if (typeof raw.generatorEpoch !== 'number' || !Number.isSafeInteger(raw.generatorEpoch)) { + throw new ConfigError('generatorEpoch must be an integer'); + } + if (typeof raw.artifactRepository !== 'string' || raw.artifactRepository.length === 0) { + throw new ConfigError('artifactRepository must be a non-empty string'); + } + + const intent = requireObject(raw.intent, 'intent'); + rejectUnknownKeys(intent, ['product', 'overrides'], 'intent'); + + const config: EvolutionConfig = { + schemaVersion: raw.schemaVersion, + enabled: raw.enabled !== false, + source: { branch: source.branch, productRelevant, coverage }, + artifactRepository: raw.artifactRepository, + intent: { product: String(intent.product), overrides: String(intent.overrides) }, + managedOutputs: parseManagedOutputs(raw.managedOutputs), + absentProducerRoles: + raw.absentProducerRoles === undefined + ? [] + : requireStringArray(raw.absentProducerRoles, 'absentProducerRoles'), + locales: requireStringArray(raw.locales ?? ['en'], 'locales'), + triggers: requireObject(raw.triggers ?? {}, 'triggers'), + publication: publication as EvolutionConfig['publication'], + drift: { policy: String(drift.policy) }, + generatorEpoch: raw.generatorEpoch, + retention: requireObject(raw.retention ?? {}, 'retention'), + security: security as unknown as EvolutionConfig['security'], + }; + + log.debug('config validated', { + branch: config.source.branch, + mode: config.publication.mode, + epoch: config.generatorEpoch, + }); + return config; +} + +/** Classes that contribute required artifacts (section 17.7.2 rules 1). */ +export function requiredClasses(config: EvolutionConfig): ManagedOutputClass[] { + return (Object.keys(config.managedOutputs) as ManagedOutputClass[]).filter((cls) => { + if (!config.managedOutputs[cls].enabled) return false; + return !config.absentProducerRoles.includes(PRODUCER_ROLE_BY_CLASS[cls]); + }); +} diff --git a/tools/evolution/src/converge.ts b/tools/evolution/src/converge.ts new file mode 100644 index 000000000..4e8f437c6 --- /dev/null +++ b/tools/evolution/src/converge.ts @@ -0,0 +1,279 @@ +// The section 17.7 convergence decision. +// +// Two rules from the spec shape this module: +// +// 1. "Conditions 3 and 4 MUST be evaluated by re-deriving from repository and +// GitHub state, never by reading a status field out of the manifest alone." +// So condition 3 re-hashes bytes and condition 4 re-fetches a check run; +// neither trusts `status` or `verification` strings. +// +// 2. Section 27.5: uncertainty MUST be represented explicitly. A condition that +// needs GitHub state the caller did not supply reports `not-evaluable` and +// downgrades the verdict. It never quietly counts as a pass — that is how a +// verifier starts lying. + +import { changedPaths } from './gittree.ts'; +import { contentHash } from './hash.ts'; +import { log } from './log.ts'; +import { productRelevantMatcher } from './selector.ts'; +import { requiredArtifacts, type Manifest } from './manifest.ts'; +import type { EvolutionConfig } from './config.ts'; + +export type ConditionOutcome = 'pass' | 'fail' | 'not-evaluable'; + +export interface ConditionResult { + id: number; + name: string; + outcome: ConditionOutcome; + detail: string; +} + +export type Verdict = 'CONVERGED' | 'CONVERGED_PENDING_CONTROL_PLANE' | 'NOT_CONVERGED'; + +export interface ConvergenceReport { + verdict: Verdict; + conditions: ConditionResult[]; +} + +/** + * The GitHub reads conditions 3, 4 and 6 need. + * + * An interface rather than a direct `gh` call so the decision logic can be + * exercised without a network or a repository — and so a future control-plane + * implementation can supply its own installation-token client without touching + * this file. + */ +export interface GitHubPort { + /** Raw bytes of a Release asset, or null when the tag or asset is absent. */ + fetchReleaseAsset(repository: string, tag: string, asset: string): Promise; + /** A check run by id, or null when it no longer exists. */ + getCheckRun( + repository: string, + id: number + ): Promise<{ appId: number | null; conclusion: string | null; outputText: string } | null>; + /** Input fingerprints advertised by open canonical sync PRs. */ + openSyncPullRequestInputs(repository: string): Promise; + /** The App id that is allowed to publish verification check runs. */ + configuredAppId(): Promise; +} + +export interface ConvergenceInputs { + repoRoot: string; + config: EvolutionConfig; + manifest: Manifest; + /** Freshly computed, never read from the manifest. */ + currentInputFingerprint: string; + currentOutputFingerprint: string; + observedHead: string; + /** Path → freshly computed content hash, for every managed file present now. */ + presentFiles: Map; + github?: GitHubPort; +} + +function result(id: number, name: string, outcome: ConditionOutcome, detail: string): ConditionResult { + return { id, name, outcome, detail }; +} + +/** Condition 1: current input fingerprint equals the committed manifest's. */ +function condition1(inputs: ConvergenceInputs): ConditionResult { + const expected = inputs.manifest.source.inputFingerprint; + const actual = inputs.currentInputFingerprint; + return actual === expected + ? result(1, 'input fingerprint matches manifest', 'pass', actual) + : result(1, 'input fingerprint matches manifest', 'fail', `expected ${expected}, computed ${actual}`); +} + +/** Condition 2: current output fingerprint equals the committed manifest's. */ +function condition2(inputs: ConvergenceInputs): ConditionResult { + const expected = inputs.manifest.outputFingerprint; + const actual = inputs.currentOutputFingerprint; + return actual === expected + ? result(2, 'output fingerprint matches manifest', 'pass', actual) + : result(2, 'output fingerprint matches manifest', 'fail', `expected ${expected}, computed ${actual}`); +} + +/** + * Condition 3: presence AND integrity of every required artifact. + * + * The two halves are reported separately because section 17.7 gives them + * different outcomes: an integrity mismatch is managed-output drift and resolves + * as `block` regardless of drift policy, while a presence failure is an ordinary + * non-converged outcome that simply admits a cycle. Collapsing them would force + * a repository that has merely never rendered a video into an integrity-failure + * branch its drift policy cannot reach. + */ +async function condition3(inputs: ConvergenceInputs): Promise { + const required = requiredArtifacts(inputs.manifest); + const missing: string[] = []; + const corrupt: string[] = []; + const unevaluable: string[] = []; + + for (const artifact of required) { + if (artifact.repositoryPath) { + const actual = inputs.presentFiles.get(artifact.repositoryPath); + if (actual === undefined) { + missing.push(artifact.repositoryPath); + } else if (actual !== artifact.contentHash) { + corrupt.push(`${artifact.repositoryPath} (expected ${artifact.contentHash}, found ${actual})`); + } + continue; + } + if (artifact.release) { + if (!inputs.github) { + unevaluable.push(`${artifact.id} (Release asset needs GitHub)`); + continue; + } + const bytes = await inputs.github.fetchReleaseAsset( + artifact.release.repository, + artifact.release.tag, + artifact.release.asset + ); + // Section 16.2: `assetUrl` is a convenience and NOT authoritative — the + // asset is re-derived from repository + tag + asset name and re-hashed, so + // a stale or rewritten URL cannot make a missing artifact look present. + if (!bytes) { + missing.push(`${artifact.release.tag}/${artifact.release.asset}`); + } else if (contentHash(bytes) !== artifact.contentHash) { + corrupt.push(`${artifact.release.asset} (Release asset bytes differ from recorded hash)`); + } + continue; + } + missing.push(`${artifact.id} (no repositoryPath and no release reference)`); + } + + const presence = + missing.length === 0 + ? result(3, 'required artifacts present', unevaluable.length ? 'not-evaluable' : 'pass', + unevaluable.length ? `unresolved: ${unevaluable.join(', ')}` : `${required.length} required artifact(s)`) + : result(3, 'required artifacts present', 'fail', `absent: ${missing.join(', ')}`); + + const integrity = + corrupt.length === 0 + ? result(3, 'required artifact integrity', unevaluable.length ? 'not-evaluable' : 'pass', 'content hashes match') + : result(3, 'required artifact integrity', 'fail', `drift (blocks regardless of policy): ${corrupt.join(', ')}`); + + return [presence, integrity]; +} + +/** Condition 4: every required verification corroborated per section 17.7.1. */ +async function condition4(inputs: ConvergenceInputs): Promise { + const checks = inputs.manifest.verification.checks; + if (checks.length === 0) { + return result(4, 'verification corroborated', 'fail', 'manifest records no verification checks'); + } + if (!inputs.github) { + return result( + 4, 'verification corroborated', 'not-evaluable', + 'check-run corroboration requires GitHub; a manifest status string is explicitly not evidence' + ); + } + const appId = await inputs.github.configuredAppId(); + const problems: string[] = []; + for (const check of checks) { + if (check.checkRun.id === null) { + problems.push(`${check.id}: no check run published (control plane not deployed)`); + continue; + } + const run = await inputs.github.getCheckRun(check.checkRun.repository, check.checkRun.id); + if (!run) { + problems.push(`${check.id}: check run ${check.checkRun.id} no longer retrievable`); + continue; + } + if (appId !== null && run.appId !== appId) { + problems.push(`${check.id}: published by app ${run.appId}, not the configured App ${appId}`); + continue; + } + if (run.conclusion !== 'success') { + problems.push(`${check.id}: conclusion is ${run.conclusion}`); + continue; + } + if (!run.outputText.includes(inputs.manifest.source.inputFingerprint)) { + problems.push(`${check.id}: check-run output does not record the manifest input fingerprint`); + } + } + return problems.length === 0 + ? result(4, 'verification corroborated', 'pass', `${checks.length} check run(s) corroborated`) + : result(4, 'verification corroborated', 'not-evaluable', problems.join('; ')); +} + +/** + * Condition 5: no newer product-relevant change remains uncovered. + * + * uncovered = (previousCoveredHead != observedHead) + * AND treeDiff(previousCoveredHead, observedHead) + * intersects source.productRelevant + * + * Deliberately one comparison rather than a per-commit walk. It is also + * deliberately product-relevant, not authoritative: under the section 17.5 split + * `coverageState` advances only when a cycle merges, so `previousCoveredHead` + * legitimately lags after any test-only or CI-only commit. Testing against all + * authoritative input would make every such commit a convergence failure and + * reproduce the behaviour the split exists to remove. + */ +async function condition5(inputs: ConvergenceInputs): Promise { + const previous = inputs.manifest.source.previousCoveredHead; + if (!previous) { + return result(5, 'no uncovered product-relevant change', 'pass', 'no previous covered head — baseline'); + } + if (previous === inputs.observedHead) { + return result(5, 'no uncovered product-relevant change', 'pass', 'covered head equals observed head'); + } + let changed: string[]; + try { + changed = await changedPaths(inputs.repoRoot, previous, inputs.observedHead); + } catch (error) { + // Section 17.7: when the compare response is truncated (or here, when the + // base commit is unreachable) treat condition 5 as failed rather than guessing. + return result(5, 'no uncovered product-relevant change', 'fail', `cannot compare: ${String(error)}`); + } + const inProduct = productRelevantMatcher(inputs.config.source.productRelevant); + const intersecting = changed.filter(inProduct); + return intersecting.length === 0 + ? result(5, 'no uncovered product-relevant change', 'pass', + `${changed.length} changed path(s), none product-relevant (coverage lag is not a failure)`) + : result(5, 'no uncovered product-relevant change', 'fail', + `uncovered product-relevant paths: ${intersecting.slice(0, 5).join(', ')}`); +} + +/** Condition 6: no open canonical sync PR represents a different current input. */ +async function condition6(inputs: ConvergenceInputs): Promise { + if (!inputs.github) { + return result(6, 'no divergent open sync PR', 'not-evaluable', 'requires GitHub pull request state'); + } + const repository = inputs.manifest.artifactRepository.repository; + const open = await inputs.github.openSyncPullRequestInputs(repository); + const divergent = open.filter((fp) => fp !== inputs.currentInputFingerprint); + return divergent.length === 0 + ? result(6, 'no divergent open sync PR', 'pass', `${open.length} open sync PR(s)`) + : result(6, 'no divergent open sync PR', 'fail', `open sync PR at input ${divergent[0]}`); +} + +/** Evaluate all six conditions and reduce them to one verdict. */ +export async function evaluateConvergence(inputs: ConvergenceInputs): Promise { + const conditions: ConditionResult[] = [ + condition1(inputs), + condition2(inputs), + ...(await condition3(inputs)), + await condition4(inputs), + await condition5(inputs), + await condition6(inputs), + ]; + + const failed = conditions.filter((c) => c.outcome === 'fail'); + const pending = conditions.filter((c) => c.outcome === 'not-evaluable'); + + // A not-evaluable condition can never be reported as CONVERGED: section 17.7 + // says the repository is converged "only when ALL of the following hold", and + // an unevaluated condition does not hold — it is unknown. + const verdict: Verdict = + failed.length > 0 ? 'NOT_CONVERGED' + : pending.length > 0 ? 'CONVERGED_PENDING_CONTROL_PLANE' + : 'CONVERGED'; + + log.info('convergence evaluated', { + verdict, + failed: failed.length, + pending: pending.length, + }); + return { verdict, conditions }; +} diff --git a/tools/evolution/src/fingerprints.ts b/tools/evolution/src/fingerprints.ts new file mode 100644 index 000000000..7c12a478f --- /dev/null +++ b/tools/evolution/src/fingerprints.ts @@ -0,0 +1,201 @@ +// The six fingerprints of spec section 17.1. +// +// productRelevant §17.3 cycle admission, merge staleness +// coverage §17.3 provenance only +// generatorPinned §17.4 cycle admission +// generatorEnv §17.4 provenance only +// input §17.5 convergence condition 1 +// output §17.6 convergence condition 2 +// +// WHY the split matters here and not only in the spec: an earlier draft used one +// input fingerprint over `include: ["**"]`, which made "any byte changed" the +// admission rule while section 21.4 simultaneously required "source has not +// moved" to merge. On an active repository those never both hold. Keeping the +// two families genuinely separate in code is what stops that from creeping back. + +import { readTree, resolveRevision } from './gittree.ts'; +import { + contentHash, domainConcat, formatDigest, namedLeaf, treeFingerprint, type FileEntry, +} from './hash.ts'; +import { log } from './log.ts'; +import { coverageMatcher, managedOutputMatcher, productRelevantMatcher } from './selector.ts'; +import type { EvolutionConfig } from './config.ts'; + +export const DOMAIN_GENPIN = 'fkst-evolution-genpin-v1'; +export const DOMAIN_INPUT = 'fkst-evolution-input-v2'; +export const DOMAIN_OUTPUT = 'fkst-evolution-output-v1'; +export const DOMAIN_GENENV = 'fkst-evolution-genenv-v1'; + +/** A package reference resolved to an immutable commit (section 28.4). */ +export interface ResolvedPackageRef { + /** `owner/repo@:path` — never a symbolic branch or tag. */ + ref: string; + /** Tree fingerprint of that package directory at the resolved commit. */ + treeFingerprint: string; +} + +export interface GeneratorPinnedInputs { + manifestRef: string; + packages: ResolvedPackageRef[]; + /** capabilities, journeys, changes, manifest — in that order (section 17.4). */ + schemaVersions: [number, number, number, number]; + generatorEpoch: number; +} + +/** Deployment facts the repository does not control — provenance only (section 17.4). */ +export interface GeneratorEnvInputs { + engineVersion: string; + model: string; + toolchain: Record; +} + +function digestOf(prefixed: string): Buffer { + const [scheme, hex] = prefixed.split(':'); + if (scheme !== 'sha256' || !/^[0-9a-f]{64}$/.test(hex ?? '')) { + throw new Error(`expected a sha256: digest, got ${JSON.stringify(prefixed)}`); + } + return Buffer.from(hex, 'hex'); +} + +/** + * `generatorPinnedFingerprint` (section 17.4). + * + * Leaf ORDER is fixed by the spec and reproduced literally: `manifestRef`, then + * every `package[i]` sorted by full ref string, then every `packageTree[i]` in + * that same order, then `schemaVersions`, then `generatorEpoch`. The two package + * loops are separate rather than interleaved because that is how section 17.4 + * lays them out. + */ +export function generatorPinnedFingerprint(inputs: GeneratorPinnedInputs): string { + const sorted = [...inputs.packages].sort((a, b) => (a.ref < b.ref ? -1 : a.ref > b.ref ? 1 : 0)); + const leaves = [namedLeaf('manifestRef', inputs.manifestRef)]; + sorted.forEach((pkg, i) => leaves.push(namedLeaf(`package[${i}]`, pkg.ref))); + sorted.forEach((pkg, i) => leaves.push(namedLeaf(`packageTree[${i}]`, pkg.treeFingerprint))); + leaves.push(namedLeaf('schemaVersions', inputs.schemaVersions.map(String).join(','))); + // Decimal, no padding — section 17.4 pins the serialization because "1" and + // "01" would otherwise be different generators. + leaves.push(namedLeaf('generatorEpoch', String(inputs.generatorEpoch))); + return formatDigest(domainConcat(DOMAIN_GENPIN, leaves)); +} + +/** `generatorEnvFingerprint` (section 17.4) — recorded, never a convergence input. */ +export function generatorEnvFingerprint(inputs: GeneratorEnvInputs): string { + const leaves = [ + namedLeaf('engineVersion', inputs.engineVersion), + namedLeaf('model', inputs.model), + ]; + for (const key of Object.keys(inputs.toolchain).sort()) { + leaves.push(namedLeaf(`toolchain.${key}`, inputs.toolchain[key])); + } + return formatDigest(domainConcat(DOMAIN_GENENV, leaves)); +} + +/** `inputFingerprint` (section 17.5). */ +export function inputFingerprint(productRelevant: string, generatorPinned: string): string { + return formatDigest( + domainConcat(DOMAIN_INPUT, [digestOf(productRelevant), digestOf(generatorPinned)]) + ); +} + +/** Content hashes of Release assets the manifest references (section 17.6). */ +export interface ReleaseAssetRef { + tag: string; + asset: string; + contentHash: string; +} + +/** + * `outputFingerprint` (section 17.6): the managed file tree, plus referenced + * Release asset hashes, plus a canonical projection of the manifest. + * + * Section 17.6 states the three components but not their serialization, and + * section 17.5 requires that the exact serialization be documented and covered + * by test vectors. This is it — a domain-tagged concatenation of three named + * leaves, with assets sorted by `/` so upload order cannot change + * the fingerprint. + * + * The manifest projection is REQUIRED, not optional. Under the previous MAY, + * `verification` and `artifacts` sat outside the hash while conditions 3 and 4 + * read presence and verification status out of them — so editing those strings + * changed the answer to "is this converged?" without changing any fingerprint. + */ +export function outputFingerprint( + managedFiles: FileEntry[], + assets: ReleaseAssetRef[], + manifestProjectionJcs: string +): string { + const assetLine = [...assets] + .map((a) => `${a.tag}/${a.asset}=${a.contentHash}`) + .sort() + .join('\n'); + const leaves = [ + namedLeaf('outputTree', formatDigest(treeFingerprint(managedFiles))), + namedLeaf('releaseAssets', assetLine), + namedLeaf('manifestProjection', manifestProjectionJcs), + ]; + return formatDigest(domainConcat(DOMAIN_OUTPUT, leaves)); +} + +export interface SourceFingerprints { + observedHead: string; + productRelevant: string; + coverage: string; + productRelevantPaths: string[]; + coveragePaths: string[]; +} + +/** Compute both source-tree fingerprints at one revision (section 17.3). */ +export async function sourceFingerprints( + repoRoot: string, + config: EvolutionConfig, + revision: string +): Promise { + const observedHead = await resolveRevision(repoRoot, revision); + const inProduct = productRelevantMatcher(config.source.productRelevant); + const inCoverage = coverageMatcher(config.source.coverage); + + // One tree read serving both selectors: two reads would double the cost of + // every reconcile for no benefit. + const entries = await readTree(repoRoot, observedHead, (p) => inProduct(p) || inCoverage(p)); + const productEntries = entries.filter((e) => inProduct(e.path)); + const coverageEntries = entries.filter((e) => inCoverage(e.path)); + + log.info('source fingerprints computed', { + head: observedHead.slice(0, 12), + productRelevantFiles: productEntries.length, + coverageFiles: coverageEntries.length, + }); + + return { + observedHead, + productRelevant: formatDigest(treeFingerprint(productEntries)), + coverage: formatDigest(treeFingerprint(coverageEntries)), + productRelevantPaths: productEntries.map((e) => e.path).sort(), + coveragePaths: coverageEntries.map((e) => e.path).sort(), + }; +} + +/** Read the managed-output file set that section 17.6 hashes. */ +export async function readManagedOutputs( + repoRoot: string, + revision: string +): Promise { + const keep = managedOutputMatcher(); + return readTree(repoRoot, revision, keep); +} + +/** Tree fingerprint of one directory at a revision — used for `packageTree[i]`. */ +export async function directoryTreeFingerprint( + repoRoot: string, + revision: string, + directory: string +): Promise { + const prefix = directory.endsWith('/') ? directory : `${directory}/`; + const entries = await readTree(repoRoot, revision, (p) => p.startsWith(prefix)); + if (entries.length === 0) { + throw new Error(`no files under ${prefix} at ${revision} — cannot pin an empty generator`); + } + return formatDigest(treeFingerprint(entries)); +} + +export { contentHash }; diff --git a/tools/evolution/src/github.ts b/tools/evolution/src/github.ts new file mode 100644 index 000000000..40619fc1d --- /dev/null +++ b/tools/evolution/src/github.ts @@ -0,0 +1,119 @@ +// A `GitHubPort` backed by the `gh` CLI. +// +// WHY `gh` and not a raw HTTP client with a token: CLAUDE.md mandates that all +// GitHub operations go through `git` and the `gh` CLI, and `gh` already holds +// the operator's authenticated identity. Nothing in this module ever reads, +// stores, or logs a token. +// +// This is the local-operator implementation. The control plane will supply its +// own `GitHubPort` driven by an installation token with the section 25.5 +// permission split; the convergence logic is unchanged by that swap, which is +// the point of the interface. + +import { execFile } from 'node:child_process'; +import { promisify } from 'node:util'; +import { log } from './log.ts'; +import type { GitHubPort } from './converge.ts'; + +const execFileAsync = promisify(execFile); + +/** Appendix A.3 sync-PR marker. */ +const PR_MARKER = //; + +async function gh(args: string[], encoding: 'utf8' | 'buffer' = 'utf8'): Promise { + log.debug('gh', { args: args.join(' ') }); + const { stdout } = await execFileAsync('gh', args, { + encoding: encoding === 'buffer' ? 'buffer' : 'utf8', + // Release assets and check-run payloads can be large; the default 1 MiB + // buffer would truncate an MP4 into a wrong-but-plausible hash. + maxBuffer: 256 * 1024 * 1024, + }); + return stdout as string | Buffer; +} + +export class GhCliGitHubPort implements GitHubPort { + async fetchReleaseAsset(repository: string, tag: string, asset: string): Promise { + let apiUrl: string; + try { + const out = (await gh([ + 'release', 'view', tag, '--repo', repository, '--json', 'assets', + '--jq', `.assets[] | select(.name == "${asset}") | .apiUrl`, + ])) as string; + apiUrl = out.trim(); + } catch (error) { + log.warn('release not retrievable', { repository, tag, error: String(error) }); + return null; + } + if (!apiUrl) { + log.warn('release asset not found', { repository, tag, asset }); + return null; + } + const bytes = (await gh( + ['api', apiUrl, '-H', 'Accept: application/octet-stream'], + 'buffer' + )) as Buffer; + return bytes; + } + + async getCheckRun( + repository: string, + id: number + ): Promise<{ appId: number | null; conclusion: string | null; outputText: string } | null> { + try { + const out = (await gh(['api', `repos/${repository}/check-runs/${id}`])) as string; + const run = JSON.parse(out) as { + app?: { id?: number }; + conclusion?: string | null; + output?: { title?: string; summary?: string; text?: string }; + }; + const output = run.output ?? {}; + return { + appId: run.app?.id ?? null, + conclusion: run.conclusion ?? null, + // All three output fields are concatenated because section 17.7.1 only + // requires that the run "records an input fingerprint", without pinning + // which field carries it. + outputText: [output.title, output.summary, output.text].filter(Boolean).join('\n'), + }; + } catch (error) { + log.warn('check run not retrievable', { repository, id, error: String(error) }); + return null; + } + } + + async openSyncPullRequestInputs(repository: string): Promise { + const out = (await gh([ + 'pr', 'list', '--repo', repository, '--state', 'open', '--limit', '100', '--json', 'body,number', + ])) as string; + const prs = JSON.parse(out) as { body: string | null; number: number }[]; + const inputs: string[] = []; + for (const pr of prs) { + const match = PR_MARKER.exec(pr.body ?? ''); + if (!match) continue; + try { + const marker = JSON.parse(match[1]) as { input?: string }; + // Appendix A: marker text alone never grants authority. It is used here + // only to answer "does an open sync PR describe a different input", + // which is a comparison, not a grant. + if (typeof marker.input === 'string') inputs.push(marker.input); + } catch { + log.warn('sync PR carries an unparseable marker', { repository, pr: pr.number }); + } + } + return inputs; + } + + async configuredAppId(): Promise { + const raw = process.env.FKST_EVOLUTION_APP_ID; + if (!raw) { + // Not fatal: condition 4 treats a missing App id as "cannot verify the + // actor" and still checks existence, conclusion and fingerprint. Silently + // accepting any actor would be the unsafe reading, so this is logged. + log.warn('FKST_EVOLUTION_APP_ID unset — check-run actor cannot be verified'); + return null; + } + const id = Number(raw); + if (!Number.isSafeInteger(id)) throw new Error('FKST_EVOLUTION_APP_ID must be an integer'); + return id; + } +} diff --git a/tools/evolution/src/gittree.ts b/tools/evolution/src/gittree.ts new file mode 100644 index 000000000..6fab1f2c5 --- /dev/null +++ b/tools/evolution/src/gittree.ts @@ -0,0 +1,143 @@ +// Read a Git tree at an exact revision, for fingerprinting. +// +// Section 17.2 rule 1 requires the Git tree at the exact revision rather than +// filesystem state: a dirty working tree, a stale editor buffer, or a checkout +// with different line endings would otherwise change a fingerprint that is +// supposed to describe a commit. +// +// Blob contents are read through ONE `git cat-file --batch` process rather than +// one process per file. On this repository that is ~550 blobs; a process per +// blob costs seconds per fingerprint and turns the verifier into something +// nobody runs. + +import { spawn } from 'node:child_process'; +import { log } from './log.ts'; +import type { FileEntry } from './hash.ts'; + +/** A tree entry before its content has been read. */ +interface TreeRef { + mode: string; + type: string; + oid: string; + path: string; +} + +function run(cmd: string, args: string[], cwd: string, stdin?: Buffer): Promise { + return new Promise((resolve, reject) => { + const child = spawn(cmd, args, { cwd, stdio: ['pipe', 'pipe', 'pipe'] }); + const out: Buffer[] = []; + const err: Buffer[] = []; + child.stdout.on('data', (c: Buffer) => out.push(c)); + child.stderr.on('data', (c: Buffer) => err.push(c)); + child.on('error', reject); + child.on('close', (code) => { + if (code === 0) return resolve(Buffer.concat(out)); + const message = Buffer.concat(err).toString('utf8').trim(); + reject(new Error(`${cmd} ${args.join(' ')} exited ${code}: ${message}`)); + }); + if (stdin) child.stdin.end(stdin); + else child.stdin.end(); + }); +} + +/** Resolve a revision (branch, tag, `HEAD`) to a full commit SHA. */ +export async function resolveRevision(repoRoot: string, revision: string): Promise { + const out = await run('git', ['rev-parse', `${revision}^{commit}`], repoRoot); + return out.toString('utf8').trim(); +} + +/** List every entry of a tree, recursively, without reading blob contents. */ +export async function listTree(repoRoot: string, revision: string): Promise { + const out = await run('git', ['ls-tree', '-r', '-z', revision], repoRoot); + const refs: TreeRef[] = []; + for (const record of out.toString('utf8').split('\0')) { + if (!record) continue; + // ` SP SP TAB ` + const tab = record.indexOf('\t'); + if (tab < 0) throw new Error(`unparseable ls-tree record: ${JSON.stringify(record)}`); + const [mode, type, oid] = record.slice(0, tab).split(' '); + refs.push({ mode, type, oid, path: record.slice(tab + 1) }); + } + log.debug('listed git tree', { revision, entries: refs.length }); + return refs; +} + +/** + * Read blob contents for the given refs through one batched `git cat-file`. + * + * A gitlink (mode 160000, type `commit`) is NOT read: the submodule's objects + * live in another repository and are not fetchable here. Section 17.3 defines + * submodule identity as "the recorded submodule commit", so the commit id itself + * is the content — which is also what makes the fingerprint independent of + * mutable remote content. + */ +async function readBlobs(repoRoot: string, refs: TreeRef[]): Promise> { + const blobRefs = refs.filter((r) => r.type === 'blob'); + const contents = new Map(); + if (blobRefs.length === 0) return contents; + + // De-duplicate: identical files share one oid, and asking twice wastes I/O. + const oids = [...new Set(blobRefs.map((r) => r.oid))]; + const stdin = Buffer.from(oids.map((o) => `${o}\n`).join(''), 'ascii'); + const raw = await run('git', ['cat-file', '--batch'], repoRoot, stdin); + + let offset = 0; + for (let i = 0; i < oids.length; i += 1) { + const newline = raw.indexOf(0x0a, offset); + if (newline < 0) throw new Error(`cat-file output truncated before header ${i}`); + const header = raw.subarray(offset, newline).toString('ascii'); + const parts = header.split(' '); + if (parts.length !== 3) { + throw new Error(`unexpected cat-file header: ${JSON.stringify(header)}`); + } + const [oid, , sizeText] = parts; + const size = Number(sizeText); + if (!Number.isSafeInteger(size) || size < 0) { + throw new Error(`unexpected cat-file size for ${oid}: ${sizeText}`); + } + const start = newline + 1; + const end = start + size; + if (end > raw.length) throw new Error(`cat-file output truncated in body of ${oid}`); + contents.set(oid, raw.subarray(start, end)); + offset = end + 1; // trailing newline after each object body + } + log.debug('read blobs', { unique: contents.size, referenced: blobRefs.length }); + return contents; +} + +/** + * Read a full tree as fingerprintable entries. + * + * `paths` restricts the read to the entries actually being fingerprinted. It + * matters for more than speed: reading every blob of the repository to hash a + * dozen of them would make the tool's cost scale with the repository rather than + * with the selector. + */ +export async function readTree( + repoRoot: string, + revision: string, + keep?: (path: string) => boolean +): Promise { + const refs = await listTree(repoRoot, revision); + const selected = keep ? refs.filter((r) => keep(r.path)) : refs; + const contents = await readBlobs(repoRoot, selected); + + return selected.map((ref) => { + if (ref.type === 'commit') { + return { path: ref.path, mode: ref.mode, content: Buffer.from(ref.oid, 'ascii') }; + } + const content = contents.get(ref.oid); + if (!content) throw new Error(`missing blob content for ${ref.path} (${ref.oid})`); + return { path: ref.path, mode: ref.mode, content }; + }); +} + +/** Paths changed between two revisions — the section 17.7 condition 5 `treeDiff`. */ +export async function changedPaths( + repoRoot: string, + base: string, + head: string +): Promise { + const out = await run('git', ['diff', '--name-only', '-z', `${base}..${head}`], repoRoot); + return out.toString('utf8').split('\0').filter(Boolean); +} diff --git a/tools/evolution/src/hash.ts b/tools/evolution/src/hash.ts new file mode 100644 index 000000000..02d3cb174 --- /dev/null +++ b/tools/evolution/src/hash.ts @@ -0,0 +1,175 @@ +// Canonical hashing primitives for FKST Evolution fingerprints (spec section 17.2). +// +// The spec fixes the SHAPE of a leaf: +// +// leaf = SHA256(path_length || path || mode || content_length || content_bytes) +// +// but calls it "conceptual" and defers the exact serialization to +// implementations, requiring only that it be documented and covered by test +// vectors (sections 17.2, 17.5). This module IS that documentation. Every +// encoding decision below is load-bearing: two implementations that disagree on +// a single byte produce different fingerprints for the same tree, which the +// control plane reads as permanent non-convergence. +// +// The concrete encoding: +// +// * lengths are unsigned 64-bit BIG-ENDIAN — fixed width, so a length can +// never be confused with the field it delimits, and endianness is pinned +// rather than inherited from the host; +// * paths are slash-separated repository-relative UTF-8, hashed as raw UTF-8 +// bytes with no normalization (NFC vs NFD is a real difference in a Git +// tree, so imposing one here would hide it); +// * mode is the 6-byte zero-padded ASCII octal Git mode ("100644", "100755", +// "120000", "160000") — fixed width, so it needs no length prefix; +// * content is raw blob bytes, no line-ending conversion. +// +// WHY domain separation: three different hash families live in one fingerprint +// graph (file leaves, named scalar leaves, and trees). Without a distinct domain +// prefix per family, a crafted file path/content pair could produce the same +// digest as a named generator leaf, letting repository content forge a +// generator input. Each family therefore begins with its own ASCII tag. + +import { createHash } from 'node:crypto'; + +/** Domain tag for section 17.2 file leaves. */ +export const DOMAIN_FILE_LEAF = 'fkst-evolution-file-leaf-v1'; +/** Domain tag for named scalar leaves (section 17.4's `leaf("name", value)`). */ +export const DOMAIN_NAMED_LEAF = 'fkst-evolution-leaf-v1'; +/** Domain tag for an ordered set of leaves hashed into a tree fingerprint. */ +export const DOMAIN_TREE = 'fkst-evolution-tree-v1'; + +/** A single fingerprinted file, as read from a Git tree. */ +export interface FileEntry { + /** Slash-separated repository-relative path. */ + path: string; + /** 6-digit octal Git mode, e.g. `100644`. */ + mode: string; + /** Raw blob bytes. For a gitlink (mode 160000) this is the ASCII commit id. */ + content: Buffer; +} + +/** Unsigned 64-bit big-endian length prefix. */ +function u64be(value: number): Buffer { + const buf = Buffer.allocUnsafe(8); + buf.writeBigUInt64BE(BigInt(value)); + return buf; +} + +function sha256(parts: Buffer[]): Buffer { + const h = createHash('sha256'); + for (const part of parts) h.update(part); + return h.digest(); +} + +/** Render a digest in the `sha256:` form the manifest uses. */ +export function formatDigest(digest: Buffer): string { + return `sha256:${digest.toString('hex')}`; +} + +/** Normalize a Git mode to the 6-byte zero-padded octal form. */ +export function normalizeMode(mode: string): string { + const trimmed = mode.trim(); + if (!/^[0-7]{5,6}$/.test(trimmed)) { + throw new Error(`invalid git mode: ${JSON.stringify(mode)}`); + } + return trimmed.padStart(6, '0'); +} + +/** + * Section 17.2 file leaf. + * + * The mode is NOT length-prefixed because `normalizeMode` guarantees exactly six + * bytes; a fixed-width field is already unambiguous, and adding a prefix would + * only invite disagreement about whether it is there. + */ +export function fileLeaf(entry: FileEntry): Buffer { + const path = Buffer.from(entry.path, 'utf8'); + const mode = Buffer.from(normalizeMode(entry.mode), 'ascii'); + return sha256([ + Buffer.from(DOMAIN_FILE_LEAF, 'ascii'), + u64be(path.length), + path, + mode, + u64be(entry.content.length), + entry.content, + ]); +} + +/** + * A named scalar leaf, used by section 17.4's `leaf("manifestRef", …)` notation. + * Both name and value are length-delimited so `("ab", "c")` and `("a", "bc")` + * cannot collide. + */ +export function namedLeaf(name: string, value: string | Buffer): Buffer { + const nameBytes = Buffer.from(name, 'utf8'); + const valueBytes = typeof value === 'string' ? Buffer.from(value, 'utf8') : value; + return sha256([ + Buffer.from(DOMAIN_NAMED_LEAF, 'ascii'), + u64be(nameBytes.length), + nameBytes, + u64be(valueBytes.length), + valueBytes, + ]); +} + +/** + * Hash an ordered list of 32-byte leaf digests into one fingerprint. + * + * The entry count is hashed before the leaves so that concatenating two trees + * cannot equal a third: length-delimiting the SET, not just each element. + */ +export function hashLeaves(leaves: Buffer[]): Buffer { + const parts: Buffer[] = [Buffer.from(DOMAIN_TREE, 'ascii'), u64be(leaves.length)]; + for (const leaf of leaves) { + if (leaf.length !== 32) throw new Error(`leaf digest must be 32 bytes, got ${leaf.length}`); + parts.push(u64be(leaf.length), leaf); + } + return sha256(parts); +} + +/** + * Section 17.2 tree fingerprint: leaves sorted by path BYTE order, then hashed. + * + * Byte order — not locale collation and not UTF-16 code-unit order, which is + * what a bare `Array.prototype.sort()` on JS strings would give. Those differ + * for any path containing a character outside the BMP, so the comparison is done + * on the UTF-8 buffers. + */ +export function treeFingerprint(entries: FileEntry[]): Buffer { + const sorted = [...entries].sort((a, b) => + Buffer.compare(Buffer.from(a.path, 'utf8'), Buffer.from(b.path, 'utf8')) + ); + for (let i = 1; i < sorted.length; i += 1) { + if (sorted[i].path === sorted[i - 1].path) { + throw new Error(`duplicate path in fingerprint input: ${sorted[i].path}`); + } + } + return hashLeaves(sorted.map(fileLeaf)); +} + +/** SHA-256 of raw bytes — the `contentHash` of an artifact or Release asset. */ +export function contentHash(bytes: Buffer): string { + return formatDigest(createHash('sha256').update(bytes).digest()); +} + +/** + * Hash an ASCII domain tag followed by fixed-width digests, concatenated. + * + * This is the construction sections 17.4, 17.5 and 17.6 write literally, e.g. + * + * inputFingerprint = SHA256("fkst-evolution-input-v2" || + * productRelevantFingerprint || + * generatorPinnedFingerprint) + * + * No length prefixes are added. That is deliberate rather than an oversight: + * every operand is a 32-byte digest, so the concatenation is already + * unambiguous, and a second implementation reading the spec text would produce + * exactly these bytes. Adding a prefix here would be silently incompatible with + * the document while looking more rigorous. + */ +export function domainConcat(domain: string, digests: Buffer[]): Buffer { + for (const d of digests) { + if (d.length !== 32) throw new Error(`operand must be a 32-byte digest, got ${d.length}`); + } + return sha256([Buffer.from(domain, 'ascii'), ...digests]); +} diff --git a/tools/evolution/src/jsonstrict.ts b/tools/evolution/src/jsonstrict.ts new file mode 100644 index 000000000..1c9d7f3ac --- /dev/null +++ b/tools/evolution/src/jsonstrict.ts @@ -0,0 +1,113 @@ +// Duplicate-key detection for manifest JSON (spec section 17.6). +// +// Section 17.6: "Implementations MUST reject a manifest containing duplicate +// keys rather than canonicalizing it." +// +// WHY this cannot use JSON.parse: the ECMAScript grammar resolves duplicate keys +// by last-wins, silently, before any reviver or replacer runs. By the time a +// parsed value exists the evidence is gone. A manifest carrying +// `"outputFingerprint": ""` followed by `"outputFingerprint": ""` +// would parse to the forged value while a careless reader saw the real one — and +// since the manifest projection enters the output fingerprint, that is exactly +// the ambiguity an attacker would reach for. +// +// This is a VALIDATION scan, not a parser: it lexes strings (so braces and +// colons inside them are inert) and tracks object depth, then hands the text to +// JSON.parse for the actual value. It deliberately does not build a tree. + +/** Thrown when a JSON document contains a duplicate key within one object. */ +export class DuplicateKeyError extends Error {} + +const WHITESPACE = new Set([0x20, 0x09, 0x0a, 0x0d]); + +/** + * Scan `text` for duplicate keys in any object, throwing `DuplicateKeyError`. + * + * Assumes `text` is otherwise well-formed JSON — callers run `JSON.parse` too, + * which is what reports ordinary syntax errors. + */ +export function assertNoDuplicateKeys(text: string): void { + // One key set per open object; arrays push `null` so depth stays aligned. + const stack: (Set | null)[] = []; + let i = 0; + // True when the next string literal is a key rather than a value: set on `{` + // and on `,` inside an object, cleared by the `:` that follows the key. + let expectKey = false; + + const readString = (): string => { + // `text[i]` is the opening quote. + let out = ''; + i += 1; + while (i < text.length) { + const ch = text[i]; + if (ch === '\\') { + // Escapes are copied verbatim: two keys are duplicates only if they + // denote the same string, and JSON.parse settles that. Preserving the + // raw form here would make "A" and "A" look distinct, so decode. + const next = text[i + 1]; + const simple: Record = { + '"': '"', '\\': '\\', '/': '/', b: '\b', f: '\f', n: '\n', r: '\r', t: '\t', + }; + if (next === 'u') { + out += String.fromCharCode(parseInt(text.slice(i + 2, i + 6), 16)); + i += 6; + } else { + out += simple[next] ?? next; + i += 2; + } + continue; + } + if (ch === '"') { + i += 1; + return out; + } + out += ch; + i += 1; + } + throw new DuplicateKeyError('unterminated string in manifest JSON'); + }; + + while (i < text.length) { + const code = text.charCodeAt(i); + if (WHITESPACE.has(code)) { + i += 1; + continue; + } + const ch = text[i]; + if (ch === '"') { + const value = readString(); + if (expectKey) { + const keys = stack[stack.length - 1]; + if (keys) { + if (keys.has(value)) { + throw new DuplicateKeyError(`duplicate key ${JSON.stringify(value)} in manifest JSON`); + } + keys.add(value); + } + expectKey = false; + } + continue; + } + if (ch === '{') { + stack.push(new Set()); + expectKey = true; + } else if (ch === '[') { + stack.push(null); + expectKey = false; + } else if (ch === '}' || ch === ']') { + stack.pop(); + expectKey = false; + } else if (ch === ',') { + expectKey = stack[stack.length - 1] !== null && stack.length > 0; + } else if (ch === ':') { + expectKey = false; + } + i += 1; + } +} + +/** `JSON.parse` with the section 17.6 duplicate-key rejection applied first. */ +export function parseStrictJson(text: string): T { + assertNoDuplicateKeys(text); + return JSON.parse(text) as T; +} diff --git a/tools/evolution/src/log.ts b/tools/evolution/src/log.ts new file mode 100644 index 000000000..3314b06a6 --- /dev/null +++ b/tools/evolution/src/log.ts @@ -0,0 +1,39 @@ +// Structured, level-filtered logging for the Evolution toolchain. +// +// WHY stderr: every CLI command writes machine-readable JSON or a fingerprint to +// stdout, and callers pipe it. Diagnostics that shared stdout would corrupt that +// contract, so all logging goes to stderr regardless of level. + +export type Level = 'debug' | 'info' | 'warn' | 'error'; + +const ORDER: Record = { debug: 10, info: 20, warn: 30, error: 40 }; + +function configuredLevel(): Level { + const raw = (process.env.FKST_EVOLUTION_LOG_LEVEL ?? 'info').toLowerCase(); + return raw in ORDER ? (raw as Level) : 'info'; +} + +let threshold = ORDER[configuredLevel()]; + +/** Re-read the threshold — used by the CLI after it parses a `--log-level` flag. */ +export function setLevel(level: Level): void { + threshold = ORDER[level]; +} + +function emit(level: Level, message: string, context?: Record): void { + if (ORDER[level] < threshold) return; + const suffix = context + ? ' ' + + Object.entries(context) + .map(([k, v]) => `${k}=${typeof v === 'string' ? v : JSON.stringify(v)}`) + .join(' ') + : ''; + process.stderr.write(`[evolution] ${level.padEnd(5)} ${message}${suffix}\n`); +} + +export const log = { + debug: (m: string, c?: Record) => emit('debug', m, c), + info: (m: string, c?: Record) => emit('info', m, c), + warn: (m: string, c?: Record) => emit('warn', m, c), + error: (m: string, c?: Record) => emit('error', m, c), +}; diff --git a/tools/evolution/src/manifest.ts b/tools/evolution/src/manifest.ts new file mode 100644 index 000000000..5cf871882 --- /dev/null +++ b/tools/evolution/src/manifest.ts @@ -0,0 +1,139 @@ +// The Evolution manifest: schema, canonical projection, and serialization +// (spec sections 16.2, 16.4, 17.6). + +import canonicalize from 'canonicalize'; +import { parseStrictJson } from './jsonstrict.ts'; +import type { ManagedOutputClass } from './config.ts'; + +export const MANIFEST_SCHEMA_VERSION = 1; + +/** Artifact freshness (section 16.3). Disjoint from the capability lifecycle of §14.2. */ +export type ArtifactStatus = + | 'current' | 'current-unverified' | 'stale' | 'blocked' | 'failed' | 'deprecated' | 'removed'; + +export interface ReleaseRef { + repository: string; + tag: string; + asset: string; + assetUrl?: string; +} + +export interface ArtifactRecord { + id: string; + kind: ManagedOutputClass; + locale: string; + audience: string; + capabilities: string[]; + journeys: string[]; + sourceCommit: string; + inputFingerprint: string; + generatorPinnedFingerprint: string; + repositoryPath?: string; + release?: ReleaseRef; + contentHash: string; + status: ArtifactStatus; + /** Section 17.7.2: conditions 3 and 4 quantify over exactly the `true` entries. */ + required: boolean; + verification: string; + updatedAt: string; +} + +export interface CheckRunRef { + repository: string; + headSha: string; + id: number | null; + name: string; +} + +export interface VerificationCheck { + id: string; + status: string; + evidence: string; + checkRun: CheckRunRef; + /** Section 17.7.1: transcription vs independent observation must be legible. */ + provenance: string; +} + +export interface Manifest { + schemaVersion: number; + source: { + repository: string; + branch: string; + observedHead: string; + previousCoveredHead: string | null; + historyRelation: string; + productRelevantFingerprint: string; + coverageFingerprint: string; + inputFingerprint: string; + lastFullRebuildFor?: string | null; + }; + artifactRepository: { repository: string; branch: string }; + generator: { + manifestRef: string; + packages: string[]; + generatorEpoch: number; + pinnedFingerprint: string; + provenanceOnly: string[]; + engineVersion: string; + model: string; + toolchain: Record; + envFingerprint: string; + }; + outputFingerprint: string; + verification: { status: string; verifiedAt: string; checks: VerificationCheck[] }; + artifacts: ArtifactRecord[]; +} + +/** + * The canonical projection that enters the output fingerprint (section 17.6): + * every field EXCEPT `outputFingerprint`, serialized as JCS (RFC 8785). + * + * RFC 8785 is used rather than "sorted keys, no whitespace" because these bytes + * are hashed. Number formatting, Unicode escaping and normalization, and + * duplicate-key handling are all unspecified by that looser phrasing, so two + * conforming implementations would disagree on the fingerprint of one manifest. + */ +export function manifestProjection(manifest: Manifest): string { + const { outputFingerprint: _omitted, ...rest } = manifest; + const jcs = canonicalize(rest); + if (typeof jcs !== 'string') { + throw new Error('manifest could not be canonicalized (RFC 8785)'); + } + return jcs; +} + +/** + * Serialize a manifest for committing. + * + * Pretty-printed with a trailing newline because a human reviews this file in a + * pull request diff; the hash never reads these bytes — it reads the JCS + * projection — so formatting here is free. + */ +export function serializeManifest(manifest: Manifest): string { + return `${JSON.stringify(manifest, null, 2)}\n`; +} + +/** Parse a committed manifest, rejecting duplicate keys per section 17.6. */ +export function parseManifest(text: string): Manifest { + const manifest = parseStrictJson(text); + if (manifest.schemaVersion !== MANIFEST_SCHEMA_VERSION) { + // Section 33.3 / 16.5: an unsupported manifest is never silently replaced. + throw new Error( + `unsupported manifest schemaVersion ${String(manifest.schemaVersion)} ` + + `(supported: ${MANIFEST_SCHEMA_VERSION})` + ); + } + return manifest; +} + +/** + * Artifacts that conditions 3 and 4 quantify over (section 17.7.2). + * + * `removed` entries are tombstones and are excluded by construction — their + * bytes are permitted to be absent. Entries that are `blocked` or `failed` stay + * in the set on purpose: they keep the repository non-converged, truthfully, + * until they generate or their class is disabled. + */ +export function requiredArtifacts(manifest: Manifest): ArtifactRecord[] { + return manifest.artifacts.filter((a) => a.required && a.status !== 'removed'); +} diff --git a/tools/evolution/src/plan.ts b/tools/evolution/src/plan.ts new file mode 100644 index 000000000..e4e28b95d --- /dev/null +++ b/tools/evolution/src/plan.ts @@ -0,0 +1,90 @@ +// The artifact plan — the generator's declaration of what it produces. +// +// WHY this lives in `tools/evolution/` and not under `.fkst/evolution/`: +// section 12.3 classifies everything under the Evolution root as human intent or +// Evolution output. The plan is neither — it is generator INPUT, describing +// which artifacts the producer roles emit and which capabilities each one +// represents. Putting it under the root would make the generator's own +// configuration part of the output fingerprint it computes, which is circular. +// +// In the eventual package composition (section 28.1) this file is replaced by +// the producer roles' own declarations in `fkst-packages`. + +import { parse } from 'yaml'; +import type { ManagedOutputClass } from './config.ts'; + +export const PLAN_SCHEMA_VERSION = 1; + +export interface PlannedArtifact { + id: string; + kind: ManagedOutputClass; + locale: string; + audience: string; + capabilities: string[]; + journeys: string[]; + /** Repository path, for artifacts committed to Git. */ + repositoryPath?: string; + /** + * Release asset identity for a rendered binary (section 24.3). + * + * There is deliberately no `tag` field. Section 24.2 DERIVES the tag from the + * input fingerprint (`fkst-evolution/`), so letting the plan + * name one would allow generator input to point an artifact at an unrelated + * Release — and the asset name is likewise derived from the content hash. + */ + release?: { repository: string; assetBaseName: string; localPath: string }; + status: string; + required: boolean; + verification: string; +} + +export interface PlannedCheck { + id: string; + status: string; + evidence: string; + checkRunName: string; + provenance: string; +} + +export interface ArtifactPlan { + schemaVersion: number; + generator: { + /** `owner/repo@{commit}:path` — `{commit}` is substituted with the observed head. */ + manifestRef: string; + packages: { directory: string; ref: string }[]; + engineVersion: string; + model: string; + }; + verification: PlannedCheck[]; + artifacts: PlannedArtifact[]; +} + +export class PlanError extends Error {} + +/** Parse and check an artifact plan. */ +export function parsePlan(yamlText: string): ArtifactPlan { + const raw = parse(yamlText) as ArtifactPlan; + if (raw?.schemaVersion !== PLAN_SCHEMA_VERSION) { + throw new PlanError(`unsupported plan schemaVersion ${String(raw?.schemaVersion)}`); + } + if (!Array.isArray(raw.artifacts) || raw.artifacts.length === 0) { + throw new PlanError('plan.artifacts must be a non-empty list'); + } + const seen = new Set(); + for (const artifact of raw.artifacts) { + if (seen.has(artifact.id)) throw new PlanError(`duplicate artifact id: ${artifact.id}`); + seen.add(artifact.id); + if (!artifact.repositoryPath && !artifact.release) { + throw new PlanError(`artifact ${artifact.id} has neither repositoryPath nor release`); + } + if (artifact.repositoryPath && artifact.release) { + // One artifact, one home. Two would make condition 3 ambiguous about which + // bytes it is re-hashing. + throw new PlanError(`artifact ${artifact.id} declares both repositoryPath and release`); + } + } + if (!Array.isArray(raw.verification) || raw.verification.length === 0) { + throw new PlanError('plan.verification must declare at least one check'); + } + return raw; +} diff --git a/tools/evolution/src/selector.ts b/tools/evolution/src/selector.ts new file mode 100644 index 000000000..f746b2c8e --- /dev/null +++ b/tools/evolution/src/selector.ts @@ -0,0 +1,105 @@ +// Path selection for the source and output fingerprints (spec section 17.3, 17.6). +// +// Section 17.3 is explicit that its exclusions are unconditional and that +// configuration MUST NOT override them. The previous spec draft expressed the +// same exclusions twice — once as prose and once as a config list — without +// saying which prevailed; revision 2 resolved that in favour of the prose. This +// module therefore applies configuration FIRST and the unconditional rules +// LAST, so no include pattern can reach back into a reserved prefix. + +import picomatch from 'picomatch'; + +/** The single Evolution root (section 12.1). */ +export const EVOLUTION_ROOT = '.fkst/evolution/'; +/** The pre-existing repo-local workflow catalog, independent of Evolution (section 33.4). */ +export const PACKAGES_ROOT = '.fkst/packages/'; +/** Owner-controlled policy — hashed into `productRelevant` only. */ +export const CONFIG_PATH = `${EVOLUTION_ROOT}config.yaml`; +/** Owner-controlled intent — hashed into `productRelevant` only. */ +export const INTENT_PREFIX = `${EVOLUTION_ROOT}intent/`; +/** Excluded from the output fingerprint to avoid a circular hash (section 17.6). */ +export const MANIFEST_PATH = `${EVOLUTION_ROOT}manifest.json`; + +export interface PathSelector { + include: string[]; + exclude?: string[]; +} + +// `dot: true` because every reserved prefix here begins with a dot. Without it a +// `coverage.include: ["**"]` would silently skip `.github/`, `.fkst/` and +// friends, and the coverage fingerprint would quietly under-report. +const MATCH_OPTIONS = { dot: true } as const; + +function compile(selector: PathSelector): (path: string) => boolean { + const isIncluded = picomatch(selector.include, MATCH_OPTIONS); + const isExcluded = + selector.exclude && selector.exclude.length > 0 + ? picomatch(selector.exclude, MATCH_OPTIONS) + : () => false; + return (path: string) => isIncluded(path) && !isExcluded(path); +} + +/** True for the human-owned paths that section 17.3 folds into `productRelevant`. */ +export function isOwnerIntentPath(path: string): boolean { + return path === CONFIG_PATH || path.startsWith(INTENT_PREFIX); +} + +function isReserved(path: string): boolean { + return path.startsWith(EVOLUTION_ROOT) || path.startsWith(PACKAGES_ROOT); +} + +/** + * `productRelevantFingerprint` membership (section 17.3). + * + * Owner intent is added back after the unconditional removal because it is + * genuinely a convergence input: an owner who rewrites product positioning must + * cause regeneration. Leaving it out is the failure mode section 17.3 calls out + * explicitly for companion setups. + */ +export function productRelevantMatcher(selector: PathSelector): (path: string) => boolean { + const configured = compile(selector); + return (path: string) => { + if (isOwnerIntentPath(path)) return true; + if (isReserved(path)) return false; + return configured(path); + }; +} + +/** `coverageFingerprint` membership (section 17.3) — provenance only, no owner-intent add-back. */ +export function coverageMatcher(selector: PathSelector): (path: string) => boolean { + const configured = compile(selector); + return (path: string) => { + if (isReserved(path)) return false; + return configured(path); + }; +} + +/** + * `outputFingerprint` file membership (section 17.6): everything Evolution wrote. + * + * `manifest.json` is excluded because it CONTAINS the fingerprint being + * computed; section 17.6 folds it back in as a canonical projection instead. + * `config.yaml` and `intent/**` are excluded because Evolution never writes + * them — they are inputs, and hashing them as output would make an owner's edit + * look like generator drift. + */ +export function managedOutputMatcher(): (path: string) => boolean { + return (path: string) => + path.startsWith(EVOLUTION_ROOT) && !isOwnerIntentPath(path) && path !== MANIFEST_PATH; +} + +/** + * The section 25.8 / 12.1.1 write-boundary test. + * + * Deliberately a fixed prefix comparison with no configuration input: this is + * the check that makes security objective 25.1(3) true rather than aspirational. + * A symlink is compared by its own path and never by its target. + */ +export function isWritableByEvolution(path: string): boolean { + // A `..` segment is refused outright. A Git tree never produces one, so this + // can only arrive from generator-supplied input such as the artifact plan — + // and `.fkst/evolution/../../backend/src/main.rs` passes a naive prefix test + // while naming a file outside the root. + if (path.split('/').includes('..')) return false; + return path.startsWith(EVOLUTION_ROOT) && !isOwnerIntentPath(path); +} diff --git a/tools/evolution/test/config.test.ts b/tools/evolution/test/config.test.ts new file mode 100644 index 000000000..58c2ccb20 --- /dev/null +++ b/tools/evolution/test/config.test.ts @@ -0,0 +1,218 @@ +// Configuration validation (spec section 13.3) and path selection (17.3, 17.6). +// +// Every case here is a FAIL-CLOSED case or a boundary case. Section 13.3.1 is +// explicit that this validation is an input check and not a control, so the +// point of these tests is that a bad config is refused loudly rather than +// defaulted quietly. + +import { strict as assert } from 'node:assert'; +import { test } from 'node:test'; +import { ConfigError, parseConfig, requiredClasses } from '../src/config.ts'; +import { + coverageMatcher, isWritableByEvolution, managedOutputMatcher, productRelevantMatcher, +} from '../src/selector.ts'; + +const BASE = ` +schemaVersion: 1 +enabled: true +source: + branch: "@default" + productRelevant: + include: ["backend/src/**", "frontend/src/**"] + exclude: ["**/*_tests.rs"] + coverage: + include: ["**"] + exclude: [".git/**"] +artifactRepository: "." +intent: + product: ".fkst/evolution/intent/product.md" + overrides: ".fkst/evolution/intent/overrides.yaml" +managedOutputs: + documentation: { enabled: true } + skills: { enabled: true } + journeys: { enabled: true } + screenshots: { enabled: true } + slides: { enabled: true } + video: { enabled: true, storage: "github-release" } +absentProducerRoles: [] +locales: ["en"] +triggers: + defaultBranchPush: true +publication: + mode: "propose" + requireCurrentSource: true + requireChecks: true + allowDirectPush: false +drift: + policy: "block" +generatorEpoch: 1 +retention: + renderedSnapshots: 10 +security: + runPullRequestCode: false + allowProductionData: false + allowProductionCredentials: false +`; + +const withLine = (from: string, to: string) => BASE.replace(from, to); + +test('the baseline config parses', () => { + const config = parseConfig(BASE); + assert.equal(config.source.branch, '@default'); + assert.equal(config.publication.mode, 'propose'); + assert.equal(config.generatorEpoch, 1); +}); + +test('an unsupported schemaVersion fails closed', () => { + assert.throws(() => parseConfig(withLine('schemaVersion: 1', 'schemaVersion: 2')), ConfigError); +}); + +test('an absent productRelevant set fails closed — no default exists', () => { + const noSet = BASE.replace( + / productRelevant:\n include: \[.*\]\n exclude: \[.*\]\n/, + '' + ); + assert.throws(() => parseConfig(noSet), /source.productRelevant is required/); +}); + +test('an empty productRelevant include fails closed', () => { + // An empty set silently disables ALL cycle admission — the failure mode + // section 13.3 names explicitly. + assert.throws( + () => parseConfig(withLine('include: ["backend/src/**", "frontend/src/**"]', 'include: []')), + /must not be empty/ + ); +}); + +test('explicitly naming the Evolution root in an include fails closed', () => { + assert.throws( + () => parseConfig(withLine('include: ["backend/src/**", "frontend/src/**"]', + 'include: ["backend/src/**", ".fkst/evolution/docs/**"]')), + /may not explicitly name .fkst\/evolution/ + ); +}); + +test('a broad wildcard is permitted and simply narrowed later', () => { + // Section 13.3 draws the line at EXPLICIT re-inclusion; `**` is fine. + const config = parseConfig(withLine('include: ["backend/src/**", "frontend/src/**"]', 'include: ["**"]')); + assert.equal(config.source.productRelevant.include[0], '**'); +}); + +test('a managedOutputs entry carrying a destination fails closed', () => { + assert.throws( + () => parseConfig(withLine('documentation: { enabled: true }', + 'documentation: { enabled: true, path: "docs/custom" }')), + /unknown field/ + ); +}); + +test('a non-GitHub-native video storage fails closed', () => { + assert.throws( + () => parseConfig(withLine('video: { enabled: true, storage: "github-release" }', + 'video: { enabled: true, storage: "s3" }')), + /must be "github-release"/ + ); +}); + +test('requesting direct push fails closed', () => { + assert.throws(() => parseConfig(withLine('allowDirectPush: false', 'allowDirectPush: true')), ConfigError); +}); + +test('a merge policy that cannot honor required checks fails closed', () => { + assert.throws(() => parseConfig(withLine('requireChecks: true', 'requireChecks: false')), ConfigError); +}); + +test('requesting privileged execution of an untrusted PR head fails closed', () => { + assert.throws( + () => parseConfig(withLine('runPullRequestCode: false', 'runPullRequestCode: true')), + /must be false/ + ); +}); + +test('permitting production data or credentials fails closed', () => { + assert.throws(() => parseConfig(withLine('allowProductionData: false', 'allowProductionData: true')), ConfigError); + assert.throws( + () => parseConfig(withLine('allowProductionCredentials: false', 'allowProductionCredentials: true')), + ConfigError + ); +}); + +test('an unknown top-level field is rejected rather than ignored', () => { + // Silent acceptance would let MISSPELLED safety policy appear active. + assert.throws(() => parseConfig(`${BASE}\nallowProdData: true\n`), /unknown field/); +}); + +test('an unknown publication mode fails closed', () => { + assert.throws(() => parseConfig(withLine('mode: "propose"', 'mode: "yolo"')), /publication.mode must be one of/); +}); + +test('requiredClasses drops disabled classes', () => { + const config = parseConfig(withLine('slides: { enabled: true }', 'slides: { enabled: false }')); + assert.ok(!requiredClasses(config).includes('slides')); + assert.ok(requiredClasses(config).includes('documentation')); +}); + +test('requiredClasses drops classes whose producer role is declared absent', () => { + // Section 17.7.2 rule 1: the verifier must not report an undeployed role's + // artifacts as missing. + const config = parseConfig(withLine('absentProducerRoles: []', 'absentProducerRoles: ["artifact-renderer"]')); + assert.ok(!requiredClasses(config).includes('video')); + assert.ok(requiredClasses(config).includes('screenshots')); +}); + +// ---- selectors ------------------------------------------------------------- + +test('productRelevant always includes owner intent, even outside the include set', () => { + const config = parseConfig(BASE); + const match = productRelevantMatcher(config.source.productRelevant); + assert.ok(match('.fkst/evolution/config.yaml')); + assert.ok(match('.fkst/evolution/intent/product.md')); + assert.ok(match('backend/src/main.rs')); +}); + +test('productRelevant excludes generated Evolution output and the packages catalog', () => { + const config = parseConfig(BASE); + const match = productRelevantMatcher(config.source.productRelevant); + assert.ok(!match('.fkst/evolution/docs/anything.md')); + assert.ok(!match('.fkst/evolution/manifest.json')); + assert.ok(!match('.fkst/packages/whatever.toml')); +}); + +test('a configured exclude still applies inside the include set', () => { + const config = parseConfig(BASE); + const match = productRelevantMatcher(config.source.productRelevant); + assert.ok(!match('backend/src/config_tests.rs')); +}); + +test('coverage sees dotfiles under a bare ** but never the reserved prefixes', () => { + const config = parseConfig(BASE); + const match = coverageMatcher(config.source.coverage); + assert.ok(match('.github/workflows/rust-ci.yml'), 'dot: true is required or coverage under-reports'); + assert.ok(match('README.md')); + assert.ok(!match('.fkst/evolution/docs/x.md')); +}); + +test('coverage does NOT get the owner-intent add-back', () => { + // Only productRelevant folds intent back in; coverage is provenance. + const config = parseConfig(BASE); + assert.ok(!coverageMatcher(config.source.coverage)('.fkst/evolution/config.yaml')); +}); + +test('managed-output matcher excludes the manifest and owner-owned inputs', () => { + const match = managedOutputMatcher(); + assert.ok(match('.fkst/evolution/docs/page.md')); + assert.ok(!match('.fkst/evolution/manifest.json'), 'excluded to avoid a circular hash'); + assert.ok(!match('.fkst/evolution/config.yaml')); + assert.ok(!match('.fkst/evolution/intent/product.md')); + assert.ok(!match('backend/src/main.rs')); +}); + +test('the write boundary is a fixed prefix comparison', () => { + assert.ok(isWritableByEvolution('.fkst/evolution/docs/a.md')); + assert.ok(!isWritableByEvolution('.fkst/evolution/config.yaml')); + assert.ok(!isWritableByEvolution('.fkst/evolution/intent/overrides.yaml')); + assert.ok(!isWritableByEvolution('.fkst/packages/x')); + assert.ok(!isWritableByEvolution('backend/src/main.rs')); + // A traversal attempt is compared by its own literal path and never resolved. + assert.ok(!isWritableByEvolution('.fkst/evolution/../../backend/src/main.rs')); +}); diff --git a/tools/evolution/test/converge.test.ts b/tools/evolution/test/converge.test.ts new file mode 100644 index 000000000..b8b3cdfdc --- /dev/null +++ b/tools/evolution/test/converge.test.ts @@ -0,0 +1,308 @@ +// The convergence decision (spec section 17.7). +// +// The decision logic is exercised through the `GitHubPort` interface with an +// in-memory double, so every branch — including the ones that need GitHub — is +// testable without a network. + +import { strict as assert } from 'node:assert'; +import { test } from 'node:test'; +import { evaluateConvergence, type ConvergenceInputs, type GitHubPort } from '../src/converge.ts'; +import { parseConfig } from '../src/config.ts'; +import { contentHash } from '../src/hash.ts'; +import type { Manifest } from '../src/manifest.ts'; + +const CONFIG = parseConfig(` +schemaVersion: 1 +enabled: true +source: + branch: main + productRelevant: + include: ["src/**"] + coverage: + include: ["**"] +artifactRepository: "." +intent: + product: ".fkst/evolution/intent/product.md" + overrides: ".fkst/evolution/intent/overrides.yaml" +managedOutputs: + documentation: { enabled: true } + skills: { enabled: false } + journeys: { enabled: false } + screenshots: { enabled: false } + slides: { enabled: false } + video: { enabled: false } +absentProducerRoles: [] +locales: ["en"] +triggers: {} +publication: + mode: "propose" + requireCurrentSource: true + requireChecks: true + allowDirectPush: false +drift: + policy: "block" +generatorEpoch: 1 +retention: {} +security: + runPullRequestCode: false + allowProductionData: false + allowProductionCredentials: false +`); + +const DOC_PATH = '.fkst/evolution/docs/page.md'; +const DOC_HASH = contentHash(Buffer.from('doc bytes', 'utf8')); +const INPUT = `sha256:${'1'.repeat(64)}`; +const OUTPUT = `sha256:${'2'.repeat(64)}`; +const HEAD = 'a'.repeat(40); + +function manifest(overrides: Partial = {}): Manifest { + return { + schemaVersion: 1, + source: { + repository: 'acme/app', branch: 'main', observedHead: HEAD, previousCoveredHead: HEAD, + historyRelation: 'fast-forward', + productRelevantFingerprint: `sha256:${'3'.repeat(64)}`, + coverageFingerprint: `sha256:${'4'.repeat(64)}`, + inputFingerprint: INPUT, + }, + artifactRepository: { repository: 'acme/app', branch: 'main' }, + generator: { + manifestRef: 'acme/app@abc:tools/evolution', packages: [], generatorEpoch: 1, + pinnedFingerprint: `sha256:${'5'.repeat(64)}`, + provenanceOnly: [], engineVersion: '0.1.0', model: 'test', toolchain: {}, + envFingerprint: `sha256:${'6'.repeat(64)}`, + }, + outputFingerprint: OUTPUT, + verification: { + status: 'passed', verifiedAt: '2026-01-01T00:00:00Z', + checks: [{ + id: 'jny_test', status: 'passed', evidence: 'j.spec.ts', + checkRun: { repository: 'acme/app', headSha: HEAD, id: 42, name: 'fkst-evolution/journey.jny_test' }, + provenance: 'transcription', + }], + }, + artifacts: [{ + id: 'docs.page', kind: 'documentation', locale: 'en', audience: 'admin', + capabilities: ['cap_1'], journeys: ['jny_test'], sourceCommit: HEAD, + inputFingerprint: INPUT, generatorPinnedFingerprint: `sha256:${'5'.repeat(64)}`, + repositoryPath: DOC_PATH, contentHash: DOC_HASH, status: 'current', + required: true, verification: 'passed', updatedAt: '2026-01-01T00:00:00Z', + }], + ...overrides, + }; +} + +function port(overrides: Partial = {}): GitHubPort { + return { + fetchReleaseAsset: async () => null, + getCheckRun: async () => ({ appId: 7, conclusion: 'success', outputText: `input=${INPUT}` }), + openSyncPullRequestInputs: async () => [], + configuredAppId: async () => 7, + ...overrides, + }; +} + +function inputs(overrides: Partial = {}): ConvergenceInputs { + return { + repoRoot: '/nonexistent', + config: CONFIG, + manifest: manifest(), + currentInputFingerprint: INPUT, + currentOutputFingerprint: OUTPUT, + observedHead: HEAD, + presentFiles: new Map([[DOC_PATH, DOC_HASH]]), + github: port(), + ...overrides, + }; +} + +const find = (r: Awaited>, name: string) => + r.conditions.find((c) => c.name === name)!; + +test('a fully satisfied repository converges', async () => { + const report = await evaluateConvergence(inputs()); + assert.equal(report.verdict, 'CONVERGED'); +}); + +test('condition 1 fails when the input fingerprint moved', async () => { + const report = await evaluateConvergence( + inputs({ currentInputFingerprint: `sha256:${'9'.repeat(64)}` }) + ); + assert.equal(report.verdict, 'NOT_CONVERGED'); + assert.equal(find(report, 'input fingerprint matches manifest').outcome, 'fail'); +}); + +test('condition 2 fails when the output fingerprint moved', async () => { + const report = await evaluateConvergence( + inputs({ currentOutputFingerprint: `sha256:${'9'.repeat(64)}` }) + ); + assert.equal(find(report, 'output fingerprint matches manifest').outcome, 'fail'); +}); + +test('condition 3 presence fails when a required artifact is absent', async () => { + const report = await evaluateConvergence(inputs({ presentFiles: new Map() })); + const presence = find(report, 'required artifacts present'); + assert.equal(presence.outcome, 'fail'); + // Presence failure must NOT be reported as integrity drift: it admits an + // ordinary cycle, while drift blocks regardless of policy. + assert.equal(find(report, 'required artifact integrity').outcome, 'pass'); +}); + +test('condition 3 integrity fails when bytes disagree with the recorded hash', async () => { + const report = await evaluateConvergence( + inputs({ presentFiles: new Map([[DOC_PATH, `sha256:${'0'.repeat(64)}`]]) }) + ); + assert.equal(find(report, 'required artifacts present').outcome, 'pass'); + const integrity = find(report, 'required artifact integrity'); + assert.equal(integrity.outcome, 'fail'); + assert.match(integrity.detail, /blocks regardless of policy/); +}); + +test('a tombstoned artifact is excluded from the presence test', async () => { + const m = manifest(); + m.artifacts[0].status = 'removed'; + const report = await evaluateConvergence(inputs({ manifest: m, presentFiles: new Map() })); + assert.equal(find(report, 'required artifacts present').outcome, 'pass'); +}); + +test('a required-but-failed artifact keeps the repository non-converged', async () => { + // Section 17.7.2 rule 3: it MUST NOT be silently downgraded to not-required. + const m = manifest(); + m.artifacts[0].status = 'failed'; + const report = await evaluateConvergence(inputs({ manifest: m, presentFiles: new Map() })); + assert.equal(report.verdict, 'NOT_CONVERGED'); +}); + +test('a required: false artifact is ignored by conditions 3 and 4', async () => { + const m = manifest(); + m.artifacts[0].required = false; + const report = await evaluateConvergence(inputs({ manifest: m, presentFiles: new Map() })); + assert.equal(find(report, 'required artifacts present').outcome, 'pass'); +}); + +test('condition 4 is not-evaluable without GitHub, never a pass', async () => { + const report = await evaluateConvergence(inputs({ github: undefined })); + assert.equal(find(report, 'verification corroborated').outcome, 'not-evaluable'); + assert.equal(report.verdict, 'CONVERGED_PENDING_CONTROL_PLANE'); +}); + +test('condition 4 rejects a check run published by another actor', async () => { + const report = await evaluateConvergence( + inputs({ github: port({ getCheckRun: async () => ({ appId: 999, conclusion: 'success', outputText: INPUT }) }) }) + ); + assert.match(find(report, 'verification corroborated').detail, /not the configured App/); +}); + +test('condition 4 rejects a check run whose conclusion is not success', async () => { + const report = await evaluateConvergence( + inputs({ github: port({ getCheckRun: async () => ({ appId: 7, conclusion: 'failure', outputText: INPUT }) }) }) + ); + assert.match(find(report, 'verification corroborated').detail, /conclusion is failure/); +}); + +test('condition 4 rejects a replayed run recording a different input fingerprint', async () => { + const report = await evaluateConvergence( + inputs({ github: port({ getCheckRun: async () => ({ appId: 7, conclusion: 'success', outputText: 'input=sha256:stale' }) }) }) + ); + assert.match(find(report, 'verification corroborated').detail, /does not record the manifest input fingerprint/); +}); + +test('condition 4 rejects a deleted check run', async () => { + const report = await evaluateConvergence(inputs({ github: port({ getCheckRun: async () => null }) })); + assert.match(find(report, 'verification corroborated').detail, /no longer retrievable/); +}); + +test('condition 4 fails outright when the manifest records no checks', async () => { + const m = manifest(); + m.verification.checks = []; + const report = await evaluateConvergence(inputs({ manifest: m })); + assert.equal(find(report, 'verification corroborated').outcome, 'fail'); + assert.equal(report.verdict, 'NOT_CONVERGED'); +}); + +test('a null check-run id is not corroboration', async () => { + // The state this proof actually ships in: no control plane has published a + // run, so the honest verdict is pending, not converged. + const m = manifest(); + m.verification.checks[0].checkRun.id = null; + const report = await evaluateConvergence(inputs({ manifest: m })); + assert.equal(find(report, 'verification corroborated').outcome, 'not-evaluable'); + assert.equal(report.verdict, 'CONVERGED_PENDING_CONTROL_PLANE'); +}); + +test('condition 5 passes at baseline when no previous covered head exists', async () => { + const m = manifest(); + m.source.previousCoveredHead = null; + const report = await evaluateConvergence(inputs({ manifest: m })); + assert.equal(find(report, 'no uncovered product-relevant change').outcome, 'pass'); +}); + +test('condition 5 fails loudly when the range cannot be compared', async () => { + // Section 17.7: a truncated or unusable compare is a FAILURE, not a guess. + const m = manifest(); + m.source.previousCoveredHead = 'b'.repeat(40); + const report = await evaluateConvergence(inputs({ manifest: m, observedHead: HEAD })); + const c5 = find(report, 'no uncovered product-relevant change'); + assert.equal(c5.outcome, 'fail'); + assert.match(c5.detail, /cannot compare/); +}); + +test('condition 6 fails when an open sync PR describes a different input', async () => { + const report = await evaluateConvergence( + inputs({ github: port({ openSyncPullRequestInputs: async () => [`sha256:${'8'.repeat(64)}`] }) }) + ); + assert.equal(find(report, 'no divergent open sync PR').outcome, 'fail'); +}); + +test('condition 6 tolerates an open sync PR at the SAME input', async () => { + const report = await evaluateConvergence( + inputs({ github: port({ openSyncPullRequestInputs: async () => [INPUT] }) }) + ); + assert.equal(find(report, 'no divergent open sync PR').outcome, 'pass'); +}); + +test('a Release-backed artifact is re-derived from tag and name, not assetUrl', async () => { + const bytes = Buffer.from('video bytes', 'utf8'); + const m = manifest(); + m.artifacts[0] = { + ...m.artifacts[0], id: 'video.demo', kind: 'video', repositoryPath: undefined, + release: { + repository: 'acme/app', tag: 'fkst-evolution/0123456789abcdef', asset: 'demo.sha256-abc.mp4', + assetUrl: 'https://example.invalid/stale', + }, + contentHash: contentHash(bytes), + }; + const report = await evaluateConvergence(inputs({ + manifest: m, presentFiles: new Map(), + github: port({ fetchReleaseAsset: async () => bytes }), + })); + assert.equal(find(report, 'required artifacts present').outcome, 'pass'); + assert.equal(find(report, 'required artifact integrity').outcome, 'pass'); +}); + +test('a Release asset whose bytes changed is an integrity failure', async () => { + const m = manifest(); + m.artifacts[0] = { + ...m.artifacts[0], id: 'video.demo', kind: 'video', repositoryPath: undefined, + release: { repository: 'acme/app', tag: 't', asset: 'demo.sha256-abc.mp4' }, + contentHash: contentHash(Buffer.from('original', 'utf8')), + }; + const report = await evaluateConvergence(inputs({ + manifest: m, presentFiles: new Map(), + github: port({ fetchReleaseAsset: async () => Buffer.from('rewritten', 'utf8') }), + })); + assert.equal(find(report, 'required artifact integrity').outcome, 'fail'); +}); + +test('a Release-backed artifact is not-evaluable without GitHub', async () => { + const m = manifest(); + m.artifacts[0] = { + ...m.artifacts[0], id: 'video.demo', kind: 'video', repositoryPath: undefined, + release: { repository: 'acme/app', tag: 't', asset: 'demo.mp4' }, + }; + const report = await evaluateConvergence( + inputs({ manifest: m, presentFiles: new Map(), github: undefined }) + ); + assert.equal(find(report, 'required artifacts present').outcome, 'not-evaluable'); + assert.notEqual(report.verdict, 'CONVERGED'); +}); diff --git a/tools/evolution/test/hash.test.ts b/tools/evolution/test/hash.test.ts new file mode 100644 index 000000000..de9078384 --- /dev/null +++ b/tools/evolution/test/hash.test.ts @@ -0,0 +1,186 @@ +// Published fingerprint test vectors (spec sections 17.2, 17.4, 17.5). +// +// Section 17.5 requires the exact canonical serialization to be "documented and +// covered by test vectors before implementation". These are those vectors: the +// values below are the contract a second implementation must reproduce, so a +// change to any expected digest here is a BREAKING protocol change, not a test +// fix. + +import { strict as assert } from 'node:assert'; +import { test } from 'node:test'; +import { + contentHash, domainConcat, fileLeaf, formatDigest, hashLeaves, namedLeaf, + normalizeMode, treeFingerprint, +} from '../src/hash.ts'; +import { generatorPinnedFingerprint, inputFingerprint } from '../src/fingerprints.ts'; + +const entry = (path: string, content: string, mode = '100644') => ({ + path, mode, content: Buffer.from(content, 'utf8'), +}); + +// --------------------------------------------------------------------------- +// PINNED VECTORS. Reproduce these bytes to interoperate. Changing an expected +// value here changes the wire protocol — treat it as a schema break, never as a +// failing test to be "fixed". +// --------------------------------------------------------------------------- + +test('vector: file leaf of ("a.txt", 100644, "hello")', () => { + assert.equal( + formatDigest(fileLeaf(entry('a.txt', 'hello'))), + 'sha256:a195ee4ecb092d880aa71aa260756ef7ed0bc96099eb57782a9b6206824ab1a6' + ); +}); + +test('vector: named leaf of ("k", "v")', () => { + assert.equal( + formatDigest(namedLeaf('k', 'v')), + 'sha256:0d7c18692f5f6fae791b2844c052dcc2ebda328d3a902fbbbba0680de3be00a1' + ); +}); + +test('vector: tree fingerprint of {a:"1", b:"2"} at mode 100644', () => { + assert.equal( + formatDigest(treeFingerprint([entry('a', '1'), entry('b', '2')])), + 'sha256:a6c0a276f7d7ae93d1cde168e486325465fa9266c8fe9f3968316350b38387da' + ); +}); + +test('vector: generatorPinnedFingerprint with no packages at epoch 1', () => { + assert.equal( + generatorPinnedFingerprint({ + manifestRef: 'o/r@abc:m.json', + packages: [], + schemaVersions: [1, 1, 1, 1], + generatorEpoch: 1, + }), + 'sha256:d42648c278d3fead52bc5ad6729bcfe65c5c215082448f6d03898a7e8e0c16f8' + ); +}); + +test('vector: inputFingerprint over the two vectors above', () => { + const pr = formatDigest(treeFingerprint([entry('a', '1')])); + const gp = generatorPinnedFingerprint({ + manifestRef: 'o/r@abc:m.json', + packages: [], + schemaVersions: [1, 1, 1, 1], + generatorEpoch: 1, + }); + assert.equal( + inputFingerprint(pr, gp), + 'sha256:f3c31d82531699852c5bbf081c1fbd830b05e9b30175d826a7cc8e3821f264e2' + ); +}); + +test('length delimiting prevents path/content boundary collisions', () => { + // Without length prefixes, ("ab", "c") and ("a", "bc") would hash the same + // bytes. This is the property section 17.2 rule 6 exists to guarantee. + const left = fileLeaf(entry('ab', 'c')); + const right = fileLeaf(entry('a', 'bc')); + assert.notEqual(left.toString('hex'), right.toString('hex')); +}); + +test('mode participates in the leaf', () => { + const regular = fileLeaf(entry('script.sh', '#!/bin/sh\n', '100644')); + const executable = fileLeaf(entry('script.sh', '#!/bin/sh\n', '100755')); + assert.notEqual(regular.toString('hex'), executable.toString('hex')); +}); + +test('named leaf length-delimits both name and value', () => { + assert.notEqual( + namedLeaf('ab', 'c').toString('hex'), + namedLeaf('a', 'bc').toString('hex') + ); +}); + +test('normalizeMode zero-pads to six octal digits', () => { + assert.equal(normalizeMode('40000'), '040000'); + assert.equal(normalizeMode('100644'), '100644'); + assert.throws(() => normalizeMode('99999'), /invalid git mode/); + assert.throws(() => normalizeMode(''), /invalid git mode/); +}); + +test('tree fingerprint sorts by path BYTE order, not UTF-16 code units', () => { + // U+1F600 (surrogate pair in UTF-16) sorts AFTER "z" by UTF-8 bytes but + // BEFORE it by naive JS string comparison on code units. A tree fingerprint + // that used `.sort()` would disagree with a Go or Rust implementation here. + const a = treeFingerprint([entry('z.txt', '1'), entry('\u{1F600}.txt', '2')]); + const b = treeFingerprint([entry('\u{1F600}.txt', '2'), entry('z.txt', '1')]); + assert.equal(a.toString('hex'), b.toString('hex'), 'order of input must not matter'); + + const naive = ['z.txt', '\u{1F600}.txt'].sort(); + assert.equal(naive[0], 'z.txt', 'JS default sort puts z first — the trap this guards'); + assert.ok( + Buffer.compare(Buffer.from('z.txt', 'utf8'), Buffer.from('\u{1F600}.txt', 'utf8')) < 0, + 'by UTF-8 bytes z sorts first too, so both orders agree here' + ); +}); + +test('tree fingerprint rejects duplicate paths', () => { + assert.throws( + () => treeFingerprint([entry('a.txt', '1'), entry('a.txt', '2')]), + /duplicate path/ + ); +}); + +test('tree fingerprint length-delimits the SET, not only each element', () => { + // Concatenating two trees must not equal a third built from their union in a + // different grouping. Hashing the count up front is what guarantees it. + const one = hashLeaves([fileLeaf(entry('a', '1'))]); + const two = hashLeaves([fileLeaf(entry('a', '1')), fileLeaf(entry('b', '2'))]); + assert.notEqual(one.toString('hex'), two.toString('hex')); +}); + +test('domainConcat rejects non-digest operands', () => { + assert.throws(() => domainConcat('d', [Buffer.alloc(16)]), /32-byte digest/); +}); + +test('domain separation keeps leaf families apart', () => { + // A file leaf and a named leaf built from the same bytes must not collide, + // otherwise repository content could forge a generator input. + const file = fileLeaf({ path: 'x', mode: '100644', content: Buffer.from('y', 'utf8') }); + const named = namedLeaf('x', 'y'); + assert.notEqual(file.toString('hex'), named.toString('hex')); +}); + +test('inputFingerprint is order-sensitive across its two operands', () => { + const pr = formatDigest(treeFingerprint([entry('a', '1')])); + const gp = formatDigest(treeFingerprint([entry('b', '2')])); + assert.notEqual(inputFingerprint(pr, gp), inputFingerprint(gp, pr)); +}); + +test('inputFingerprint rejects a malformed operand', () => { + assert.throws(() => inputFingerprint('sha1:abc', 'sha256:' + 'a'.repeat(64)), /sha256:/); +}); + +test('generatorEpoch serialization is decimal without padding', () => { + const base = { + manifestRef: 'o/r@abc:manifests/m.json', + packages: [], + schemaVersions: [1, 1, 1, 1] as [number, number, number, number], + }; + assert.notEqual( + generatorPinnedFingerprint({ ...base, generatorEpoch: 1 }), + generatorPinnedFingerprint({ ...base, generatorEpoch: 2 }) + ); +}); + +test('package ordering does not change the pinned fingerprint', () => { + const a = { ref: 'o/r@abc:packages/a', treeFingerprint: formatDigest(treeFingerprint([entry('a', '1')])) }; + const b = { ref: 'o/r@abc:packages/b', treeFingerprint: formatDigest(treeFingerprint([entry('b', '2')])) }; + const base = { + manifestRef: 'o/r@abc:manifests/m.json', + schemaVersions: [1, 1, 1, 1] as [number, number, number, number], + generatorEpoch: 1, + }; + assert.equal( + generatorPinnedFingerprint({ ...base, packages: [a, b] }), + generatorPinnedFingerprint({ ...base, packages: [b, a] }) + ); +}); + +test('contentHash matches a plain SHA-256 of the bytes', () => { + assert.equal( + contentHash(Buffer.from('abc', 'utf8')), + 'sha256:ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad' + ); +}); diff --git a/tools/evolution/test/jsonstrict.test.ts b/tools/evolution/test/jsonstrict.test.ts new file mode 100644 index 000000000..a5b7b03c9 --- /dev/null +++ b/tools/evolution/test/jsonstrict.test.ts @@ -0,0 +1,63 @@ +// Duplicate-key rejection (spec section 17.6). + +import { strict as assert } from 'node:assert'; +import { test } from 'node:test'; +import { assertNoDuplicateKeys, DuplicateKeyError, parseStrictJson } from '../src/jsonstrict.ts'; + +test('accepts an ordinary document', () => { + assertNoDuplicateKeys('{"a":1,"b":{"c":[1,2,{"d":3}]}}'); +}); + +test('rejects a duplicate key at the top level', () => { + assert.throws( + () => assertNoDuplicateKeys('{"outputFingerprint":"real","outputFingerprint":"forged"}'), + DuplicateKeyError + ); +}); + +test('rejects a duplicate key in a nested object', () => { + assert.throws(() => assertNoDuplicateKeys('{"source":{"head":"a","head":"b"}}'), DuplicateKeyError); +}); + +test('the same key in sibling objects is not a duplicate', () => { + assertNoDuplicateKeys('{"a":{"id":1},"b":{"id":2}}'); +}); + +test('the same key across array elements is not a duplicate', () => { + assertNoDuplicateKeys('[{"id":1},{"id":2},{"id":3}]'); +}); + +test('braces and colons inside strings are inert', () => { + // A naive scanner that did not lex strings would see `{"x"` as a new object + // and mis-track depth from here on. + assertNoDuplicateKeys('{"note":"{\\"x\\": 1} : , {","note2":"}"}'); +}); + +test('escaped quotes do not terminate a key', () => { + assertNoDuplicateKeys('{"a\\"b":1,"a":2}'); + assert.throws(() => assertNoDuplicateKeys('{"a\\"b":1,"a\\"b":2}'), DuplicateKeyError); +}); + +test('unicode escapes are decoded before comparison', () => { + // "a" and "a" denote the SAME key, so this must be caught. Comparing raw + // source text would miss it. + assert.throws(() => assertNoDuplicateKeys('{"\\u0061":1,"a":2}'), DuplicateKeyError); +}); + +test('array values do not confuse key tracking', () => { + assertNoDuplicateKeys('{"list":["a","b"],"a":1}'); +}); + +test('parseStrictJson returns the parsed value when clean', () => { + assert.deepEqual(parseStrictJson('{"a":[1,2]}'), { a: [1, 2] }); +}); + +test('parseStrictJson refuses a duplicated key rather than last-wins', () => { + // JSON.parse alone would silently return {"a":2}. This is the whole point. + assert.equal((JSON.parse('{"a":1,"a":2}') as { a: number }).a, 2); + assert.throws(() => parseStrictJson('{"a":1,"a":2}'), DuplicateKeyError); +}); + +test('unterminated string is reported, not silently accepted', () => { + assert.throws(() => assertNoDuplicateKeys('{"a":"oops'), DuplicateKeyError); +}); From a964a4d36c41cf3d6c013569176eeba541ebb771 Mon Sep 17 00:00:00 2001 From: Shining <250120269+chronoai-shining@users.noreply.github.com> Date: Wed, 5 Aug 2026 17:41:48 +0800 Subject: [PATCH 02/27] feat(evolution): declare owner-controlled config and product intent MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Enrollment requires an explicit `source.productRelevant` set: the specification ships no default, and open question 40.16 defers the question of whether a defensible one exists to Phase 1 measurement. The asymmetry is why a guess is not acceptable here — a too-broad set is merely expensive and visibly so, while a too-narrow one fails silently, because the artifact that was never regenerated produces no signal and nobody files a bug for a thing that did not happen. The set errs wide within `backend/src`, `frontend/src` and `skills`, and narrow outside them. Tests are excluded from cycle admission but remain covered for provenance and remain evidence: excluding them stops a test-only commit from launching a video render, which is not the same as ignoring them. `intent/` is the human half of the model and is deliberately separate from `observed/`. Evolution reads both and writes only the second; the confinement check rejects `config.yaml` and `intent/**` in a sync pull request unconditionally. Keeping them apart is what stops an inference from silently becoming product strategy — the protected facts in `overrides.yaml` are exactly the claims that cannot be derived from source, and a generated artifact that contradicts one must block rather than resolve in favour of the inference. `source.branch` records the specification's `@default` sentinel even though the control plane cannot express it yet: `validate_branch_name` permits only `[A-Za-z0-9._/-]`. Recording the correct value keeps the gap visible instead of encoding today's limitation as the design. Part of #5866 --- .fkst/evolution/config.yaml | 119 ++++++++++++++++++++++++++ .fkst/evolution/intent/overrides.yaml | 72 ++++++++++++++++ .fkst/evolution/intent/product.md | 100 ++++++++++++++++++++++ 3 files changed, 291 insertions(+) create mode 100644 .fkst/evolution/config.yaml create mode 100644 .fkst/evolution/intent/overrides.yaml create mode 100644 .fkst/evolution/intent/product.md diff --git a/.fkst/evolution/config.yaml b/.fkst/evolution/config.yaml new file mode 100644 index 000000000..f0fc642d1 --- /dev/null +++ b/.fkst/evolution/config.yaml @@ -0,0 +1,119 @@ +# FKST Evolution configuration for fkst-hosted. +# +# OWNER-CONTROLLED (section 12.3). Evolution reads this file and never writes +# it: the section 25.8 confinement check rejects it in a sync PR unconditionally, +# and section 13.3.1 makes clear that this file is an INPUT, not the safety +# boundary — the boundary is a control-plane prefix comparison that nothing here +# can widen. +# +# Spec: docs/evolution_temp_spec.md on branch `evolution-temp-spec`. + +schemaVersion: 1 +enabled: true + +source: + # Section 21.1 dynamic default-branch resolution. NOTE: the control plane + # cannot express this yet — `validate_branch_name` + # (backend/src/reconcile/branches.rs:43) permits only `[A-Za-z0-9._/-]` and so + # rejects `@`. Recorded here as the spec-correct value; see issue #5866. + branch: "@default" + + # Paths that can plausibly change the PRODUCT SURFACE. This set drives cycle + # admission (section 17.5) and is REQUIRED — section 13.3 rejects an absent or + # empty set, and open question 40.16 defers the question of a defensible + # default to Phase 1 measurement rather than guessing one here. + # + # The asymmetry that shaped these entries: a too-broad set is merely expensive + # and visibly so, while a too-narrow one fails silently — the artifact that was + # never regenerated produces no signal and nobody files a bug for a thing that + # did not happen. So this errs wide within the two source trees and narrow + # outside them. + productRelevant: + include: + # The control plane: HTTP surface, reconciler, and session lifecycle. + - "backend/src/**" + # The SPA: every user-facing screen and its API client. + - "frontend/src/**" + - "frontend/index.html" + # Operator-facing skill manuals ship as product surface. + - "skills/**" + exclude: + # Tests describe behaviour but are not themselves product surface, and a + # test-only commit must not launch a media-rendering cycle. They remain + # COVERED below, and they remain evidence (section 14.2) — exclusion here + # is about cycle admission, not about ignoring them. + - "**/*_tests.rs" + - "**/*.test.ts" + - "**/*.test.tsx" + - "**/test_support.rs" + - "frontend/src/test/**" + + # Everything else reachable on the trusted branch is COVERED for provenance + # but does not by itself launch a cycle (section 17.5). `.fkst/evolution/**` + # and `.fkst/packages/**` are removed unconditionally by section 17.3; the + # `**` below is understood to be taken after that removal. + coverage: + include: + - "**" + exclude: + - ".git/**" + +artifactRepository: "." + +intent: + product: ".fkst/evolution/intent/product.md" + overrides: ".fkst/evolution/intent/overrides.yaml" + +# Each entry selects a schema-FIXED subtree beneath .fkst/evolution/. There is no +# path field: configuration can enable or disable a class, never relocate it +# (section 13.3). +managedOutputs: + documentation: { enabled: true } # -> .fkst/evolution/docs/ + skills: { enabled: true } # -> .fkst/evolution/skills/ + journeys: { enabled: true } # -> .fkst/evolution/journeys/ + screenshots: { enabled: true } # -> .fkst/evolution/screenshots/ + slides: { enabled: true } # -> .fkst/evolution/slides/ + video: { enabled: true, storage: "github-release" } + +# Producer roles this deployment does not run (section 17.7.2). Empty: the first +# proof exercises every role, so nothing may be excused from the required set. +absentProducerRoles: [] + +locales: + - "en" + +triggers: + pullRequestPreview: true + defaultBranchPush: true + releaseFullRebuild: true + debounceSeconds: 60 + +publication: + # Bootstrap default (section 27.1). `automerge-managed` additionally requires + # accepting section 17.7.1's trust consequence — that corroboration is a + # controller TRANSCRIPTION of a sandbox-produced result, not independent + # observation — and that acceptance has not been made. + mode: "propose" + requireCurrentSource: true + requireChecks: true + allowDirectPush: false + onOwnerClose: "suppress-until-input-changes" + suppressionLabel: "fkst-evolution-suppressed" + maxRegenerationRounds: 5 + cycleDeadlineSeconds: 3600 + +drift: + # `block` during bootstrap (section 17.8). `repair` is defensible only after + # owners have explicitly accepted managed ownership of these subtrees. + policy: "block" + +generatorEpoch: 1 + +retention: + renderedSnapshots: 10 + preserveProductReleases: true + +security: + runPullRequestCode: false + allowProductionData: false + allowProductionCredentials: false diff --git a/.fkst/evolution/intent/overrides.yaml b/.fkst/evolution/intent/overrides.yaml new file mode 100644 index 000000000..2f19508db --- /dev/null +++ b/.fkst/evolution/intent/overrides.yaml @@ -0,0 +1,72 @@ +# Protected facts, terminology, and artifact rules (spec section 14.5). +# +# OWNER-CONTROLLED. Evolution reads this file and never writes it. +# +# A protected fact is one that cannot be reliably inferred from source. An +# observed contradiction with any statement here MUST block publication of the +# affected artifact and produce a clear review request — it is never silently +# resolved in favour of the inference. + +schemaVersion: 1 + +protectedFacts: + - id: "github-is-the-only-durable-store" + statement: >- + GitHub is the only durable system of record. The control plane keeps no + database; a complete loss of its process-local state does not lose work. + evidence: "CLAUDE.md" + owner: "product" + + - id: "work-item-authority" + statement: >- + Only a session's effective creator, a login frozen under that session's + Session Collaborators, and deployment global administrators may author work + for it. Repository admin or maintain permission alone is not work + authority. + evidence: "backend/src/routes/canvas/work_item.rs" + owner: "security" + + - id: "issues-are-the-only-control-surface" + statement: >- + Sessions are started, driven, and stopped through GitHub issues. The + dashboard's write actions are conveniences over that protocol, not a second + control plane. + evidence: "skills/fkst-control-plane-manual/SKILL.md" + owner: "product" + + - id: "no-outcome-guarantee" + statement: >- + A session produces candidate pull requests for human review. The product + does not guarantee correct, complete, or mergeable output. + evidence: ".fkst/evolution/intent/product.md" + owner: "product" + + - id: "engine-is-out-of-scope" + statement: >- + fkst-hosted contains no kernel-engine code and never changes engine + internals; that work lives upstream in fkst-substrate. + evidence: "CLAUDE.md" + owner: "product" + +terminology: + forbidden: + - "job" + - "agent instance" + - "ticket" + preferred: + "job": "session" + "run": "session" + "agent instance": "session" + "ticket": "work item" + "task": "work item" + +artifactRules: + # Section 27.3: claims marked regulated, legal, financial, or + # security-sensitive always require human review. + - match: ".fkst/evolution/slides/investor/**" + requiresHumanReview: true + - match: ".fkst/evolution/slides/internal/**" + requiresHumanReview: true + # Security-facing documentation makes claims a reader may rely on operationally. + - match: ".fkst/evolution/docs/security/**" + requiresHumanReview: true diff --git a/.fkst/evolution/intent/product.md b/.fkst/evolution/intent/product.md new file mode 100644 index 000000000..024b24466 --- /dev/null +++ b/.fkst/evolution/intent/product.md @@ -0,0 +1,100 @@ +# Product intent — fkst-hosted + +**Owner-controlled (section 12.3).** Evolution reads this file and never writes +it. It may *propose* changes, but only in a separate pull request that autonomous +policy never merges (section 12.1.1 rule 2). Everything here is a human claim +about what the product is *for*; everything in `observed/` is a machine claim +about what the product currently *does*. Keeping them apart is what stops an +inference from silently becoming product strategy. + +## What this product is + +fkst-hosted is ChronoAI's hosted cloud service for the fkst project. It turns a +GitHub repository into a place where autonomous coding sessions can be started, +watched, and driven — **entirely through GitHub issues**. A user opens a trigger +issue to start a session and opens labelled work issues to queue work; the +session produces pull requests. + +The web dashboard is the observation and control surface over that loop. It is +not a second source of truth: every action it offers is a GitHub write performed +as the signed-in user, and every state it shows is derived live from GitHub. + +## Intended audiences + +- **Session owner** — the person who opened a session's trigger issue. Drives + the session: queues work, watches health, retires it. +- **Repository maintainer** — holds admin or maintain permission on a repository + and decides which sessions may run against it. +- **Deployment administrator** — operates the FKST Cloud deployment itself; + spans every account and repository where the GitHub App is installed. + +## Value proposition + +Delegating implementation work should not mean losing sight of it. fkst-hosted +keeps the whole loop legible: what is running, what it is working on, whether it +is healthy, and what it produced — with GitHub as the only durable record, so +nothing depends on this service remaining available to reconstruct the truth. + +## Canonical terminology + +- A **session** is the unit of autonomous work. It is owned by an *effective + creator* and lives in its trigger issue. +- A **work item** is an issue carrying one of the session's effective work + labels, assigned to that session's creator. +- A **trigger issue** registers a session and freezes its configuration. +- Say **session**, not "job", "run", or "agent instance". +- Say **work item**, not "task" or "ticket". +- Say **effective creator**, not "owner", when referring to session attribution — + "owner" is overloaded with repository ownership. + +## Prohibited and regulated claims + +- Never claim the product **guarantees** correct code, merged pull requests, or + any particular outcome. Sessions produce candidate work that humans review. +- Never claim isolation or security properties beyond what the deployment + actually enforces. Sandbox isolation depends on the runtime the deployment + runs; do not describe it as a guarantee in artifacts that do not name that + runtime. +- Never present a capability as available when it is gated behind configuration + the reader may not have. State the gate. +- Never imply that fkst-hosted stores user source code. It does not; GitHub does. + +## Known non-goals + +- fkst-hosted is **not** the kernel engine and never changes engine internals. + That work belongs upstream in `fkst-substrate`. +- It is not a general CI system, an issue tracker, or a replacement for code + review. +- It does not offer an API surface for driving sessions outside the GitHub + issue protocol. The dashboard's write endpoints are conveniences over that + same protocol, not an alternative to it. + +## Demo-data constraints + +Every demonstration — screenshot, video, deck — MUST use synthetic fixtures. The +E2E fixtures in `frontend/e2e/` are the sanctioned source: they mirror the real +wire shapes field for field while naming fictional accounts (`octo-dev`, +`acme-corp`) and fictional repositories. No real repository name, real GitHub +login, real issue title, or real session identifier may appear in a public +artifact. + +## Documentation voice + +Direct and second-person. Say what the reader does and what happens. Name the +failure and its remedy rather than assuring the reader it will not occur. Prefer +a concrete error code or label over a paraphrase. + +## Presentation audiences and confidentiality + +| Deck audience | Confidentiality | Notes | +| -------------------- | --------------- | ---------------------------------------------- | +| Product release update | Public | Safe for external sharing | +| Customer onboarding | Public | Must not reference unreleased capabilities | +| Internal roadmap | Internal | Never generated from inference alone | +| Investor update | Internal | Requires human review (see `overrides.yaml`) | + +## Accessibility requirements + +Generated artifacts must carry text alternatives for every image, must not rely +on colour alone to convey state, and must keep captions available whenever a +video carries narration or meaningful audio. From f2cbe69afb96721844f716aedbaf961359ac3b27 Mon Sep 17 00:00:00 2001 From: Shining <250120269+chronoai-shining@users.noreply.github.com> Date: Wed, 5 Aug 2026 17:41:48 +0800 Subject: [PATCH 03/27] feat(evolution): observe capability cap_9d41 and its journey MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The observed model is the machine half: one capability, "Queue work for a running session", and the journey that verifies it. Identifiers are opaque and allocated once, deliberately not derived from the title or path, so that a rename cannot produce a different identity by construction rather than by instruction. Every limitation recorded on the capability is a documented response of `backend/src/routes/canvas/work_item.rs` — the 400, 403, 409 and 422 branches — rather than an inference from reading the happy path. The work-authority limitation is the one most worth stating precisely: repository admin or maintain permission is NOT work authority, which is a distinction the endpoint enforces and a reader would otherwise get wrong. The change record is sharded by year and commit prefix so its location is computable from its identity alone. It uses the relation lists rather than `removed` for identity transitions: encoding a merge as two removals plus an addition would make generated release notes publish "features removed" about a product that lost nothing. Part of #5866 --- ...380a11ec7f5687ec9505b5f302c29ae517053.yaml | 81 +++++++++++++++++++ .fkst/evolution/observed/capabilities.yaml | 68 ++++++++++++++++ .fkst/evolution/observed/journeys.yaml | 50 ++++++++++++ 3 files changed, 199 insertions(+) create mode 100644 .fkst/evolution/changes/2026/80/802380a11ec7f5687ec9505b5f302c29ae517053.yaml create mode 100644 .fkst/evolution/observed/capabilities.yaml create mode 100644 .fkst/evolution/observed/journeys.yaml diff --git a/.fkst/evolution/changes/2026/80/802380a11ec7f5687ec9505b5f302c29ae517053.yaml b/.fkst/evolution/changes/2026/80/802380a11ec7f5687ec9505b5f302c29ae517053.yaml new file mode 100644 index 000000000..e6ceeda7f --- /dev/null +++ b/.fkst/evolution/changes/2026/80/802380a11ec7f5687ec9505b5f302c29ae517053.yaml @@ -0,0 +1,81 @@ +# Semantic product change record (spec section 15). +# +# The source commit SHA is the identity; the path shard is derived from it +# (section 15.2), so a record's location is always computable from its identity +# alone. Reprocessing this commit updates this same file rather than adding +# another record. Once merged the record is immutable except for schema +# migration or correction of a demonstrable factual error. + +schemaVersion: 1 +sourceCommit: "802380a11ec7f5687ec9505b5f302c29ae517053" +sourceParents: + - "05d718594cdc30c249a5ef41bff1636fc6320fd3" +pullRequest: + number: 558 + url: "https://github.com/ChronoAIProject/fkst-hosted/pull/558" + headCommit: "802380a11ec7f5687ec9505b5f302c29ae517053" + +classification: "product-change" +summary: >- + Session owners can queue a work item onto a running session from the + dashboard, instead of hand-writing a labelled issue on GitHub. + +capabilities: + added: + - "cap_9d41" + changed: [] + deprecated: [] + # `removed` is reserved for a capability the product genuinely no longer + # offers. A false removal is a user-visible claim that generated release notes + # and the repository timeline will publish, so a non-empty list here requires + # human review (sections 14.2.2, 27.3). Renames, merges and splits use the + # relation lists below instead — encoding a merge as removals would publish + # "features removed" about a product that lost nothing. + removed: [] + renamed: [] + merged: [] + split: [] + +journeys: + added: + - "jny_2f7c" + changed: [] + removed: [] + renamed: [] + merged: [] + split: [] + +artifactImpact: + documentation: + - "docs.queue-work-item" + skills: + - "skill.queue-work-item" + screenshots: + - "screenshot.sessions-level" + - "screenshot.work-composer" + - "screenshot.session-detail" + videos: + - "video.queue-work-item" + slides: + - "deck.product-intro" + +migrations: [] + +limitations: + - >- + Authoring a work item requires being the session's effective creator, a + listed Session Collaborator, or a deployment global administrator. + - "The session's trigger issue must still be open." + - "The selected label must be one of the session's applicable work labels." + +evidence: + - kind: "pull-request" + ref: "#558" + - kind: "source" + ref: "backend/src/routes/canvas/work_item.rs" + - kind: "test" + ref: "frontend/e2e/dashboard.spec.ts" + - kind: "journey" + ref: ".fkst/evolution/journeys/queue-work-item.spec.ts" + +verification: "passed" diff --git a/.fkst/evolution/observed/capabilities.yaml b/.fkst/evolution/observed/capabilities.yaml new file mode 100644 index 000000000..6665b2b78 --- /dev/null +++ b/.fkst/evolution/observed/capabilities.yaml @@ -0,0 +1,68 @@ +# Observed product capabilities (spec section 14.2). +# +# EVOLUTION-MAINTAINED. This is a machine claim about what the product currently +# DOES, kept separate from `intent/` — the human claim about what it is FOR — so +# that an inference can never silently become product strategy. +# +# Identifiers are opaque and allocated once (section 14.2.1). They are NOT +# derived from the title, path, or summary, so a rename cannot produce a +# different identifier by construction. A capability that can no longer be +# matched to a product function is marked `unknown` and raised for owner +# adjudication — never deleted, and never reallocated. + +schemaVersion: 1 + +capabilities: + - id: "cap_9d41" + title: "Queue work for a running session" + status: "available" + summary: >- + Open a work issue against a running session directly from the dashboard. + The issue is created as the signed-in user and stamped with one of the + session's effective work labels, so the reconciler claims it for that + session. + audiences: + - "session-owner" + - "repository-maintainer" + interfaces: + - kind: "ui" + entrypoint: "/dashboard" + detail: >- + Drill to a repository's sessions, select one, then "Add work item". + The label selector offers the session's complete effective set, + including labels discovered from its packages. + - kind: "api" + entrypoint: "POST /api/v1/repos/{owner}/{name}/sessions/{issue_number}/work-items" + limitations: + # Every entry below is a documented response of the handler, not an + # inference from reading the happy path. + - >- + Work authority is limited to the session's effective creator, logins + frozen under its Session Collaborators, and deployment global + administrators. Repository admin or maintain permission alone is not work + authority; anyone else receives 403. + - "A closed session trigger is rejected with 409." + - >- + The session must expose at least one applicable work label and the + selected label must be one of them, otherwise the request is rejected + with 422. + - >- + The issue is opened as the signed-in user, so GitHub's own repository + permissions still apply on top of the deployment's authority check. + - "A blank title is rejected with 400. An omitted body opens a body-less issue." + journeys: + - "jny_2f7c" + evidence: + - kind: "source" + ref: "backend/src/routes/canvas/work_item.rs" + - kind: "schema" + ref: "GET /openapi.json#/paths/~1repos~1{owner}~1{name}~1sessions~1{issue_number}~1work-items" + - kind: "test" + ref: "frontend/e2e/dashboard.spec.ts" + - kind: "test" + ref: "frontend/src/lib/api/canvas.test.ts" + - kind: "journey" + ref: ".fkst/evolution/journeys/queue-work-item.spec.ts" + introducedBy: "802380a11ec7f5687ec9505b5f302c29ae517053" + lastChangedBy: "0515fef6f7e42d761f02083423b77c0a3e933e7f" + verification: "passed" diff --git a/.fkst/evolution/observed/journeys.yaml b/.fkst/evolution/observed/journeys.yaml new file mode 100644 index 000000000..7d78d49cd --- /dev/null +++ b/.fkst/evolution/observed/journeys.yaml @@ -0,0 +1,50 @@ +# Observed product journeys (spec section 14.3). +# +# EVOLUTION-MAINTAINED. Journey metadata links product meaning to executable +# verification; the executable itself lives under `.fkst/evolution/journeys/`. +# +# A journey is both product EVIDENCE and CAPTURE SOURCE (section 23.5): the same +# passing run that verifies the capability produces the screenshots and the video +# frames, which is what stops a demo from drifting away from the behaviour it +# claims to show. + +schemaVersion: 1 + +journeys: + - id: "jny_2f7c" + title: "Queue a work item onto a running session" + audience: "session-owner" + capabilities: + - "cap_9d41" + executable: + framework: "playwright" + ref: ".fkst/evolution/journeys/queue-work-item.spec.ts" + # Section 23.5: capture must not depend on timing, locale, or viewport + # accidents. These are pinned rather than defaulted. + viewport: { width: 1440, height: 900 } + deviceScaleFactor: 1 + locale: "en" + theme: "dark" + prerequisites: + # Section 25.7: production data is prohibited even when the owner has + # access to it. Every response in this journey is served by the E2E route + # fixtures, which mirror the real wire shapes while naming fictional + # accounts. + - "Synthetic API fixtures from frontend/e2e/fixtures.ts (no live backend)" + - "A signed-in viewer seeded into localStorage by the same fixtures" + captures: + - id: "sessions-level" + kind: "screenshot" + description: "A repository's sessions, before any work is queued" + - id: "work-composer" + kind: "screenshot" + description: "The work composer with the session's effective label set" + - id: "session-detail" + kind: "screenshot" + description: "The session detail drawer on its Status tab" + - id: "queue-work-item" + kind: "video" + description: "The full queue-work journey, end to end" + evidence: + lastVerifiedSource: "98cccb5af755d4cdf71d7253dd5e9c2c934fb3f0" + result: "passed" From 6398db416b6647094cb90a28a2c011ce6eaca026 Mon Sep 17 00:00:00 2001 From: Shining <250120269+chronoai-shining@users.noreply.github.com> Date: Wed, 5 Aug 2026 17:42:09 +0800 Subject: [PATCH 04/27] feat(evolution): add journey jny_2f7c and its captures MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A journey is both product evidence and capture source. This one asserts that the work composer offers the session's complete effective label set and accepts a Markdown body verbatim, and the same passing run produces the three screenshots every other artifact derives from. That coupling is the point: a demo cannot drift away from the behaviour it claims to show, because the video cannot be produced by a run whose assertions failed. The journey lives under the Evolution root and is reached by pointing the test runner's `testDir` at it — the specification's "consumption" pattern. Copying generated files out to a conventional location would create a second maintained copy, so the runner is configured to look inward instead. Reusing `frontend/e2e/fixtures.ts` rather than copying it is safe and deliberate: those fixtures are the repository's single description of the API's wire shapes, and their only `@playwright/test` import is type-only, so importing them cannot pull a second runner instance into the journey. Three settings are pinned rather than defaulted, because the specification requires each capture to record its viewport, scale factor, locale and theme: a Playwright upgrade that changed a default would otherwise silently alter every screenshot while the fingerprints still reported them current. Retries are zero for the same reason — a result that only holds on the second attempt is a flaky demo, not evidence. `"type": "module"` has to be declared in the root manifest because that is the nearest one to `.fkst/evolution/journeys/`. The repository has no root-level CommonJS for it to affect. `@playwright/test` is pinned exactly to the version `frontend/` resolves to, so the runner cannot drift ahead and pull a second browser revision. Part of #5866 --- .../journeys/queue-work-item.spec.ts | 180 ++++++++++++++++++ .../evolution/screenshots/session-detail.png | Bin 0 -> 240844 bytes .../evolution/screenshots/sessions-level.png | Bin 0 -> 237805 bytes .fkst/evolution/screenshots/work-composer.png | Bin 0 -> 184690 bytes package-lock.json | 78 ++++++++ package.json | 9 +- tools/evolution/playwright.journeys.config.ts | 63 ++++++ 7 files changed, 329 insertions(+), 1 deletion(-) create mode 100644 .fkst/evolution/journeys/queue-work-item.spec.ts create mode 100644 .fkst/evolution/screenshots/session-detail.png create mode 100644 .fkst/evolution/screenshots/sessions-level.png create mode 100644 .fkst/evolution/screenshots/work-composer.png create mode 100644 package-lock.json create mode 100644 tools/evolution/playwright.journeys.config.ts diff --git a/.fkst/evolution/journeys/queue-work-item.spec.ts b/.fkst/evolution/journeys/queue-work-item.spec.ts new file mode 100644 index 000000000..7c5cbfe96 --- /dev/null +++ b/.fkst/evolution/journeys/queue-work-item.spec.ts @@ -0,0 +1,180 @@ +// Executable journey jny_2f7c — "Queue a work item onto a running session". +// +// EVOLUTION-MANAGED OUTPUT (spec section 12.3). Regenerated from the product +// model; edit `observed/journeys.yaml` and the generator, not this file. +// +// A journey is both product EVIDENCE and CAPTURE SOURCE (section 23.5): this one +// run verifies capability cap_9d41 AND produces the screenshots and the video +// frames every other artifact derives from. That is what stops a demo from +// drifting away from the behaviour it claims to show — the video cannot pass +// while the assertion fails, because they are the same run. +// +// SYNTHETIC DATA ONLY (section 25.7). Every response is served by the E2E route +// fixtures, which mirror the real wire shapes field for field while naming +// fictional accounts. No live backend, no credential, no production data. +// +// WHY the fixtures are imported rather than copied: they are the repository's +// single description of the API's wire shapes, so a copy here would silently +// rot. Their only `@playwright/test` import is type-only, so importing them +// cannot pull a second runner instance into this file. + +import { mkdir, writeFile } from 'node:fs/promises'; +import { dirname, join } from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { test, expect, type Page } from '@playwright/test'; +import { installApiRoutes, seedAuth, PERSONAL, REPO } from '../../../frontend/e2e/fixtures'; + +// Resolved from this file rather than from the cwd: the journey is run by a +// config two directories away, and a cwd-relative path would write captures +// wherever the runner happened to be invoked. +const HERE = dirname(fileURLToPath(import.meta.url)); +/** Managed screenshots subtree (section 13.2 fixes this destination). */ +const SHOTS = join(HERE, '..', 'screenshots'); +/** Build output, NOT Evolution state — section 12.2 keeps temporary frames out. */ +const CHECKPOINTS = join(HERE, '..', '..', '..', 'tools', 'evolution', 'out', 'checkpoints.json'); + +interface Checkpoint { + id: string; + /** Milliseconds from the first navigation — the video's zero. */ + offsetMs: number; + caption: string; +} + +const checkpoints: Checkpoint[] = []; +let startedAt = 0; + +/** + * Wait out every FINITE entrance animation so a capture sees the resting UI + * rather than a mid-transition frame. Infinite loops (spinners, glow) are + * skipped because their `finished` promise never resolves. + */ +async function settle(page: Page): Promise { + await page.evaluate(() => + Promise.all( + document + .getAnimations() + .filter((a) => a.effect?.getComputedTiming().iterations !== Infinity) + .map((a) => a.finished.catch(() => {})) + ) + ); +} + +/** + * Record a narration checkpoint and, when the capture is a declared screenshot, + * write it into the managed screenshots subtree. + * + * The caption is deliberately recorded HERE rather than written by hand later: + * a caption authored away from the step it describes is the first thing to go + * stale when the journey changes. + */ +async function checkpoint( + page: Page, + id: string, + caption: string, + capture: 'screenshot' | 'video-only' = 'screenshot' +): Promise { + await settle(page); + checkpoints.push({ id, offsetMs: Date.now() - startedAt, caption }); + if (capture === 'screenshot') { + await mkdir(SHOTS, { recursive: true }); + await page.screenshot({ path: join(SHOTS, `${id}.png`), fullPage: false }); + } + // A short hold so the moment is legible in the video. Without it a capture is + // a single frame nobody can read at playback speed. + await page.waitForTimeout(1200); +} + +/** The dashboard's right "Details panel" — the stable surface for level navigation. */ +const sidebar = (page: Page) => page.getByRole('complementary', { name: 'Details panel' }); + +test.describe('jny_2f7c — queue a work item onto a running session', () => { + const pageErrors: string[] = []; + + test.beforeEach(async ({ page }) => { + pageErrors.length = 0; + page.on('pageerror', (err) => pageErrors.push(String(err))); + await seedAuth(page); + await installApiRoutes(page); + }); + + test.afterEach(() => { + // A journey that threw in the browser is not evidence of anything, even if + // every assertion happened to pass. + expect(pageErrors, 'the journey must run without page errors').toEqual([]); + }); + + test('a session owner queues work without leaving the dashboard', async ({ page }) => { + startedAt = Date.now(); + + // ---- The dashboard root: every account the App is installed on ---------- + await page.goto('/dashboard'); + await expect(page.getByRole('heading', { name: 'Your fkst sessions' })).toBeVisible(); + await checkpoint( + page, + 'overview', + 'Every account and repository where the fkst GitHub App is installed.', + 'video-only' + ); + + // ---- Drill into an account, then a repository --------------------------- + await sidebar(page).getByRole('button', { name: `Open account ${PERSONAL}` }).click(); + await expect( + sidebar(page).getByRole('button', { name: `Open repository ${PERSONAL}/${REPO}` }) + ).toBeVisible(); + await checkpoint(page, 'account-repos', 'Drill into an account to see its repositories.', 'video-only'); + + await sidebar(page).getByRole('button', { name: `Open repository ${PERSONAL}/${REPO}` }).click(); + await expect(page.getByRole('heading', { name: 'Sessions' }).first()).toBeVisible(); + await expect(page.getByText('feature-auth').first()).toBeVisible(); + await checkpoint( + page, + 'sessions-level', + 'A repository’s running sessions, each backed by its trigger issue.' + ); + + // ---- Queue work from the selected session ------------------------------- + await page.getByRole('button', { name: 'Add work item' }).click(); + const composer = page.getByRole('dialog', { name: 'Queue work' }); + await expect(composer).toBeVisible(); + + // The label selector carries the session's COMPLETE effective set, including + // labels discovered from its packages — the property that makes the queued + // issue routable to exactly this session. + await expect(composer.getByLabel('Work label').locator('option')).toHaveText([ + 'fkst-security', + 'fkst-work', + ]); + await composer.getByLabel('Title').fill('Audit callback validation'); + await composer + .getByLabel('Details (optional)') + .fill('## Acceptance criteria\n\n- [ ] Cover expired states'); + await checkpoint( + page, + 'work-composer', + 'Queue a work item. The label list is the session’s effective set; details accept Markdown.' + ); + + await composer.getByRole('button', { name: 'Queue work' }).click(); + await expect(composer).toHaveCount(0); + await checkpoint( + page, + 'queued', + 'The work issue is opened on GitHub as you — the reconciler claims it for this session.', + 'video-only' + ); + + // ---- Watch the session that will pick it up ----------------------------- + await page.getByRole('button', { name: 'Open details for session feature-auth' }).click(); + const detail = page.getByTestId('session-detail'); + await expect(detail).toBeVisible(); + await expect(detail.getByRole('heading', { name: 'feature-auth' })).toBeVisible(); + await checkpoint( + page, + 'session-detail', + 'Follow the session’s health, phase and work items as it picks the item up.' + ); + + await mkdir(dirname(CHECKPOINTS), { recursive: true }); + await writeFile(CHECKPOINTS, `${JSON.stringify(checkpoints, null, 2)}\n`, 'utf8'); + }); +}); diff --git a/.fkst/evolution/screenshots/session-detail.png b/.fkst/evolution/screenshots/session-detail.png new file mode 100644 index 0000000000000000000000000000000000000000..983124f325195501eef6b1edb2240292ad153453 GIT binary patch literal 240844 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%0AS(ra-eY#!Qs-gFFm`vhTh4y8S$ps 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

-qpDg@Vhs?|?ODA{dYe%u%| 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� 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%0AS(ra-eY#!Qs-gFFm`vhTh4y8S$ps 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
    KsW{hLBfXv(LC;Avt6B=-fw9HEf&P^244mV=&h zeXORIJ+aK;1u1-2+2+9SHPHJVW^e7+F_Vts2bk}1Bc2(R4P5El3^bOJuZ-}zfQOKw z(f`^4RD4k?h2StQ(t4Oo{0mw{cB{qCk=zO>$=D)_9t8GeQHwz+Sp)eD_A`B7g-Myn z(RhEEf;?0{XBS83#MA#7aaM{`nkI}~RlKXQ2v?|*s2Vk?_Ne&@b~UBCI0N?Sps`HZ ziBmdu{Q2OkH0FVyLH;AT^!6A%z>VG2of3_1(4gGCEioOCmG{+M|Ck!&v&(njiZCXD znw5}t4zF3CkzQyw^C^ttRTP!fDrWqwXVo0zjmC03!3i~mZ6?_8W-EA*_OP{i1b4DT6y)?u^A&;bk$S>OV&{RE zGhiJXnBm`Xw(`l3-RnWY*+$79!a4H=H+YadzL)3atf-4pr@4th7rMCF;)xZ(*cako z)ODGCsS?I8`fI=i2eVghHU&8$<*~JMrpK>Y*zD$)TopWAkV{Y*O>$rkuGTZdJ7_-S z965Iv3z^|M#Q_=GT^gaV%S!5Zt1;%fSbCl&hT7*~`uT?`9d;G#;QMmfu{XiU{zoL5TK4`xh7Jz8r`o7g0!|I?I3t9sJFiHJa)8OOk zJ=}VD(V3pd`o8i>Tbwng9t>O5cGLCF0UHyv!uM7)R{T%@iN|Zs5-2)A^q3p$?60S? z6_K#b3yN%b_l_-`)UX{5%3OijqdQc1*?}!=q#{alnFoNNl8*@)Lj5e>A(gH7s__Jdk((iK6Oe$QS7m@#U z4AUVr(_V}FudV?$o5&lPqo41M z>~ld*1kh9;U>i`^`Otz^J1j_{YzpYnh4h5*4+iuNi3C~MIhrnJ_B9J8gA?_C21aJu zTp$)(@a+S9&BVLC^1W{gLL_#*{b)~@?kaW)>5V;*puK;+II?gAynjGh?U+0{|IYm$ zrYns2c8&~y(lEKEJ0J3&D&H1e?#W#$V+2t?meU8pS;90}10+h&VaA}mkbhltg}d3# z6Qmjum@v0RN6sL@_`*KD!77dR`f-W=XQbbaKIjQRD>j&ZA3B6LQy#@GG5epcp)c^05LC-5-P>i6(!w1s;Tn7Q4VcVgTpUVFq6^uPzN}a%rq*TrM zk3%yN(E&O+=$^a5?f*K`{(Z$HP$k zc&8hait|5@%JbSF29;_b>3&oiLMLX(IneXjIEP!4%Fy{d&5RM>Vh;^yEik^*!_XFS zjCq;XBUMMyHCf_=l7x@930+7yfBh~-0KHszD9O0VXdf&YTf=A6mt5#mb0K8FwhzCiO(;vMr>6ss=e($oQEz!BY3Cr7m>}oh^BPW#((U&|C`l zQ+p{1)rD>KcL~K5^AP)-8}s?nF!M~+O+1j&-ihNfs^Ihe4NdRWi%_E18H-Q>cCv-c z&803Xi~fYz;xebxTVsPpbdn^a6!l_)+9p;F>6x~-G;Y?S7Zr1#vcrA7Tz|2Zfwz=b zfyS3IsGljEx;@l7%mAW5Lq+4jXXwP>JQukKy$9EH?W6ZpS_{oFn7echEn=^Z4he57 z?}abrd1_PybJo{=&eoY&>sF70$M0%}h&Ef484M{yHOu0d2YTQqJ3|-mt<^QAhrS@= zYBKVchd@}QBx^kk$=y!VZRrW<`&8wZ3o1L)xcR|Ya3o1^zS;J(Vm3>zY=tTCS(y!f z;*AoK$>$jUE&JQ4;S|73Fa2XFpZ4V{psCM~jkP7XgSzeLZM-AcF-%hrlnzMM;3$&`K+$U#!%fWf99QPLG(_e$Mr?{zkuzMJ znE^d>TnHSZw)3uS8Wn92RE!bHOyCqpKcj?Y5S5~k<;pFxhXyjXw5~jg_Az?(WYz27 zr!yA6E9?;>n~J6!?e01o@N76;y&h3x(r^pMsQ2(quEy)|PUAqrhGNA%6ru9%byR@b z8(P|Zhhkp|)2*g$`Eop(-P2n`O4%NY1<;BkS|G2CcTOdjPl=smAT7NVcqv}zpEp0p znlG3Fs56;zV$!dY&z~_sm~EE!VD;Ff^cwhb6oaa457sd(!c#M%?-G~DUHi1F!Hq1x z`4HGf{#->@Rg1CQUaj7P14gxeUeENrM zNhwC68kvyR5Lqx9fpmxz#Oj1i?N zZvVJ`!f#ZM4=KyX(qCV!TyeV)QL#LlXj5Y>!jU5u0j%zQveW;l(4dogPM^vwsPjSD zW>x)l{dY`ZYx<59m5nL+m~X(n2HpzWP&Vji>SW5n3fy0S`^eJ}a_f^=Si^=GtvByP(scbc`X*prkF}{vq1UDkQSa-BhY-`*jAmvHHtystW#&^7HF6Wf>$e50ia#V>IpP=M=dk& zaz8}haI)=c4CLpuKtqJ2FXFxWBs#HD?|*<`9$3tiYt}lDQH6>IZUthWWZHIeUtoHJZe*Q(@B`6 z(}dq6Y_CTLs6A8f@#7X2R_~Do-q)4q{|;PY9QG;Q)|$wIBQDX$p(Y(rOQrn;yLe$a zrz|21_*h<%#iTJ=YC|XCAQgA)PCU1=jfB&u6(9uu!|KYHr<+rB{i0#jXh1O8#x@LD zVQ2k*JceA&V+}DZTIo*Rn^O>1@r5ns>?;{Rrr4+8>ftQFf2AqoC|#U#QCWFmy-?B9 zwfr7;Fr6e8ZbT!NCk)Rm&xfzztCu9D=)!}l{j8COIcqfKaz!jw#hI_zwMfwyBcNE-}PeX60Wc^pwH?AB((|;#wj{Vt+g232PCV zMgrlMadg&0bU2N84xVTVz~<7&b;TKu8e?iVAk4h1n`(`|or8tV33eSc)AQ|xv56*i z?Airuf#xSd{DlG}I}~cSmcAotIdGOx?zzhaBdqhkrP;qZwS&$+bWdejyd~tfg2#5L zFzb(|UF+y9B}e#TPZ9mA!#6&*3N6{XihIcS%vN>Pieg~HZ|jv#Ooa0(bD~hsD0d`( zE#WTF=_5r4&oJF742j$7X@ttGkW#sKHtWcy>SGbTX$?xWK7JTILb78=3T)lgzwj)D z7%GbYW>nALNi|`0nQ29FZi*i<`Y+4J{M`U5WoJ~%h&hjSh~%hQ?4MXjTvl1gw~Arg zL>*R!rB?+p#K5NVXU>M6RO+h}Epb_DDSCLABY@y7)0%V(lj8su`Jby>g)4G-Q)w*o zKGnTgGjyl$Nvn|ZqA3kIV}?nLDT|h4h8~&Nsx+Eb0-_rkK(Pj8*E(et;DhH#os}XM z@c90RoU%|+NZ}u;+tBP_(vVy95-a4Azf;1AWwIeeuwffTvbNfcx>iW;N%6f5rI}3M z$_3X`)Krnes!(R`B&|xqrwWI|fi$4b#64JqH8#vX^5ZM{_`U9QH6IMo*W??7A~Lp4ZdlBqIswCd;8 zRFzu|Q+|>lpI*K$yebO^E9@JAa!^5HBk@j{*&;NQlF>Q*#oCIyq2{NqdaL)uph{cm z;uBktrKZms$5@G|{fp{O<3o)m9V5?n_Jb6Vyj?{7l<{266gsgJqy4)p3_kFEaUMhD zSZnF1_C#tXOu+2Y@@LjFM7*cj$BJ&_&X$iw)u%A68N26GB{V=+&FfG7faRfz&?~EZ zi}WVt4{>l5wEN*bV~l+W&a~3vStiI?(6Wf0g77l=^Lo~MAjOKVLBSFKlT(nI8krJH ztWs*1%Mq=K%v@HpB)zY4bPXh=LhI}SPjvBqtkyen$J!&Ksz9ZxG>?!iRf~rFtU2D| z9&i6a6)egTA3D)pXGg`WtSay!hJyD!tIw}r3}B1r@f8HBXt{SybuFn$F54AuynuFJ{1`r(Uh`N9w+%^(Y`!X5@D!mPe{#fkP4a8%&WiJ`uLO3A9-|bd z@Q_%h95^kJTK^9zOi5BqJ}Nhosf~%h$x;;YA@mx&D|eA60`3-}dL{AC;#&8oY|N(y zPgADDa|?LoY9|`-{!I8ip2{VR6B7PaUfycJtELIC)FJSzp8DkplU|S zgJZd#?|er|B>j>FmHsXO6}vh#jextl?D-SOm|F5zT_pba(sNtQ5fyJpHfJFI#%S~M zjyQ@_>dg&hF+|bVo#(Rvm^Wv-swB(vD-@BPWDtOaELzL4G!->_e5rkPYDsilU9w0x1g$Ail zV(R^dY*`pMT0CE^0P*svJ#vE!7AUiL7p0(SHv#-wQ9Z`IA!eo~{&^|u`A7F!F-{pn zo1SqxaQ9;B#YFEonKgDfQuCwy;wovS*=|*uXKlhTvPZ8GW?x*Z4c9rUB9oy_$%**F z*Di&MGGctm`Zm=t_3l7{_h5T^!ck)WZ!xn!=o{;WUr5RWy%dAIq zT0a&zkHcR(N&Kz(%}k*|yx5?hs!%MU`)typKAaKfTO%Z4kTUZ+zLF5-iQZf|pCQ9w zS=ZvnMJ6sOGr{Jei7PDaOX*R>v@~RO*8@`ZbZbwEE-cg%+aBEPP0R<7I>BB-&P# zsysB|P?#j?&z3Ao+U*|ZxvHC-KvlHAz`wYjgtP%T=844-+Aj76Mrs#wIyDt;%qNAG z3}ZcvIzpt`UIxEy2F@p9?`vu_*g^P&l3zU5OJ$0ZvaAHwmfQ{h>UFPg2_EUb)nQKq z0Q4#sSYld{Cba&?TBRN_t$~Y$rFrvoJGVf;bs5@*Fo_bDYLP8MT}#$V)FOkZiS)?e z-@dkG^I^amULp^Vuy5+T-D{T6;A#pe)aJ=YN_?HFuC-VJo9J=D1fPqNmT%2MzWlYY z8IRm>q-(cyr4dw)Q=lXKT!|tB1}8*OJXQT*aiF~n*6+|Ul<14IQdadMc0dUv<|xaw z)bqH&WSooa8(K``*~!>=5hu8}@MQx4@2nd%T7CZXl!djm&I~jy*kI-3Pg>+Nd^Qbf zXvoWPwg?{d`c9Z`%-G*qFk_6`=$%eYx}Ci%0KRz0+jR23xW-&m`+*_N!cyZKN+$%q zp5`8K^AJF37b$u4VqW;=tUH{R*UnaM!?R`yB4-*$?PGSB`4(0m%6U}+gt=P z@1vwq^1#?{7oqAS(8Wr|a1G1vUX0+Wt){_|EVhF)DFHD~=>)!OcCg+tNl9-(ATQWO zp6zJ}GBD^nqHPgW2_Hk;?5wJlg_8*t`=OfAw`399dl{fsi;w_*2~>kB@w zHbwHp{%tU@a6gYqn_vAX3J3ZW*#VY2O^S{VrYN3UzxVX-@_Up|(lmCJ1$oU9E)s7~ z8Jbi|$|4?{yE(99}g(nl@t;VszRc3$D59*1N$<}k+*&pEMDVKogmziHgfn7q- z?iGAD)g+Ncy5to9oo@_^6cA1-~RBDlW!@!IHPJav48caFVn$nR5&MS z#>{`poA`RO>`qV1iKUPIOe|GOXNPKr6ZaiZSTa0)W-33b&i|`mAZ_ZMVWOe9EJGlr z1=?r*gFha0HxHvj8%kVFju-2m4`7}xx7i-X1L_13A3whz${D3piYj5bj|~3z2aKsB zw(?XfUKK|K@>sM6yKWWBlOm2DU(;SH+5YmO_>iS9oEqmv_-?J8xXOMyjHHg&_A+3> zqaUSL_J;I$?fTC;)aa}u!9oo^9VBeSjvQho`jYovg@XP^7is6BwcnD~J+%oGe{A}L z)OZP#dq3D6wwZK)t5i_E*L$0uL3=HLlr{d{Nn&hk%(G6QmE0Yq!P^#i?)DQ-QZg5f zQ%wbf7t*XGB)^E4InO6UL$ccIPo;Tf7wgH@$Ki-E`nziy)7Zb&1Sbbst;;Qpv0v-t5(vid@E93iS0I-ZJ+T2!AsAyzYvQvw-8WSnG0M^Mhn_<_L zx90e+P33NQzE<%9UHsV89kitK>q{{*D5 z^FEGFjw9^bMToyg+|~H{{2=tOb{J(7@X#D+{GbDCzp5$6q;LYQ=3{IZ*nt#_%dwJ3=QdCpxz!v~fwFeZ7&Pb=lRcTC(gHG<6cB zJnf@~wp&9S(*=<(RuAw(;B$T3Bioyf?(ph5-m(A>7pSBKXTD+UCaDJo??8-K7TFP5 z1Gg1E4G0RBcL>pX;Y}2{MeGl=cO{cTijT%CSrm|q{}|>A z1?g;T?6A92$Lj<>zseHF;-yF>ZY#ecS#F~FB2ScHF#$`E9VAp_Xm6hSbrQ3OVviKr z7WQ9qSsIqiG)BRiUaRHv&m&ahI7) z?*xrC1YIY*3m%&BvR=~aW%FkW^bp=c34O>d9ln41;#=2s=V=r@S>Vk$y`~kNz^VKt zZuZ+=7}xPVzssA%SIt%4tBUMv)g%P3eYF8|S!*hP_U0B}Tryyza;o%UI8%3bF#R=o z+O8AXwy|sel$Yjn=+Ei@=+@wAe02!O_zkQzM<$FdR?YOt`4 z4e16iwCC`uJJOi*--q-Dg@f;wvDGU+L1$CpnBiZS^iI;v6o`3spXqP0`=<*A5nNCP za6%iDn6JpgCPk?2whOo?jl8z6!!e@NA6NIi1Jk4YK4^L`@0)Vvf`0mG=%?AdfM5;H zxh(p~@^;xDVh^On1qPWurmjI4wCW|noaT5*-S*9COOsCBR4P%CTN$!C0rKnDv|9A1 zV&6c-ep|F@Rg_uP?PjT3le-Xx)ocyKqMA7R6-l1UEKMb5*7q)2!|v@9AA=xp6!WE) zxVHBW%ebvO%Wqg~bY+-%ZHPw!jKQyTpjKfuJA7Qx=xo|GcAdUxHT7SCXK2zwT{hmf zC@aC0`o_c**`LC+rjZk`$uDb)QeoT6&xrHxx%(ozsl8XqisZbC77BapX(_AV?iW;B z18BG9ZgLe6cRb7`0iR3<-7Xg*^k-R$AhtLowNiCb2wn53fs=zi2DS<}UEyaV6`MVngx4Uwx>r%A~F{G+R!$7J^pTt^^ z*YiRhGK8w)c?Y^Lo07D?1Zl8wp;W#vu|`pURphUr09Ft8i?jU*^49G9ASphLzV9*XLHK#i{O2byJIp9_D@BlD;9!G%Lg8yD zfxbZbq_Tv=wOy?x$J`WBvFe&i=~T)1Otb#2*Ni&S59eI{SIv&b2yCuiszYCDX??W3 z#gR-2SNf2HPy1u3>oL(LFduYrFo$aPz64C@)JaL4#3vaYQjf#H7 zW-6aAmk6_D<<$CX#D$%|dS+0OeC9sYnZcE|x99;{PXI?pz`lzT; z8%^X287vf`C?gOzj!wd!EE{7E2ix;P!(%|myNF=>|7#1#SZGji&P)f&Q{I$1g0y$` zmeq)(GMM}~pCYODK^GSmJ)uqKfw67-mY8AIs+^>3i7wxO!Fur_HIHc`r1W(n^66o_*Iiq9X7 z*k-M$7;`TV-7@SGscB5>&<)v5#xT`yxQbohm73Yd?$a)oRrRVkWE7sm@{8}K!WX>6 ziSwEgK)5Co5R!2V=QpbsQkXm0rK?I7WSsIrbi*z{K2>s$@o&r3Epkb;s##UF?!R>8 zx^is??QKfWrj!{**g+)PL^j*YEjwwwSHHv46?7a`re|*5k+joL(vB+k-Q}_j!{b+E z3T>OC@}<(gWYbl?zlh(!tLkN48TvK^!gK#BK_pycnUZ54i;+6aQB8fIc<&d2<$%6C zxM5=fj-`7%kD^CGlb+|J&C^Ga$@r~RWolGDWK(b5x~Z`Py} zRB=+JJbCYVgE;xRqu?IyoiodO9VCC(Br_ewxRP9^I%nJccmW3&Cm!3Fkx_t1XA9BQ zeNHOzctD1+6$baR2geK=F{w^bMaP`kK)xzi<%%p$YiI&bk_>-fjmmL{!7&(UWTpN$ zLOtgH5%tz#Z8lB&FjZWO6bq6}RH@@t6@!;3H?-Btb;V1KwsNMj0JDQ+dlA zZ^}(~xF(c)i}FM8>}`vSv+3xzJS57eJ$tNg zSZ<6@8a<0IfHdCVMh+*wX#rPwtlpk4<;4gh4VRGJh3{`X|JvwLV_55?{lOu|u%XN& ze>QfjC4WXG7wkYDiZzyH^NZ4JEaUh^t*018#|bjzxv;x)e3|YH%*cf<#`o97unJh~ z@S?ICKm|UXhuL6N6{>L;eS}%>vUNj@io*m@Io43L`#p^sc^UHGME~Xqr)ug$3}8+@ zq8^ZcoNA$u+-yc5RB}LWSfRwqFtuHAFCi_QsZjsL{7joUd7^^l)RqFYntbkkV(uteu(4{27G=22ji0ny1VTbl1tx~(Gv_$$9 zd%Y)3g{vaNaCunEwNTShrbnhTWD4MQjn0FdTq-@_O{ zFPOTGc1FASobRfC!&srs!@9cM>?l_efEPiPt1Wk_A&iua{+>d0u)4A;Pe40rH*+m4wlkJAot^#BnCOo}Mf zAUk8}azbCf#c-S88f;)}s}djBA;EW=|4g_62OPH*huP3X8uJhtVHWx*EBNCK@LEkb z@+^n6>9?4BhJHY;HOy!@o%OSfQ6pJ~bHEBcR+WS6d3Ph|NOO&6@($Apt_R)Q_0_@J zNbnL-2;7pfd31W~BSQ*h!7L2~-5==g4^`5EBG~t$AQBQu!(E(-mz!D+W_9|V2*tAu z;+Tvn$+y#`bhkg}rB8g)d@S40#f=G#h-!}S{cHmO&aaAd68x^K0DTF1#k2g7R<%xz zrw%_A{Qw)IYs_>EzHk%>SDM4hka5Is!VBNghrXMU*oP z4pGT3BmK-*+II2wgFLRt^Nwx~P2kD2$kLXXcMhbIvvvrX&2 z%!6h|2byQyL~<0rRS_{379Toi+LzUg>Z|GVv`JS#0#gsg8@A#Y=NL7ba0LzhadC00 z{!Hx%+92Y1m;@JZ{yendkE#vfAs!@)D`;PwE?cjbWoYV`pUz<&=!R&7_7{@|YL%>% z3?OhBHhmCVpV{Ktgt{`gtPjOuY@M2qh%BG?o(r&chD+lr;?FoxJBqipc)lUvNjgkscx!} z+N_g-asw^1?2H$~dsfc%upnlY#jQAd&6Tgnz35BB${R~~3DkNE9KnB*3j$I@GK$Mc zashcWp+fizn+S5OlJUQN+4R-uldhSkj&c{Y*e6{j$L7ZQVs|S_s)rs5CoAq*C2-!{Z z_J`56L4$+2CBjkB`}qP=M~wPa_J&t)pT~$>oI5Iy)>(alkU9xaz)yOh#GNQ%L6eG8 zNs8gOI!o4e zKBYqGn7x9^M4n*g9D};g(+#@_b~3O*6AVhU+Aq@)A&2hr5i*~+$Yw{36}}#n5JF6E znj1(Ilyklpdd}2eeKe(|DwbFB$ak~~!SUvX@d%{;ZNll~jU`54*Jl?lRutZqspobc zEP!;(#ZgqvCZXjWiqKqB*ka8Y51iV|9_CS=}89@HlyTf^PfbngT!qEu7QF zTdY8Kx)I?uRB}ft(;8e>UV@2QL_u?|DS#G+zEQYV_rzqtJ z(g!qiJ5$#UPM)|V83RAAfOOA>gBXiATeF%$HcdOX_O_V(gC(2>r6STiNyVVaLi^+x zN^wF#`>6_DFG`m==50ngN}%xo`oMNNtI^8LTvQPSR|sD+IT({!TyF1Fv@6?xq#(qD zDe9jF;PYb$4eQUYbRk=k6*o`R3Y>Y zI|#(1R8sM;IBQPy)yC7b4fr)|c&`)^lv3Be8aKq9szM}Pjf_={f#{EZ)V8U%GIP9x zE%DcRW8BjqcgmcH5J$9N&R+*{2SlO3AeHoEnk_{vWn{Nj9s8V~&C#D`&9DK$E~iww zD;rW5M3SAb)|a@2B+}$uJ{lvvD~p!r?zEs!S!8*6nE2yxTmj}UTxexN;-HDkzxcXdzfN(B&gJ zNz}v+|0;{1mmR$RZMn+s7D}(xSDm?1*}Ir#(0^ll>V(S{i#vnIMW>LLX)ySH$4t#i zcw(NH&d$V1H9jV)Z8ms;XIa|oKT_(P_k%}Ry@hYSDJa5>I71qzs? zQL)^V?T4ocZiK*GX)ZVQxjZy)?kd{I#lv~8+YM#Ae0%4SONg>@Tu(hlBc8CwW@;QQ&{Z?q)(($f$=K560H+dnm`;gf{9IX4hz&vx0SrD{SQ*t(|ftpjm|XQaihVEx)FE=%=~%FN}cW zIQmQaB1Z`|<`4EExYlQ1r|&&u7VODBSqlBI z{NyKRoTe%(k0!BZ|C>kfDw68`2D|u_m{?8^<*HK1ew0LN zbE6OmN_tvXp&?mEj0vysl=V1b9)#HiXOQL>W z&ntD?Df}}H3{j4OnShZ%$yhm04_4wUpwT5JglQXh9 ziX44L!I?e*?&55$=$TofNZZ!@p_a0-R3@A|A!JWbt~1h4hY zI@RfCE^l1*sw;ARtz$l%zoVDT>a0w$`gfeeinj#Bm(*>po4*bTHsCtB|DhlZ6lhEw z{o+gmvV!?z*3Umb5f$MUAN^_Ty8ya`@0|#NeD2{`7v*i+pb-b5?x%MhrFQ4VaNT6_ z1qDME3EdqZ!@W}~r$-hN5_7jV3$l#$BKDM(6@=*&F)I;UF(!=Y4H5Bz6o}T&ze(yF z{psu>?!h}~sTTUa>zl48uZSQwCIS%oT7YK}DWpkrdC5sz_cQ#P&F3h3BAPsY?u1af z(S*PQGS>Kf&JO#@U$A&_+AC?VhdNeg<4RQwgsPpS(Lt zEcuFWlvAQReujbz(JMx-*uKDsuwHi}i)+zvj5+Yx#Prpobxegt7Y;H__oc)PD-TTY zQ>#`ILy@hTr=+?m@ii48Wngu{to~b@+#*HKZdwyHd#u8ii$oxi?q@>buI_OcMEk4B<8k(B1& z)VRGAxp%~(bj0Lst?+sr8r8waDQ;AvGW1H^MZ0%ud#>ZO@Iw6!E7}2p5_tO z<_oWd&@flh>_q%95pI8;rJHo)#Uu**5H3`&idZA^X1f$l8syObgKEoZ7`~)_Ueb*T zFSnLP-*sI1BZ@PKS_Nrh+U4?nl9EzM1piQ*m(fM`U3_8?-ROR>01DQIf>g<`pGzit zrB@FV6MTTlW>5b>IdPyL300bZzK>RsS8P&Cbm_6ofF5_pcTD45H0kS6o?`DYyA@a( z&IEK-N!vfO4XkEr<-ba=MSAG^MDh>BHVNywX0Xv%GFHChN7hv41KOw@XYW`fk5uOr zMlE%x@51|Ybl}cDO?MvGPe|DR{ei{IIDmEW)U5tTtO`bFU@$Sd)G zv0k6At~QIo7anwSq%xE6Dwm)(H_6bVu?dw)a&O1$8OBMnzXr4am=!Bh{i9%tLnecm z>?eC*vioZI_b!vm{z zq+2`~*xe`CpG3ZhtUemsH<@i-U*CrnvKa!2<*<`1jZ-_vh)YfV4xW-sD9MbGN^?p6 z@-euq(TTL_wI*jk`N}28`OF@<{tCZsDH(;1AY^6A@y9w^H*2IN>D*r)ZRV%vHORY{ z(KRr5vaw@t&3n$~={Nq`Gym$Au)uL|)Vz5JV zB0FpazZ(8Z;#UUdycm=LQ*``UNPcJgdn!c$hbUWrnv?78(0sJbR2u&W6YLU8I&0y? z)6I)&216&-y+0(mY=uW+Tk7^N>?%x0j%>9Yd@Av0dykf)6akNUmUjy7mrkD+T!rC6 zwI^j}&eGibOCH(5xxhA2)9-s zQFAHr+z!F5lExg9xR~Jz z2{_pd9zK9}c9xfdqrDfz+8&iFxm2#D!pk| z!y;C)W*dD9>F2m$ZmG-Dp54eENe&quw%-0(tEe;~P*X3$R*Lej79Us0Kzg_YrBMX+ zkztJ2+Vt_u@87@sa{74K<3&wNKNp7N*)7-iiv&uh!eK@UIxnYEZ2iXj%+3O%}~} z>7;YTj=_>PqH|l5+UjVMxv0~eYRL{+F5AQ(hs87dZ zPk%ch*?>zH&x>Tw1ud7gXRkGId*?YKkcouJv%B>v6!kd<`1A&FKMg(uFJ!$O0KgLf za3BN>(O`V=M-_mKfo4teuPPynkhLWu@B4fvug=%Siv8dcw^*Bb;|w~u5&-fGt=*Qd zT^`wZ8X$lUp&?>KzdQ1!E28vYjJFlJ-K^Dny17{ z*L|oZae>SOAX|6K9%sp36F8y#nho=t9=o*L_g#>>*R{bFHi$7T>rIKAuL|w&i(+}x%OlBCnlUC)y>qq^dO-vHDy1BkGS8M zjX$DWOcsW<3fK3V9vAqQ!<&*hB#uGZ4Y1D5uW|?Gvb`>7`!)rW*PIKe5%XpJDhooB z^=L-3RtX8#x$BFU`@?^BqYcTDdr6RcZf|VcvFO|dd}od8!<5W`tC>W-t< z4ox0N7H~rjbV>D+3MIdhu0ZSncNa|VXLkbJ+z%UoN5QcjR^Xn)3?0CIe^2pG z_!^jE?WP@4m=_bpbzD0$sqee*zq>U+@9%P<9oPxmTbUF_}&p%l) z7zHtn{7STzQ&mI`p1&dW~LwFHPU12g~x z->SB4k{lcPlSRS0l0(-^muUjM>L>kYs_+h} zP3}|h9vE`D=hZC+IvyxMgbY9~Dm&JhyiPemQ=A1?ckUPAkQY_2`sKA@jcAevqjSuC z^)dI`M#vQ?_Vgi9=OMrHDXjC3Lg!i)at66wo16h%cY1BLwjH%b4M7UlT;uz^&bwh1 z?^`Mvv=iF-X6Q=K$~?;=NN8rSn9ga~qmZ6TxJ~d))zJ=}X69^MI~EsKcLNuRgK7E9hQ0dwgB8gTp%zq|*ax zGJp_7$k4FBqruD2FcA2qb_g?|;K?#K>0lXczg_2Y)8ouba%jgv;HcL7;HFYa6?6^@ zItN0oLG5=mau2;w>-K7erYWTB&W^Ofi#ToPTA6q2{sebklks5wwW|y$u!8J+wD0#H zWI_ShQ^FQhkrU!N&&=*Ruk+86FCS-Z9ttWS!#a~IUXDOFOpwB?`+&;FL(qAdNykcS zJGk{3qVsINU`Vs`LIOJW2kp7Mc<55~2s#T#UnfIh2=HVKWK0VILQK|Pc0gbo^lm!X zC@!M?Sl!;&B*J8$4+9;jy{JAz}%6(}hAB-NWe;v1^b6FNe@!<(>$5 z&kq>lUufw*W;$(!yg+9Xc$C1nT45j)K-d2ry|B5?9uk zau7=^Y=b+mT08f$Rd+C7rsN>U{CBJIr*4DbwlVv`Pu;Pnpcj7|h%?l9D4w=+Wi zGxg`}@tt?=zraEv9p=kY=kpQ<#zIT>5s%zP^O)E7&4SW9;Ee!xGIH+D)5HJ<5$Jki zAoC@{B*Y@svT`EvlJ7{}hUzYyz3=%BII`u=!yPz4)VjA?NS_S3sr1ll*?X{opfGuE zwB~_zuEHzbo-PKoA&+x~SD2T#(El79GC?Mp@_ElZ7N6sGZQ373GJ8Hn@73g=gHKzT zswkv*K=&JsGxp-0N0(2dXHTQXJJILi0k6C=W3KMkd|zGQYbQMD1AQ4MXq4yh;i1=N zt>gK~=BYEq)$f14fO^N54Zuasg5~Z;sKxy{@D`YNrP_Ijb#Sjn`IaUA;uO074`E3h z0WatP++1=Ao5vAO3Kp{G3%Sk{P3=qVvj>5*8`!Cf=%?(v=RDvQ{K3idytMPD#YLE^!~>)+*fXT? zYL&_Dpnc(#tm85f)eJtMym&|SFm$iA^N4rq;!67^FzfOlt3&XC?CI@4w*a0j)b|0! zhjRatcIV~3Eg%&CFGQJcW@#f{X?4;9k+mvD@5&>qDUO5E<(07JCqY30B|)x z=C19wzVq_}!$lT&S`HNK^7Q;_uf{+R!&y*rtv>zmj`tzei@_u7$~g((QLpi|R zy>HdINPInhPAxiLjwsetpL&?`@D(-zFR@IoOtDKb$UH0*KR`a%?a<}B?`H=GnA{)f zJmsIAgV#3p_xInu{DFO0I(z5cL4MRDxEHUIsZ|w#FXQ$DWI#UsA54{r%4Y zl^!P+$x<&CowuTyUdVvQYyeTMRMcGl`CR);{lR6h_q^D)qruY+XNUYLROenS*3L)P zZeNiJDr63HoG1Nw;{rY6Jhx-TLZ)4X>A6Z~?)~#>)viG|J38ml&@&9U{tkF<^K`=0 z=>WcU0nNEsRbkoop$`yp_xw{qxi^TfCZ_$HA!3wFxlpGUcu?*>OW;(q^C4|=UEnZi zLYS1PV{;fXi{rhz_wcOqfCW0s@>*&vux)-EgDf;c{Gk}v(R=S+ZPIP4vVG$dVb-U5EjmYnUE#Y`{r2ah{+P-=}mi?9;dQdzn0|q+$7yHueuzvpj|>bHdMWL2AAZltD@lVRvpgH zK!q+)d)7_^{GohUEB9Mr>YW{u@#)+G~?~Xe~6?L&Y;*0f9^ne(&O| zfIIhz@YM^#wFjsne`gjOCPUy{|>hH z05#k3?UGBzACyn3pc~bfkJNI|r1fDQ5Ms&Mq4b?jNI zy;e>*CWE%Td>zBZ@}9t%6>2Lg3Q@9L8MKLC4=U^HyDGg|w{>6;q5w465#|<+c@6rQ zm)ic~3azl+do5`nK=#Dk`|1_qPX9Ng_en*sUrTY?YNIK@^>55J_ZN)!>#v`a^I3U) zNNuNz5{1L6^Pld)iQRYq$px2|% z{2qE|L;k01Uhn6jTn!(75l5M5+Hz=pgiiSXgN4v_s+_3)D^G)yG#F@z<@zI_nSrD35`IsZ>8|J)S9(8jya zW~MMzHm>WsjQ`t?|95niWlo85_1Fmg;}rx! z7YW8A#7fh4{R;Y*twi78I25=n2d~|Rl#?V&h(TEx#_0oaX6v4%dvZ{uw)V*I-vR@6 z>#zbQY~Ieiii1P{N=yx9$_GvVrwyCetIW9n$;?akb@;(vZZ0B=cnx~p=-X(Ny?02O znEcSy;0aOeEV^G;6IHu76@u;y8fZ30$T>es@atNEgW9L+8}m(VmSJH(;p-W;pyQ>X zfN`9Ub+kA%7#X41<7H!w{YmpBKcr2P4{$8*mfPzCrAv6ePOCh)7peh1UOfUGH9bjT z?dpgq6dXO&Rs6{D$4soErK0~&M&oV1`O9uh1`|b%qU2i-5C1jWLeNf?`vhazD zf85YS{%Io8`9V~r~v)Y(bqCdLjJi z+{~kQuy$Jm9gF{s;EH69`j;q&^tA*BahN?#f#6p?awZDC%UqO>bCz;zEx^?sNNV8AE0T%TLCAzC&%C#+>9b>KHH0R`#hkH-ujT zK7%9^!V}|1)klB5Pn(_a@J9q=rdEcA9!}xT=ls8_uY@tR5w0az~GCXQT;cQWzLD6YeoR$YDZK6p*4@!(f|#~h5shWSAyHvL!^lm;@6 zuAMt~{CmD)(6eQa^NIkY>mg}O@3mF7HCY|#_n=2WE%T%xJL9b16{4Poj}LSpTUYZAgWkwg zHl>cPNY?B2RREQtPF#c90Y|8q#9>@_vCtgH<(kQyI8E8;aIqC{)23NS_Ta#nK74UU ztDZ#n6mQb~``L%qQTNYxa;HDCAKe|shJhpy)I!tfxRxt4w@l$v!0X z_Ue-KVXS1&P(GS1F+T?#%pA(?GF8h@xb=n!IT^~&8h@HUr;mM0w*BoZ>mSMrIXsqQ zG&=qLWypDARbcDs03hXdXO#EWL6)Q{Rj52TKGDV8(8C}=P8E1l z3%uhVbE^mjLGGT?R68%RXr2s!FP~PQQ9D!#cc2%8$h8ZrwS-B~?h-$^R^V=D?SZND zIavqNBHzIT+3a*Wnq`Q-?DQT{6?nPNO=bf2*ckrfjRt*!no)1zxle}3?!S)!N~}hU zB-wxvY@W0gWfw}1=c73L-e!8A|Y55ZsSg|MaNP)YhnAQW;fw3dnMf4GFl5JeeA z?m^#Ms14nM1ZCLlO-(Emjj!BxxoR|0+_D9p1IQl)e#?G1;|VvGKQ`j?$`+Zd$4paZ zSxg@fTpizZZuU4=by&wMUX&1dD0aNjsI0E)L7%U4hmzk&q|pel?0z9hAz^`x!xGdw zW1h=Og&L*TUzYt4#g;6RRIJM3clmoiLS2r@W%B`y(63>_fSx035gc|9k<^mOfHC*Kv2xw>A$!n2&#!yyYrhh9S>s zQ*?Js9Z%uf;PA?qYQT#xuZy+ReKcer6|y|`l58Syl?u4J038m1wu4up@xrF(?N4#u zd!k;S9)fhdpDiF)axY@d8-rAUHSq^@Z?b>T=gZTf=qB{2T=F~Yt`Kx76GWA^L29?h zDR2(u7Az1pq)v`RW`Xa~mGXlmx8K3UY&Dz)`!2M5ixGL8X<1^>#2soWoz)m=+Q()z z^*LWsL~X_C^U69b0^6b8Lc7Kw+k~i0oz>tcdX@Qdz z#)`yaF1E|4?}!c9i&qlZ*-!7S-G~Fl?J(Lj7&x(}?=I5%o6No?F{9{}%U52w62jtC z1&FX4&-}m@r5&W>8gBC1{k#3K&W~^KDO5U*Ys}uxlr3fYI`1WGA*VwuSz(<;tzvaKPg}c~Ot3{qi z<(jg>EGNN&I8^u@_l}*j+s{2`|6{*8GnMryvIr?wnq$Q0m;!M}tBt=U9Ngh~u3us8 zlh?b1f+x35PeZR zdNJ!L3oI3f>2=;(T@}yzUC;e_UbSQff!5PVlz01jL zo}K1T;MRX1NUs89!!KTW7>*_|gSks6o+9b;2j8{S{yaH3$+UNIc5JAtQ+p_mr%IE} zI6O8D){J6fBUtVnOMTep@Qrm9oL`=H)m>Z7%#YtD=d_M#hL&wcwojAO&o%ShNTKj=iIY-?bUbBz~HRL2Stb9Rv>V+sk)H@l%{ z!>d(2hHT9t;=&rMd=q!saO7$#mn^{>3_f-<8=SZ0K5V#H|1A2xPL=p~b*lE8{+nNk z+*F*5$i_h;LTdKk-Z%{U;pKagr4bWyoe=?l5184qs!dx;NlP4Lrw+FDLhMW&BSCB% z>&%#O$k49q$j{v|>oM@x&11shO@93};x_vl-7++Iftk#HhM!lzUGjQ!U|}1gOC!co zoC(6~E(`@{+A6a){rOynKQ>uds7w{058G4`PbuEt{WUSsz%U!fETx(`i8&#Y2a{&l zk>h!t0WIm6nOilsn6rzM;sAqyPd4jo0IT`OYCUAke%gFP$|frW!V-C^dDg!oXnDmZ z^yA83*aDHn+H0gu_N z&M!AN_bOXwS!ez_-t*U=;`id(mfXHyi4!;+AuK7#vXnQ5Rl>IK-@RwQG7tWX6dV?} zF203_g-`14?6Ea(Y;WxWRv-?xDb}^j+0{`$#T^pbaKs>Rzt3?amHAP$;fMS5dFCB< z1Rfu+r;4}Z=b~|RB#q;*Ss(oA#;O#gqmm}=1E>H$3uixIG0N>uxQkZ9kaJn@nR|bI zkMLm`>9SfQWugohDEfD7k?#YUr^|iN14kYFM_)w46iPlW>!1FiwerRA##Xk1-&k|U zxVDjvjr?PaLk2r>Y*8w(Fs>QZLM+y0yS^(3lnC5gOV~?imwl9+``rXUX(<`!{46B1+uv(;Nl1dmxCg~_WNg#Hj?_JLfTWbFvrWG}j$Quu{;%Xyh{L8>xkANx1 z0#=KxkJyO~9{LLd-!)1+zwbA1j^sxPQLEnoATm7dcmdQv3!6~`ZH@gKG#4hM75nqYX zB#FA!CRhzjqYSJlq{zSJHE+%1C_}K8j!L`3g0&31l*cSs8mFv9b(c{rjT(6eF~-B? z)DgW zPp&H_6juJap-HBYf4!1EK$_Yf!8jz!;h28Cl^M))7Cww)?2knK7HfFh3xvU@y5yzsL>S7c;+R+ z0jN?PnnDLmJ}^#ikKqzEWoSL^Mi2-8DzS-~)b_6Ms_#Vo3dnMkpzfM0fC=r7tq zMtnx^i@$#8zKbmOBoZ+%#JC7?U*x3&Oo&@c7^79N|RcX5>YrZ_q4LpZjc$@9b0a zUzkn@ZR{?~z{~;Q`0q_f1cF;9iaHwf#B11OAD_Ee=|VL3=(R`nPm%NUEFkNP4Q^Xu zVxSYloR|ZuyRY_&@G-4L)=>M+MW$OgIdU9_2kaH+TCR2BJ=ql)i7XPN+nRlXiN2rP zBHvh!=(XB!!Y?J@LGCx<{2bLH#~L923$+*NT_7PmZ?J9f{BjJ=Y>k8|SbLQ89icYo!u>yHy3F9LIZ1G+;$#2-+0%exwj0|>SBaB12<7~IX`RJ@G~9mkey zKsqShaD+8jD%;U@7)oV`k8u1sP>OL7oJil3%fD+prEOPH9Wn5SHU5Nhw9RCLzPUsC z^KKPU`A5MYZ*1dTw5SZCeL@xG2FvEr1<@Gg^GZ4ARNrp;*M6Pp8Kg-{+*Ri*pbH)F zC#OhBOEG;D=2M`sgzZ*D-t*}`=s=ii5RoVpCD7nwYMSoz65^_2g)%oER*eZ9p0svQ zukaS(#vK_dT(Dx8m*KLTX}7@`Ub=1XG3{ZIXu?jd+qvujn@q$G(2m-#KcelsH5Iak zwu-jAme#va#!~9il9C38v_-kEa3a099QxaTCbmQ)adm)>DRh0;3?!<)}(O^tOW{ zo_94V=$i7jJnUTWg=@r;vzBMyn_N$9(`s1t3n}a12ce1}2YIpPGM2$c{Y7uwLVf0Q z{KA@zoh#lk#J7`E_I6Y7m^Sr?qQ)0Hgl+=b_a2sl-9>4J?C8$S1YyCvU*LB|(UpXh zuN-Oic?uH5kH6K(Fpnign=1E>i_D^TjQWfgHz9mMYhaa!kd`&ymU5?(EW)b)~0%BBf52bF8qLe>gc`M**1xIeq=wpfo6S$B~Z z$GeZ;a~x^fvK1^2f2}f9bFI=1k~_^$;jMp0MrCNVS2lbk5l<3U#FS1GrI9Luz^7TF zN4!C@$qOFL7PPY^RON?@l`T|6IEP(!p7{3h?^l0rkik`s!S}R6@wDR0vZ=llLecQ= zlK~Pqh=;MGNL$8Ps+rl*fMpWPkr_|HuSWBSzu$WMU+KDF1*K^h`BhP%O*ZXOy4O}v z6+Qh8rA+s-k`Xy^{6sIWm#tyLE$AeY=2Op&K!m-k^_dV=n4AU7$8Y6FX6e(bB3^)t zUi$&D7ri5x8=dy*;BQ-Sjg3q@OEQCA?2xV#G}UWcTY<6f+}102M1i@&$hi^Ii*CEiss7Tym6G*{86W{G<&qNw|ELb&^Fi zgMxTsYHov#LyOGp5SvWLtZmJ$|1v%(s5yL=HQt0UnFP|IS4Q z4~4xs8=s#i7ixup+mp7B%UZCfeG`WxFW`FqOBfcF8ERAa3qz194BY#FHxv;GEm`rL zJCCOFnhKR8lPp`CF`FAT$>kB*W^a60gAYyn(qwBRuYu@Xm8w7no=10?b34G6ZAC_5 zSCj6grlSDTE;^e2`t1Lq&u*uEkzd6MKsUY(@9=ve9acC7&bRMxOlYcJ7&Cd;pU(@o z0%GRhMyAY#rJ}F?iczX{i4@^;xxfNxXMT{DSGa0?=zIUmf^6?E3T&+ACuk=*nt0vq z!E22;GF->fgY#fyZ2r>G7Y`d$H3hbh>;x*J^)<>>vC;3U5>a$6!YQlYp(RM{; zB2DE?O{QsRBUViW#A=&{W;M`4q)-BmA||!gce{oBrs8(dWP;w8BS#l@B42IL0ynpNaeWZ8pTPWg zYVt?qq};hJIrSPlQSuvMvd3)qob8mm^?qdER(KB7-zXjin_r|bFKZKqx?4T+AAp+TBnf6msvHLdoXJ_WS!i-!-jq-_c9m4~YUGRkqM4 z?ui9)`*?7Ki{c2Ci`@$SehoU@d!f)C>Fc3q1WzSq6t*D39T?-pkH_ET)&Sy7waOnH zcxoo}%5XQrd^Wp6&3P9z9Mg9xXm`DhgKOdRV5fGiN7FOh>b1Xx=fX_@E*s z?>ldDrQ$jw|A^nG=)<|O%v0hA_Go_veshuaWryLxi_VGaFonU-BUmS&|LPxKCzLNY z`jHB4_{tg^g%PZ~kP>97pnhLoi?*Oij{Y?G_{#&$AQ_F`g2&IWsSWE1z->QWtQgs_ z7|!f31T};k{|up`HfK@A#<-v;F&f-6W~_HX$jv8T-i|Poj({sBO!INXnFb=3)+T4P zpcfHpz71Z33i^Y;WK1hx<=MHmRfYQ!1cQKDL=|i2A&P+guB_bXzlD zNgnPf?;4HcTzc$Wg%u2cuH}1r>KWcqZD->;qITif*rvSe`UlmUtY5{MkE|CY`vbM! z^|viug$I3#lv3P;xikNuNoBsz}!s20$*p>iA`|kC7=(gpBNxsL5qJ?90`2sNivYI3klk2BQh) zuH83*i7!cXyw>Zn-?l40?gl*p>i?8#_aPs%ZfD#fhVr8C%Yi zDF-u$5_Z6-wD&tO zE5?TkyZnzX-@JE8a!kk`nUhy2`1@hJAVRhXG8{6wqES3<|BtM%42z?Q)(r0M?(RA` z1lM2zf&~cfgS)%Cy9bBhZVB!V!QI_;hkW<${@8!>^mJEOpE`B?JyoV0bF+dcz5O4# z#%ooFV%uHqfAxGOMST(+PgU0PeHOBQC2pmudfMVSHe0uKjY2X3oKC`p~m-COSdWwoBG~d(@Vhq$MlmaF8Vw|y^`==B52*Qf{6F%Z7PrQNB zCDRu;=@rAnWsZEh`cd3R&uFlL@t+$(cooZmCt5+MxeZo&LQP)eI!UOW=QQl7!KZ+a zCvm4FITKc6tMv8y5OpJMhC2cWnitmQdto8L^9m>D=e0C7v+ibo4oqbvv&O1Q#e%|f z=(2tA;)L+)i`dB<`sv&HXIfYxllpm#iM=HOLbj0Ln>T%VT%y)L4G9!~k4f$^gxs~X zx5qnvkTNX4va+br252egkSQ2V+z|UO3WQKJXoqQBp$qg6&=f?nPMgW?I=z?xK+xyYg~nUIc^ zUD*t3UMj1qUXMCVD5eVx$qGz(Y!)T0Kh_Bwdik?>J-U#Bxi(+DKUBX ztiR7>*tDkIB46*ZxE`gMYTCszNrkTb@pw$qc)8L*smsof$szKK75+Cbt-_BbqJk&q z`S=D(v}`|2(8Tts&cD=Koiy7GC~^_;*;i=0sHv-Gw;3G{#uZc+Ha0qMF74}hFYQ(} z<%xxeZq%8MnFLA7SzgB#NR12+lj2pq?1Uwd=CB%U%`NC`4_9}(Kk`Q4)UFvk)tk$u zWDSG|Sn-Pf#;*R;-h#l~a-uSiMXYzZBgfJ;z1j^II1~Dhs-uzU|2R{co9CeJ-}*?n zLdTnGs%59NYhQZ5HF+~6$tI>m zFwq1y&6hO7uW1bL%Oo#CneY4Woj&HJNDFnluxQ%tt57vG-^rB=L2v$%`;RT^Q~pT> zDEMj?jm0mN0GJPU4UZVb8?@ph(j9KYI%fi`-}N6Y#1Qe{5p+HBCT4QEto8Isg`ki` z3j?f{uZmdSk$K{Wb}$r$oNj)Xib+Mk4mEWeiZ!2HjdTkWKBEx5?UB5q!TW627G+S!9uI+PTMDg%)`6?`7;N|r?tnnRcbJLLKyUyd)102RT zMK+(cUR{rSF(m?kZG$Y;`>pW%U*HW7?7ExF>g~e1zTmp&H50${ITUZE&;I*!$LM4- zOP9&HpV<0CpYSODs((;y+~G{|_C$>5iA|`WOJQv&)A#Pep@cQPE->(=j`MCe98hPk zoaYrBQUeelSTA*6AFn@9!}rhx))*cBYB}2M1&d*q+VB;An{PtqB=ox=TWVVMhJp9F z*v@IcT0Z{kdBz{&Q z19RS2OvwUu`CU$zI$*?}`xm;hDK4~aJ5KLAujXL9->&&>x^@F@kKgW}g>m_92nVI2 z2;Js29o}#F*Pli^a_|K$ZtmZns`31k$QK{f1!B2 zG4-Cge+3O#NA$O8-FqPG8iz5^z>RyNY1Nq~GPdibXdV3CRLJZ6`5548aVleJd7PkF z^+`%fD&*Gl=0F+sOEx>+3WG*xy+I#Liz>U*(X4WTBvaSXFkt-~(tu%%fc;4-C&Jal z`wa>(mxL6vs`-k3UiIas+-%e(G?N)+4FFu>v|PL@N*E#=56i#?aLW%j`z{fu}v&I z{_gHBNKA^nFOiR7OIuxnW3%wy_vpQB*}hA%3%$SQyg$xWdm-(rQb$V-?0a7WY}#I< z+s>X2eBSoEx}JtdNFSF0opFo|eUtVuZ+}>P@P57g)q5jv*3-LP?lgdl2AxFp-#G#S zNO~X;+FNn>4^XwL@XOnMPwh>+F{q%{mK{7VmG*17H2LS-my5c%SD#f8FAbt>+CucbZly@?{4u`C%|U>2D`670N7BJ zqy2PQ>)lseK=Xx&e+d>-o_st|Jlo9DT4JDXLO@qnSI}ya6)608!x0jb<=gG^kno)P zO9gBnkHe%9f5PSm>iXlEOJ1f_6yBDv$on0UH4l4U`{*E|>A}*O#=rnS;f4b5(Yk z8T!Dje5FeA|1@e&?ggZ1T=Gv?zJuHVWWI2B9)^B5mQ}aL6IQ+~L67k^%XQ7i=?Ea9 z0C3}I*M2`PxtN+qF-c-=>xX~I&%x_YmK)~mHQ9!bQ zgzq@@xQ|4nb06^jEIf~}C;`}K{=Pgl1r~7UA#@p5G&0`yOyPn=!v0W9P}L-Kf3m8o ztZd*T8GPxoW_L{D{d&Bh=hH`X-T^QTwCW2+!Ner(2S20g9E`}cE_ zwiU2@jV||#bj#`tE{A#Hx9#;jO6|fW`@~9DzqHop@~E)gE#hn{;pzsY^t zL}T)QzGWaf)O~w)`8jCEfp0n*{2o+RP*8xlB(6oNl9GX-0JG;Z`Z=FeJ)+sS)T)-E4{CoaPR&17t}l8 z<$KgLbl&FE0o7e^!Oz}z4uG93e&_5uAaQGs+u5T-3ZumR7~uQ;)o@B(5lsKl{p$_R zoJAlCnGSFbJ(n9hr)?)siny|}^49BJ3iJVjIS;?5D5Oj#GT$x=6m{$msm@NE!h3dD-j>LBacq;PTqD(0O@l>y0tu@F$$+>}^n2K5gygEyg>N*q3y%#*Kl;3e3c< zf&yT>iX1rAJhd!u-Y8wSORIg!tl4@}OQSBrP8uZQEHW>Nm~7>hH$3*+`0{%1fq5sE# zWwYNoP>m{4N)Q_dnK%{`(Lwt$Iuuee<=bi98z+H<%{94h&e9iCc5OIoa$ z;k|PZhe7j2JP@Qo<%?7*TzuunGT9tv_7rT2`y+||uFWT>QQ+cyhV!iP)&*0Da>O%t zv729U6Il_Lg>EiWE|3CK>v0bW4-d!VFs;NLa>2My>? zm7r{=-*ej?z>mrs9tx$O>dKe{H$?v|QzUkFSH}d?B;*gZqQ=7!)eiUI=jFa_g54vy$h z!2(lW62`UMzd8TUj3izVjqZ0rV*;sjU6>5SKir(aX^8&>dMUXB^eAm|TS z{LE+buKz3U!~9|Yo5N4FttIss7qPQvZ}QJM5FpQ|SK1YB!@^?*J$R?^AB~FOj;20T zqIvJZ*AY#rO_0x&-*)A=yfBjtdbd*khCtRA1`QPLUc`^$6jWIh@&9}@QFe3_==kfk z=9$v*vLpPDPzF^*S($|d5VKg#=-(<0Sd@xn55jz!N7=jV^Pvg#lW3gz>yIS?ZD8q4?Qg z+HZ0P%^(xmPsv@H9kec_iKNYj0RjBw10LJZQXv0al>CrNU_$O+vdQP7s9zHP4P*iQ z?5~MsBBOCn`JeL6D@M-m3E)A6}u zArHxX7yn3dL=m3aU+tC{mp0ZNB6YFLw8b z#ueZb5ZLL7l@P;8fx^EikRL-JuvC|q3$6e||GC4nKzA-49tzYem@9ny)?kJvUROoS z_=6ex#fav>m+CKO$SRd6>OONtHbDs*_O2;Huq7lGNzEq_+b2{<8VMOI5IqW9IV*ph zIV2I(K77+psH4cATe++bd7o4Q0y;4QvqhcQziRXa@F6r{6Q!T95`&*>e$Qzy&mEjG zZEtGVTWkNp#^nEl6Ih3!M~pZz=!Kcz0edNa)0q4zI0koV(Usm1I(}t`81`SLc0pHL z+vP?Y0<`>)qF|_zrYkuTq9kU(N$Idj1kyS(MQLkFTt#-49$ub}6J8F+OsED0$oxf8 z4zkwmrCU<_VnJael;1ivv(VRG!c5}JApu2c`Mf;LxM!N$XmdWBn;3cTqIbW|xrByb zidPEa$=qsp>*Fv%3ycYEpIWqMl&7mk2*W}@plpSN{KSLm4nxUfBt_99n9Ch6pxoci z4rGXic%ob(io71I#1q9f!N`;&r;of(R`YLi9E%TK`5eaBrR3F@(jJ_1B|(4c;!nXe z?GLuTSw~!M2MH;4z|ztBO4274Dd1G53@UC(T7ei7WOYzD>vTXVE9V#eFL*&3%J?4P zmu~^Q$kdR~Aclo3?qAm_v;BmTLc1Mi@8-H2zj1-tL$*+MkY0G40J|c98S5t|c420O zXM^UW#)jNtgAz#2A%};`dxpiwPR7MU+0#SS28O5D_9LBoXUZ41&iAP$tG4xX2<_+l<%y>C-O)6&EpO0xSVI zDXJ8FLSwVA0Efz+o?E27FS_U8miTPZ6+1ysbiW1z{z64`&~Nn_wa6r-9t2)%yr#?p zrp-&6r$E8O!k5Ox^|)lI;l=HPo@0~I)J4@%JyDQ`>DZ0)*qsBTW$=ibQ0`Zo)M`| z;pbM5J2cvtpF=Q)jCz*kfiqw&vY9zmbBB~PkLF3BdY$&gEC2fssbHW_E@wEbS(~n9 zTwJTa0Ui0*OCaoo^oEc%G9_4|MJJPd4$y8?q?Ml!hio0tH_I!5mOFwLY+ymRb{xdO zXqpB{jpdC%K(6K(D8a~0d1a0<{+)-?azK62zlthwtQ16%x~eR(ym8_14R5Sa$TiR= zY{?>JZRIUGJw5&I&Y9TkWZOZ)UGXNZ{a2a$$pajXBH{VAtDNX}fZ1fBIfrB<;oS1_ z%FjI5JTT6?NpHKJQ0VjKA zdWAM9at;NLuer0crKN@RaALErq8$-mh2%g_O33)=CVV)2uXyi!@?vNl1w(n6mbUiw zC5n*gM3&Fa1=%WW&V0HXwh)3Eis9=-s-VZtAln6D46z`6s&M!E!PV8(d@}Yw;pR`q zN4go;1tq$DOmOZ^8ZSO_dT%ne|OT<~)lOO3vwbV>N z*tD4+;9zow9MZ1?XtDtqj|QXVOQ(MEBM{vI>KUEVC7z~ors@m+d7?xYI6QfZJ2#ijWor<#O~hxlctv2#ApP{5 z_cCm0174~n-v8^7gwGLl*~Velltn9Dn$n%{Jmmb*5oKEV$IZczYRNrgm$#M(amhqF zhtZ&tMz(aaLKb&{jgsIK37h-ujyVUs%J`CJa*D=xr&k5Q`di%JvsRDG>FZTgYWXz2 zAG5d%!n4kROu4FWLdNOLV6Nnb{m~H$L(Omr0}82$rXZ{3$oHFHp1t0D_b5KpnNgZM zw$rV;kmKUTE@0&-nBx9Gwgj6|D_+|5bq9$r%Ko+k$8qvA43Q(|S*RazC061#?I=2y zP3|M&v*v~Igw(Rdw3l6vJ2DX~z)=1L^Oot)R0WzWZ)}CW$@Tt!;m=cf1l5AHK3e;Pki$}V6OhT z_{%`BQDo_bGCnMl-KZlBAf=<*;(>ea_v*3eE#$rRwOIH~EBlL+(A_c2$_?g`rfD0W z$C&_b!TXh|Ff#*7*JUG$^=kX(P8i0){_cKGSYo6okOhzvQDxEal%;18!$}yPC_*yZ z+Km546^1xADBZX;86vX&4+1iqR0K~e7UI}1@e$6Gql`l(8I3&b;ZABtT}-= z_cM#>?xhf2Fs2`RoIZ>X|}W%yWTSng`ZY7!E=8P#0^4tMPe#|x&{!k)heuUR?~ zJ)IpLt#sbclA{Q6kEljQsyi+lmp=zMTdm&AA1&-0r%PwLY!(^zD@r>#SLt3qRb~B! zL8?Lk|2%iHpS7^0v=Mgdb9!|fsK41jSmjgi3;6sRCmSlQV5cAQB2 zv-e0ANnc1{^ul*&-eb@{t+x8)0SpDHSW7|L`3#v(<-zRcH5gC zPjCFTXDgjtcf8CX25MdAYbFx=TWfvoVOx#&RrsM-uDYzMRM76^Afvj&^JrG)LfEUn z0xBZKmxQ*jNuz5Scz_B}&~>sN`;)>F5=mlicA(y&qNc(rPA>U zjJ1tTMnIdGx%K3zY5m(A@Iqg~ddw|FM_Jfa+R}35xVqEz ze!DcGmJSbKFkO6mOp23rdK&ZkghO;nM5?KVe4@&=zOD{pZ4!aG&Ax`77IZjdG|@;TKs%~+5Bi!h+q3ZStD%#^7)WqBb#y#F z4STiSFDiE+DkMQjn~Z1ko34q%dfrE$TB=v$i`?<>c;SA8qfwNUY{c?DLBgP;bX!s; z04XuTC}RnA4%G{b8V$oefP3NFsFDy$qRkj&$o_V;C=z)Z9kjuHH8eVJ`@K{=?6xR+ z({RA*BS)-X`fwdED9DE6DvX;QJQJt2$cpHYdX{Xo$Tp-XuntGX+h1p3ggPdpv9b*%sg^ z6jD(_`zywZg2+uAbJ=yHt|5p7+}_hWA;d3qtgx!ZUk2_8rLl1de>@qij9?JDCU4V3 zi*AfCH}Ay3__+VoB^i*55pWd-GQixQ2i3kVUSdQO+TiL4-#nI(1SsDZY3KsXk2rIg zxNTqbkM|Tn8+stJZm-hko@fyKHv&Z;Ufq6Y?U6C*Maftu62$7_m4IbW?^U>L($X?$ z?xlH~q!%m~7~hvsR=v&(x}Kms-!^>j=;Esz=hbO3Hr&T~@7qg=eL{!0z}>$!Sda8C zXjHcET$R%(WHh?4T+MOcNfG8C z(P48PoV;J?Z1C8Rb~DZ4I6raF^E%|ca2TJy_H*H}dwG~N=wqNCRx6|QMQV9DB3N_3 zZsry75BtvGb9EW=*>Q%5B#zH?<;fu6I7G+$_7+tF6ty7rdulY@kKX4N;4@hX zlwNfj!&c*`v@giPyIVGA(%5OX);#Ki-nSxpa4h} zFKhi}mn&}3R6hsB13_HTH(WB2x-_+Px$!C-IF2|=o0wAvne(SMuTK(`B>&l}OLp7{ zFEwwixaRRjrE#*>;&mO2;=A8^Gi*uXzR@{K6JIG=YD#9)x?RxRT31xG)b74n2l1_FB8Lk4>Z+i4T8~mIfEkHdsTn@l9w~%)u~d!5O^7c4&jI zkZ+0Cs$iy+AEZYl%J2NsLW!jy;DIFpH4Y;5$Rd`|VJjGK>K!sEQj@cI9{?`U~IZMEs zaM?PQkC?;8iu;}B3t*bI0sL*nKo`EMwlq zxn3-FAexw%%RQ3%`sHR#u&vP=qzsQRf2|3zZiX*+OPtqUHa2kf@!O4W70sBA3Ax{} zPQoP5B0rk8x75}awZO%LgMkx(2dDt+o0|HVn8uix6rw~TeBbZqJCR62N;yoxpM{JL zfXz6aVAIr8h6D>89{TIq)GhDKe;W@2!V*e)VGOr+=s>wl|I&v=c057n-o2>UrD%+S zXi*cX;Zb(uCk;{KnUD*^bK_}IspSE-#(-ck7}D1^7weE7`Uet#_YYH#XOLp0QAnF# zn*tM?v6?{ZQ|>eLyVCvJ)VJYw#Ay!qV^GPO0)o9+e<~itB0=+e-EUs5=dpQxRh@71 zS^SOQ+mivUzd>h)+EK3n%xkog!DXM1j%}By3Kpv*ldM2qz=d13pvzls&+Vkg&#KaB zBp;Ai2e~6T;4QQabuEK8aJP^avp?AkZC@t`&R!O22BJw~?ElaqWV+W)B>kkK-+7n!-0VsG3QT3 z-JW05>+{`_8anm&TlrmAZS1e?aBI-z{@~n|1YELh6y`HSV$Kwe0t3-Gi_6Ob#!r!W zbrVNc=eR_+DLbQ%3E&@Lq#Lpox1F_oRJpH8ZK7zH#_;wE4M!`59rZ*vG@dL<3Eg-Y z#u;L3=Z9%-2H4rDzNgOU(!{jPqEXI4zk+v*1oLixq`_f5vyHC#=g?yPvi*Vh6PDtB zjt{>9OJYLW!)9IuQXPjC5H#0}x3N*X?Mk>V=iHazDA_x+7O05@g(d51@sp*ZH?Vvt z51h?@AVWZNYvf4pH?uh$xWRHpN02r|-X3~!xSL5Qtv$=rCEMr9!1;;`X=(a^?L6T7mwBu=li)S@(cqW~=E!)wlQa_Q(F7+GqU=E{`+t z)Hkn}JQy}A(Z4##i` zgijMKW@!?YL2*V@R1`trJJy2EL<<2w2IGz}1!1GhLNw9eMt{SVz@a-hdg$LAr#7^N zt}Bzbhh;{oNf0SFy&MdZF?jsWFOaUx48(3VMMbx1STT_~ta#af9&unMdgsYK)3eJc ztSi4MZH=k1xX`{Pwp(KE0W1|F62&Ijfh==VOUzA?V8vE)st&3XTB$0D_cZ|NkFcL- zSJjrcdP{_&2vjT)^h`>iDocif-42II!YL%-}(rOSQS93+Y$GaHhnc+1>#KkdkZ zurBKARV-@iv9++>P5sR!H~0u#92cQyWdDqEoBNimA{)H?=mwWWEI(m@X;twi4hY^ z$IHe`Ux_S;5j|l$X{Zogt^JxbV4+Iz>%*cRH4tzOV`sq=8XhLY+xTQFUp+9a>E*80 z|E?60k8dhN>H`BI1Bh>2@+%6B&=fH<4y982@gFT3pl7tQK#I^JV-lW%0< zrx}1sACmlLXktitX3lIrxRtT-Q*9LDPg_=)lRUMXhRoa*DE4R>@c}S*iW$5aBMtOP z-Aj1G5~L!Y}E1Ef-)P2XeReL z`N>y@JyC^O$Bc&kd2)Zem>=+S;^fqsXzr1|fAqDi7v3BNfyT)^R)hZ=3kZhDwos{p zG+4P=_bf;1X+CU$n`z+K)c-au4f7R~n#;v*EoO;|GJOOCtjJ$6ZOPX^WyWnqpklGW z(r!_4qcNOD$ih?lT*$@5-`ddzGm=%`zy!atQ>4bd-Q&t`o91-217TMR1t2mh7J?$| zz9ap+OKJIJVb$H#Lz^J7X`$=cnJ-CQ^<2`UH}LUoxrw>!sFh#n3C`7RC->&J9Vs1i z$B~wPLeG5#@Adu3(&PMbIqBf`Ky)uda3k@$>*?;Rhl^=(T}Odee`eiBIOvO$Xe5i^ zJLTa0*)o^me7p8}Yg)C_-P0HF$PwTO5Cx*$hL7C5R zJsxX)@a4tIV}$Qh=Z{CE3uRZ+u_F+Zi^^`G2ew$xz{HCUsbrs5dR~W7@7}@}w3>>o`=6E5y?WVT{0f#8boy2M?-q>>8+j4Tl zotDovI<~q=y(@gTxL)Ts%y}2T`$;p^zTQKBS;}XjpPk+>zv(VS9A!s}=6C!=_s%$8zI2;aJbYI=iGbeR%ACvOkLoUJ#(tQC9?5S;+; z^-HnqKXGgF{xbQWblX+|P z0>mzc~l=(%+7+osM4eSkyB{BczOJh9A z-@(QgZhfDYQ+FS-sFo)RgFj0$Czmm^Aex^3@Md#Clo{c@*^K(5deGxx>e6e^J2;DHR) zsoB}ln{amy?KK*kTnJDhZqjPF&f8|)r$ll3BxdRMvM2?SfYV_H1_p!4#Q;{SXXd}} z%+t^XKS=e6pXVkFsD)ipS#xrZPEbWLt6w&+%NSisJe+Oemm?!NUFw^5J6)bCmQ;(! zUC&Af!nLY5ctMRLwpt?z-~5n$b#TjgJQAZ&vn8~fsr$6&*RZ|#x^3#48YrB;&(ff~BgD%*tQGI(bL=C@y3V6pkQC;f zuR1w74HkpSrTt*|Pxh2$05(Da2H0-li*SEm&>Em|85z%r;6DQ?(Tzba99&$4*p7V+ zWi<3uFO=$#Mi~)YVqc0FIv%UzHB!&!f$E@Q@tdbCPyzU$#ZTdp9JDC_Tqz%sPbI6| z!jFya-sQ|r$2ydE0&fFb4Fy%WrsntPS{I~6Myp8dw9e~JJuz5B(oZ(SpmPXOI1(uP zQ*5FVj+5%r+fZWlD4(GcW}DKM>Yu5<-;K!^5pxYKd}0|oR3XJtp(8uaEep)%)S+KU z`uT~AEVp3ZU}FSV(G3{sYu*r->)mhqjYe(WNm{H#nl4%l)Q4s?mJ_Te&gT3kYy-C$ z1b|8qOJuXhnHRJif00ow$>Fm*xz*6aui0gFei45V$^WjX*PjvM;VXn@e;?HbGM^9P z`am@ih>VL>Y#M^zUVEDS=e(kHlDVdEGWXeNvSpxp~r`R}Aiis_h{&sHeF(P(j+cxJJ#ybR7)!y(yuCjfNQKNtZ{14(HtH z74LT)pT;O&JT)<2iNsl*JZ+w{+C|4-(b98%7|E}b<3I0erbv_=ZB*B-Wyh3KPL(x6?KvuYkll+uySI_WP^kJ!;Ki zv(=|{qF8_&74pL*5)wURxjxS%1CJyf$+ zDYq6TiBJ^pwrqMexy>e+=8^t)Vhw|kK89y>W<+E*?eW2F5<(Q{VS-qeoI#60Xl@OL z9FlT`QYC(wWXy#ZOonvhkAeZyAH~JyO4|Eo*bg4e-I-^Oac02&HM}O8URam5Z^!$q zz=LgOp7tSuCg}w#*3kvTuOBit;1&veQCKSYe#%FD4;2tOS33-SghwIOqoF^XRMk}f zZYW_%t%Y)fbVsp5Ob|&8>@{+kie@LowwfSKg@fofe+mvYSE6-lx1U_>W}Vbp0peBa z@vOe6o)Y!e0=M5G>*7F3)inB&bj7P5BW)+Ap!y3Aq(K{35ev#RoviPmMEe<4B{2*) z{AQYcAnbc&TJS!vcetzY(%Bq(T#2cI(T>ej^L7Wqfk77`@uR?Q#MkBX9e=rWu|l_Z zB@&iU=nySb(%8leL0kk;EF}iWo7^v6ycKcq#orKj0I`Fy$wwPGTH*dHF!U{EZd%pf zr_`Ay(L2I<@)OA-*MgPTC#}LJAw!mSB%l~7<)dhH<5rwMIg{7)4RkFY|UUH^jSK zTTMSTJB(9FLDA(D1r|;xJ|ga=rT45pOXT+CF~ixk)A@^O-rryi7*N|!;|dK_p-5Ut zBcjzHL-mp02o2>vWOA3H#i2dtsix{dTs9^-M5g^s{4i$%7$(AQe!ORv8S@3UUePGH~ z7Q1k>VNUyS{TCQR3$)PMp1k6LB=8V?as2Co<{tPnG6q{^Zni`xoB-&c1GI+{ zuo&fmz|#p{1dlobrA*cmMQZl*C}$kqXo_WlT}stok9Pi8jHYEeywNI?Pr>IUg;Zk2 zQuk&|s)v19dsQ9=oIIEz343&0xRBnxeY$*cwy?0sUvrgm(ChpvluR&VA1@GPHlO#f zF&)N;Ve25F2Yg1!c>Fz(s>v#ZVERy!;QJ@ZY$7j!(}Q+}YVkkVLx(=Q?5R0znFyi} z#1zSZ@vp{!P7W<%*;*IuQ|~RWq#+9CH`#tNS+D5MgZ+LE zv0*zMDT2J+O(4UeT%aoP7GJLxU#m2HM%G0pcPlRlp|piKL|~ zqr{&*VJhv3Um7rWz!d{H!$X>p7YtGvvd%%Y*J?L)6k$gQqp; zOeFv1@P*t3PCBJJ6uCc5rX+p_@XHi9tiT~Z9E_06?V=5Fow_TEUVM~ZqhZK{Y+w=8 zk`+>bl#Z|~&A^1x&!Gj6EmLg$N1Rjsm}vz$xH??PY`&}f9<5CF3s=+kXXGcf>AxtY zy0J!&$3X_2%b&E23f$#!4NBbj8+00=%5s*}cytRnRao69LtS>KS}5Y}0gBQuti@@1 zB$cl~W!mUI)aq}NJrxu!LxQOP8j+M`{E5T?p_}mFqdT~b6~Csf#kLZJv6}~rF>7tE z7?9m)9*|VAZqeu~-Lh;x8Em3{;~{LfFm!r37|*dNcRh(pn^vk3@Q(d4&G?OycA#mj zA$!zFr9pxr%Y#m_FcB|$rYlPpEHZNIliZ=u&jz|q1LV{^O4gLJKu09BydFGcFH8}8@nlT~V}$Vr4jn*4MKgUFF# zidpB-Tr{|B|IS`UCwz04i(iA7?ESq*d}SpVH^pfVa)sV@G(QF$Zdg#JvDZ5TS3lDS zKufXqWj+1`P(HO59|8uicd$po3YQ%>Mm;b|exn z!>JSh+GSn7Xq({D0mzpQG$8gn#InXcMrwM>{QTpXZAw5M*)JmblZRwn*?J6z?5Jd4 zF*@U%VB}X>=E{yx!0Jc4mrhW-7ev%+gjrDU_x~^gz&Wg&9Sh7BY6(r;U70^Nxz@_7 zeF)=d7JY|{K|9D9s60U!`TA$Nqj2kxBP)Bfu#}j;Ffb=zS;gH#fv(idXjrULd`w!6bvk1Zpx(8g`j+?6eog`(3$4jv{ozg29A z@1;NI8LE*JlgB_!jN2aQ+|;6?6btD^Ei$P)&~HI#zv9$N z0#3#-y9`q;5La;%uNG$1;7BuZNiP7jqthoE}4Wb`cW{%nS&Wt^FVD^`~7D-WDmn(piP z_*Ghll=tBTnMc9c#^6s`S#;7_=LEwt(y3hLu3fcN1)T^#qkiCGz|L9yq-+9+s)(>S z)ma7XVSoEdg^)(vmJicY4@I(03MIo@mlh*yb`@J6m( zVJjbAiMgU-+W29USV^+-8GeLvz~KnKFF3}`!s5TGXHF1KIEI)P1aa(5Lz!Kb{w2<< zsP1OW#d@$YB-$jmN=GTvCGjF#;ZDkdVt6@H1;^U215uV zI!)GV@62~0U6EB-tY@!~SI31lgM}inrR@uDm}8+f|K^3Zs&@#B3VF2}THK%2QQhz< z0!-NevEDC^;VTJyL2)h%ig{<`H&i#&g1w5R1*#7+Js6_aJ^=wbH*-#`j0ya#6f2DB zIB890VX)7UPbhXCY<>|H2J9hzPNMc)u)xvN5$m*zSdaHY&t!whdRLKKq&gvqBiqCz zsstG`6R#GD`m6kUUjIAAw7njMjLWk21qUmL@)mYf5gr*a;NWRgdwohgO~-bf0Rdx6 zx6^U-h?t`}8Cl*EOl4HweU79(S*7ZalQMnh!ZYcbm0&hY#oxb=4)R&+&N;Y0pBg}zCLlDUH*SGo+0=Q(19LHYpD1}@ZKO{24iQgba zg-5nF6fKNfy_hjO2BRJb!k2W|oGfq;v|PFSv&EQDEZ(Azm&_yjB0k$iCh;wjW_-(J zOJcNIKAmD~33n-~zld}xD)9iam6NG~o6mUjAc)=zvXT?5zELYJFBi)K{b$Pt9*eAp z=r72h;dvG2-43cQl!;Z4ViM3xp4;guMxv!jaM^d9mS=X9_!l|q_cia$Yq&B#hJmb> z-|JrvQ1HR}^^`du5?W6AEeJNv+V~3PiWGzf*rRD)4Oq;*?NQ0t}rL>no8m zpdXbl5t|o4%?kdSqFXR*5DW3&#(nK@&|zb~`6~jljW7Q-zR&~Vcze73J+F6t%5i&E zBl;135rje3-SN&g=IS`v2Tj{c3MY?>V0T|ol_4CA49T?9v-2W*K)4v<Xe#kdrwY2pX5y;DKr3yUo31HCL8 zyKUIR@5QkdWWb4IUWN1yjQec;yIEqCN{WNLd3ejlG0;FaLcTYt_L~Xi8FLT2faw#b zuo?!fRG$S|=z(DFzaw-#9>kgLU8wFL--5qknIuCNgeZ9>w1*soMC8~F zRX&ypt!M9xt07P=STOTQjN%{M8oMO@^%w>xYZO;NslF=q+oMr~g9T0w*sY{1y^5p{ z!0ee?YC0kyS4v~kLK2O74-b|0_?0%Bj&C6mnqM8Leipkr zykXc4{>t}){BUU@8-KJ4))q|go08;4wItjTyf9Uf?-kPDUG zV{w16>Of$3miG2;6{Q?ZuqlSg`GvUc5N^GR9BxDub8lp>n=+>Wq91ze=NySuv^q!p0vmQFX_Ah7A~kZzEa?vgI)7LX3<&b#nC-#Pa_ z_m9tmKZv#G9BYm-$9UgjaN{yVrSAT&4takMifQh(Ewv&Gro@W1(;{3^R?jtS4f5ZF zhX_5*=sL2+OYkc~!+p4FJp3I>RkX=IH-WAc5mJAa;uRx)9=70J_3v+zeWyiD8C@c;Hedt1fr}6J6 zd-;SdV9M5rH&nTqN*1=xYlU&QfN!jz@*RU zz0EnZ$(}QtDaFSI`LjhUsU`=L6PAHy8bYu#cdZOSG+0>jrHH=u%j5iM#FxPb;B5-A<+?00H*{gaGPw=g09E z?%NLJYn1FQzY|y-RQ{4Z!+^ag8Y5_w^k4E4+uEYhAe27+{noxV)wB}8 zts09EFW>%Sr_>lxB=LmV^PV0DzVeA}o%e3K0Hc!$>(2v`)WH#&q6H$zzb@+A| zU9BezdiFjO(_nN#n&!Rm)i!8f{A$Js7yM=r_-KdWqWbiJ#KgXLjFEV}9{*z1k16fX zhQi#?3f8C>M95eLS8(*v0b_qQ1ZrNiJKjLaXXASe1Y8gX0e{?=7cq0zPa z&6&L|8UcQ`bkVG(wYV36jXp=Wy(mgEc(Ym$`o)u^E~$F*qdWy;^8q7tBTgt0=!~jo zAK{MuN=RyLQkmpram|%h2=z-eguPhgoHeh~0p6qqelBkGDwjU*IE~Y~5gH*zU9bor zft$M0?Mv`Bd;xM$xXQ4_ry7rV=gPCZ@z0Mok9rD1PdC_on^Z6bUAh@-=w8k`-ytaL zQf_8aEDso5j54QeJe|Wcj>r-3e4j%JT^r)}V`CvrDM0|zVSDbGZ@GgC~3@?T2Hbhjk^ zScFXzC4q|d<5BT+NNmkmAR&WeK^xr?$|SWO26Jh6{z6@vy%N7FzSAD_w)xcs)?}Kf zxrJIP`e0saY3Y}^WemDXt^QKvTG9Zt{dJ)v;&wI0kC@tHnL zR!R3jB$t!yiGuJAKVD!gZe;Y+_AU;{d1udfVh@BmFbnMQA`%sY4aqTgP%?AImT%Ol zk*EU+s(x1SoxAo`Z+-nqw1z^?{1xK^3>h~O%*=s=u?2@(rwUe5h~jy9v9SvTv$iS@ zJ^Ufa@myZ13thX}kt;4ZbzyeCzM(NMMbT(L-YH>l)1={wn5Yi)6Oa>e?49agwD@DYE2Y~mO)#QU5{`? zd=>sLWpv6HD_yVS3q}SlUUQ=xr20m$;gddj#f`Y1pN!YMW1lYeZmOzZrgCT#FQ}%c zrfP30`Lewa5t592*P{0_+m64y94mD{x3Ik$+OOsMKRC4$kckZPaH6|(lOo8dvy ziFQHX-3lSGhwz)5o7Y<{f18~Gnb`ZQy{;%}U_N3qlD>WTNH5#cxW*n@g~jW=doF zWs%F*0Tnp2WP0O9g@Nf6jW9r&ntm5R7=}dJLXx=2Y`i&-N{{4$Xo8dL+9YK4%T9T< zJaw_?m2#i3Efsr^0%VPhrBew778)xdcw3xcQovn6+$i_+3Yv+lQY0cMUYNHrDt#`T zawbxz3EzRiv#^Vy_xP*z;x*5ll(U%jXZn0csZ;q#7y5C6^Rp<_FZ>7(T1h_cdQbaW zR6Y$WzkD6%kLGr}Nz^qo99yvI0myHnxp^gv;{M)%-YIi+>D@KdtFG(*3|(UJS9QU3nUFlhMoZATTF?w@>G{_2YZh{k>9W>`T1fV~_tUlizQ>3?loq z>=JJV7zRG49M=B}lHEPEO~Y4KInI0KgvZW(4D5=*X%ofy!ec1u$FLuH;CjFXfq6m_ zG1b31+_>A^?Lwp})MH<2 zk5rQD=HK6;DaBlGfST8#!@emiy}!oimOfVegEfS#_O$+g7*N+YZL~On;4~ zn4jD(o8hbQM*E!8wvj1bCHeyZgTSEyoccR-c7~n~#u}){8xrA~*Y3^^;JG@@jNvn> zx5PiXw3I;)8Td3kcTWKWbe0z;-Z37fG2gzl+Qy6o{e8{&o&9$Jz{wC!jxbu1{{$RF zBM%`5bs4#V5Lw>A2=BpA*fKf2q@B*t@0Po>awU4ohETMK zU+2}na*~o#e0Z2~=*WY<|MNql$fT{RF50jZ<|-WOvE*wvEi$3-;%_8;(a*ETb-NQ{ zmK@FQe;3R9)RBAb-PhKZmhS)5DeZhC&B`nF`IY+~Xwf@bHxl~1y|3du;dRhb66LQ0 z)?)5L?VL6pQ1m#g4Gr|xFn0HSQqz`RsPc5a9Jn5v6JS&R-{)l4M1OM|0(4L_?I)9< z+UGLFmW~A4FiMnFU>i2sUwQwev6`fJ+4QCZDQPe9sHk=ywXE9swj8f*@HGJsE(qE(jp@w z$~XIDNgepP?Fa1OTZ?pTKpr0&OsjOhAd+#k=vBAiu{&NQeLKAysz0dv>dx=^rw}!f zV@EM5IXTPsB*AB*kTu8?ZhGf`+v5kGl(s-dsUOzm!cy^&~ zG?jOO>A6zEJ>-FsW=Oo-Jfke1AoJ5B^${7c+dhm-sD;tD<++Vs!#KeA)ic7MV0kPv zp#H--+y||wW&2TedB%DgJli`eFU}{rpRdHbauK}qCmj))JUv-`|28H8m>8xEjok4vzaVHI(5)zrVTdOq~T2 zg+G_!@cG1F_<9!hQ^JqDO& zH5}}e&%l79`@`7M3_v-4SSAvl)Vn>=-7~z0@xJ}bGp?w}_uH$4NvUK;F*+LU^`gYw z++54Z-Bi>X0vMTlm(FQ(wK!!um`B_Rfa#+RF9&S>pV!1*e&@VkKm(&~kh_Z;5EDgy z`!zasd*TslS=J=Qj3mgGv-=zku0gByG@~ObsE)wDh#Dc=C-VOnv5mWr_e!|=eY(`{ zNc;#!V&j8{dbR8hye<>jVXlU3dFnbaI6C#-gyZXlK;M z2}F~Z)>v+nOWF1II+>bE!IC1Tm#M1C>bewfPrXAOc99cf{Gwf6f)+frQ3FtUKxM35 z=&gHXM{D{&wn#8g*tqf0ISli&qm@Dm+u)@KTW|9)C;TA;ayQz4=u{21p9i0iha8yo znO}-0E$AI_vkA*&yF)A`Q2bb@#gClX+Gp6NHeE%gKB{UjY6%}6*CawcULV93F#+&H z-*fz*W{jFIO>>NGzAdtR<6Q*VF$mvYnZAugFFEho>vo~`N!`cyp%Be?G=ZiPfM(?L zpW#~uMWG*P&3EmPuc|vQ72|++E0%UL+Ha%C7qsIQF2`wgB2V=|hUa0` zd@S>^e|}H;A_OhBdTs@YJ#%n*Q8qL*-1^-_dK?5i`Ze1h6_chC4J)PoL!_o49YSFO z2NDTY%x?2DY-J*wQ7zOik?fleXv^$heKX2~`f<*T z_K8e@Mt%&{!B{zAx--m_C?B$l!xmBZY`W9OQ0>%V*AP9MK#Ys9^>`skaxBVX`@T$B z;$6p@Lf(Fm5($f9iw31d=5o^Ke!=*OGdo0|*!vm1hC0v+Rf2&^?={N#lJDw)J;l~4 z+m)FV5gd9t;w1kL-IFi)kq>Fc#F->HjZ8$&e%{QiL_liMmW>@42;besoxx)}X(?|l zFX({s0E>o2{;S(6Jrbn-Dv(73HYli=YJaPDbP{V--pepOwR9ug>EJAZ9E`yQB95>6 zY!>~&P*@^_&p~+aCI!O)wqeQ~eu+Ldjl#{0mhJHU`{gxdCbdFX*^$%PkHo5Ll4fm* z=EWTPg%%LMS3WsWz@wHTpU8zn+k$C5p%210sL z*(-AlUXVABA~_j z$0|kwlb8zNAIz%F)-waQLmWg$yZSYrz% zL1$woRHu|ed(2%)k-|?u@1sK4oI*F;>|v@5Ka2)5ireSDi%H_{rf6*t zEz*XTeV0-S;;Q1{hLkOP=^Gn*4=+@;F_uSzPdLKWIlkAw$+w+=N1J9in}gA2!rIJ; z5pyWGZ=fL^H1=NC1zdn-mWEk%Tg@yloU`=^iQkDqixKqbzMV#)>qap;NgWxL)hF@7%B_kSgL z{bOf8BW3_gbAisPM&4#`P2A}mzw4*!fiNK=?Q=F1$AKlxd&TfA)1_$!c%&0+`r%cWWq<`WN>Vq25EV* zt(^`t|3Qb{7}qm&E|!NMdp42xx@YXjDeJQ&G5>E*&^O~^(L82TtIyWdT-+Q@t?7Ff z{=`*m2dyQ8Cc^cH{bi}b*o`T7olo5iz8Dy$%pv0V{2R4DzRuQEYlg9G-b1V9njze# z24Kt_{)pERynFm{538Q*R{F~qw9TJZERe>Y6xuoP@D8!4C%_9+COoK30Sxuc z+*=wRx5yz);|z7MFJE3=3Y~IVq_k_(3S>q*Rw%H`_OfA-LoU92oJ8c>tDU~ zhIiMaXGC02gO4K5pVGy~%o&l^(?Tfz_-~Dt|JKRV*&y#vuT-l}Wc)MT9fd%)w)^<$ zWB!ZxTumGbsuP+vUyMW<_mF`w-x6?b2#f7;%(l|f;A5@19>t!IE&wI)~ke@Jg`bs8kISh8b5-gKQq3*eVqx}5~XqB(x z3}yIhwo%brsebQIR;1D_aNpzyy&}8S!)Cgm^1+HbjpVt?4zVT@5ey();VRE z3zw4d7!t2I9kD|C=CW7PZn5TdgWwa9{kwZ zfp%F8t4b8oVs5bW)RxUCs8Fo=rl-=#xmq;y*YRe(2PJXS7TtCq^cU?^aw|C|KHxe!v z$;pF19+bZlj43`1&|9#N#}0;?db;?=;tDQQmMGwl$inY>I3|5)#zK#UCPDoGhf|m? zPA_d%u;t-O=MNTI!4QPG(MIL-zWb@(#47E)qMlVb&j%au1D z$?mCwFM{3E8pYG-UCW!Z$|P&|ta8IZpB40|J}1PdV^-z^ExEL(@ax*f5nv1~JHA{y z5O;_r`LN>2yG_jkWkwVyys1hz6^b{C8asNA&U)_p$_Dy-C4-F*{-W|63`AfuJpy)3D& z3iRqWa5N|~MC8&;kUY5Ea5}pg_-6drB^#_lL8lv2t5y?1a1{|VzZav1<1~US)bJI< z4G{ZWKDolB3!!LZEMpRHO}!QUfda1INgJsskTIhpM)aZ+M_e|x%gCKv9ZTc6M1?sD zU}pF8P5NmqI@8+=Kmv!^ila^vv`1A1FnG|jH_?muPW7I0#L-Ig-91b{FJgyl!lqmt z!TSqJ?A8tgL9jaIuG2L^rZja&@#a*M6lSEOBT+_6lzxcQw^0cL9i)I%q)+2D}g#Qg_P5ioH5lo7vgUpi|#wO)Ag88XcQB@*R>kQnX z_kF$xr4M6!rbst%hoe)$PZ!%#Xwf4rU1k*idVah}rC3UB>%$w&=$TleP|f-dNl{bU zJX!TY9h9W85oyvZH8{qI-SH5-lFY1-$UFdsJ1hq6T5f7b$apr-<09p^ z^Bk(Br{ zT;a;A@0~5NXwKpljl?(4YbM?~G$|)F-@@O~DU};6xO@Bu%;oW3kn;BEKxC|-A)oQb zPZi=)ZfuJx&Ul5!#<&w$fJJ5kRCuW|KddVy{sV#`oBbmPwuavMkvViSvp5XBuDajY zG&B*!K>5QovVbphC@%AY>QgxIVM9>$Nu!}d*NTedDJe1>^mp^;Tj0(2lQ`s4L4(Dz z9=9}E=;I9=W;q`bIQe`9_O!a^b`3exKe@kQ|LAq(s(9Zi>Xa*|gum6l037qb!s1gN zOMs1g82hhX9x1}=LY)x7kna^HH@KU+6Hx+4CpCyEPVkVMc@Vzi%w~Bwy|YrVOa-1O z{EwTJg`Rg4^y7KYY2&pT;wd)aUQr4BFj7E?gIZYWB>f)+KC(XN2DAO^|Mw?qyAN=a~RWbA>!wNVi66^VZsaY7tz8==_{>7a|Sd;4^H`x!1+ zTXJO%LZmQpRYgsvqC!>w=;E04j!P|M%1r9Sb_dE-PiF6NWK;qBiUx&3m`$ZrGydOx z%9DEk##tP~>&4H4r-yCxMmThX$N0=1MG%wr6%q|2FKiu?CKrd&C8+HOHFgquyq@%c zW^Ld>5%&PBYz=&{tv4k>k03)Vvmu68A5Kb-19nLcvw}+hxQLt5|Kj$0!~O&9hn|9i zhV!L>e}?9cIO1XM3&7>$Mlo)Zbu0tdFv`S0Yz0#qO{N5IRN>{J`F=QZlg zNu0VbGa{|f3chSQ!-><2=}UK2Z>3vH{$DA;e-~;#pgcfp@vLZ%RVgv~@P0VAlpuz0WZX*AcUyyz&k?4`D>ezE% zRmxhD=_{By2AeRruBYb>TpI=Pc60)|Vq*SSf%dB*V|lu*S$XF!f&j$qX zc=Pi0%69GzFlj&9#!0S-N1H2nUDIC^n>NmEt;PTU{={BW7-)wKdZEz^<{n|sKiPsF zXfgaA(xQm(G~@b?hNt)ljzxa#X1KaySI}OgZEHbKxH1Wfup=Vy3(MLg6tI~n_3s!< z-N8#OQsKC5Y2&)WZ&6S+h{!o#89ol4F^xUVbRwacuFM^aVO5ZxHn#JnaeGeR`rj2; zW_y#y0Is8;?Q+})6z1m=#u`f+N`gmt6e{~d?=tI&GerP-f*#>pI7soCdcGTs-sw~A zYm(_#EEt^BAKn&FL2*ZKDWMI=#T*LyO_8X()iOH!;5oWxw*TFa)vZ7|c`D1ATUgo! zmQ&0VjoorW2M&!a*mQd+zG>Bqs1+~UH|EF^z#bFv+I#x+C*EDciM@OPIOTxT;IGgk zP@25#I?KZ6aH3vy-5;t2^87ci27BC>mnpKHu-o=aw#6U5d$oztvPzj={?8%ids(p; zk!&saJLtXZ&(C7ouYBu1qcLmV?@{;G?_d4Ug8k1LzO*-;K)EPoaw9mT3!8H`FML@9 zTi-ob`~967)H)Uc?FYd5qg>!=bw)Xb^@bqV2AK^{n>+7K^nF(nzQ-O~_p$uj^|Iox z{bf@4_9^zHEeE(?HQab3d;8y{`rrRdREi}OA*9*(n&W@oaq9a=Eyv0CrkG~z%}N59 zx2@bvz*VF(S@|F=v5yAV+7NXOhg^ZCg#p*|TtzNDPey}EIxVRD5o_7SqV}47*sI&TXyv=&sW0GsooR%aQ-<>6>q0^YoPztk-1MNNO>e@w_U}M1;z- z>iKAYb~&&2rEMoguj`r4|Dqd8tn2E>XxII?SSGNue~WmFU7vezFe*bRi9OFM`Q1r^ z{A)IYh|m3A;lz%uzH}W%jOt}%ygadWxu2GZbv#@z93CF}-5<$ncD+2LcHZ58Pc^z+ z@V|5iY!5H7uXjxV=h`2DX#2e^?Y&$nbv+L&`5h{CKL33L+!320A$ffvs3g3|Pymn@ za7-lcByYT20agT6qt~rR|A#iC`;pG)$Cq3GSMTfc1@V_1Hec)2#ag~~ry~Qh=TgPt zJ+a%R*5&1{hoi1w&ZlL-D3JgKht})4gT(gxGF-{$Akye-Ak5A7DvkW<{k|-)fA(QW zy|1R$U;eIV@!BtMF=e;DEbk~(p?V|wIjl7P9mZkO&w-g*+voTPUS3UQb^LEF06Y@| z4B`b~fZ^LHKojcN&KH^RH&5dIF0kFlVdX{~efA(nLb7TdmV#R~j1-n%T9+h^x8!gp znmvMbmqZC(Qwp$#s%7S^o4n3U$s59*^WL*fa?aNepXOVYW;>PRAtDe?w(p+ zZuNhCq02#z=D=mvKVy4+_yX{;+l>z}&kzzWJ`R&}^JduyyB?O@K0~8kh4U598~{{y zDaiXd$=H~0?5Jye>!4=}X)=#+DK&X#J-w9yMWWN@XWaIOVI^O|csZZDi4}@WvgZxB zoYvc!oTsspfQ>sq;c)u+5_*z^Jo;aSgZJ@bEpa+z74!sX^kl7V!l?D<$h!Zj0Y9x$ z_8&~*>dp(!%&wd0FVv$Wt4RQM|M{Q;&?;DpJ>I`QP5QsiH+9V{F5ca3#R5LAUr5}< zf-cXlqh!8zFmZ%RBG1Hfv`XpizAHCGRc!+X^}SvTm@?bIp&rOFv8RWuJP2`@P{fWd z0s@Jldm(~!JbLmON%~__%!??%wUuSh&7%?#-q4N&oOAJm783jYOudH&*yIfa!{|#u zo83c5tuGNL_gI^Wvo;HCJy OWnemq^_dE_H}&&_3T_^LzP&#P%}2{_=d{3x`S~ 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≥Z8zaL<=byyN0WJBlUjwl3`PSFR9P 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 literal 0 HcmV?d00001 diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..47cd23eea --- /dev/null +++ b/package-lock.json @@ -0,0 +1,78 @@ +{ + "name": "fkst-hosted", + "version": "0.2.3", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "fkst-hosted", + "version": "0.2.3", + "devDependencies": { + "@playwright/test": "1.60.0" + } + }, + "node_modules/@playwright/test": { + "version": "1.60.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.60.0.tgz", + "integrity": "sha512-O71yZIbAh/PxDMNGns37GHBIfrVkEVyn+AXyIa5dOTfb4/xNvRWV+Vv/NMbNCtODB/pO7vLlF2OTmMVLhmr7Ag==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright": "1.60.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/playwright": { + "version": "1.60.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.60.0.tgz", + "integrity": "sha512-hheHdokM8cdqCb0lcE3s+zT4t4W+vvjpGxsZlDnikarzx8tSzMebh3UiFtgqwFwnTnjYQcsyMF8ei2mCO/tpeA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.60.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.60.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.60.0.tgz", + "integrity": "sha512-9bW6zvX/m0lEbgTKJ6YppOKx8H3VOPBMOCFh2irXFOT4BbHgrx5hPjwJYLT40Lu+4qtD36qKc/Hn56StUW57IA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + } + } +} diff --git a/package.json b/package.json index 64ecd6fc0..b5b2e72d4 100644 --- a/package.json +++ b/package.json @@ -3,8 +3,15 @@ "version": "0.2.3", "private": true, "description": "Unified product version for fkst-hosted (backend + frontend). The Docker build reads this version.", + "//type": "Generated Evolution journeys live under .fkst/evolution/journeys/, whose nearest package.json is THIS one. They are ES modules, so the flag has to be declared here. The repository has no root-level CommonJS for it to affect; backend/ is Rust and frontend/ declares its own.", + "type": "module", "scripts": { "evolution": "node tools/evolution/src/cli.ts", - "evolution:test": "node --test tools/evolution/test/*.test.ts" + "evolution:test": "node --test tools/evolution/test/*.test.ts", + "evolution:journeys": "playwright test --config tools/evolution/playwright.journeys.config.ts" + }, + "//devDependencies": "Pinned EXACTLY, and to the version frontend/ resolves to. A caret here drifts the runner ahead of frontend/, which pulls a second browser revision and a second @playwright/test instance for the fixtures the journeys import.", + "devDependencies": { + "@playwright/test": "1.60.0" } } diff --git a/tools/evolution/playwright.journeys.config.ts b/tools/evolution/playwright.journeys.config.ts new file mode 100644 index 000000000..d88923361 --- /dev/null +++ b/tools/evolution/playwright.journeys.config.ts @@ -0,0 +1,63 @@ +// Playwright configuration for Evolution journeys. +// +// This is the section 12.1.2 "consumption" pattern: generated journeys live +// under `.fkst/evolution/journeys/`, a dot-directory conventional tooling does +// not discover by name, and the consumer — here, a test runner — is pointed at +// that root through its OWN configuration. Evolution never copies generated +// files out to conventional locations, because a copy is a second maintained +// artifact that immediately starts to rot. +// +// Every capture-affecting setting below is PINNED rather than defaulted. Section +// 23.6 requires each capture to record its viewport, device scale factor, locale +// and theme; a default that changed with a Playwright upgrade would silently +// alter every screenshot and every video frame while the fingerprints reported +// the artifacts as current. + +import { defineConfig, devices } from '@playwright/test'; + +const port = Number(process.env.FKST_EVOLUTION_JOURNEY_PORT ?? '4173'); +// `localhost`, not `127.0.0.1`: vite preview binds the hostname, and on a +// dual-stack machine it answers on ::1 first. Probing the IPv4 literal times out +// against a server that is in fact up — which presents as a 4-minute webServer +// timeout with a successful build in the log. +const baseURL = `http://localhost:${port}`; + +export default defineConfig({ + // Relative to this file: /.fkst/evolution/journeys + testDir: '../../.fkst/evolution/journeys', + // Raw run artifacts (videos, traces) are BUILD output, not Evolution state. + // Section 12.2 forbids temporary media frames under the Evolution root. + outputDir: './out/journeys', + fullyParallel: false, + forbidOnly: !!process.env.CI, + // No retries: a journey is evidence. A result that only holds on the second + // attempt is a flaky demo, and section 23.5 asks for determinism instead. + retries: 0, + workers: 1, + reporter: 'line', + use: { + baseURL, + viewport: { width: 1440, height: 900 }, + deviceScaleFactor: 1, + locale: 'en-US', + timezoneId: 'UTC', + colorScheme: 'dark', + trace: 'off', + video: { mode: 'on', size: { width: 1440, height: 900 } }, + }, + projects: [ + { + name: 'chromium', + use: { ...devices['Desktop Chrome'], viewport: { width: 1440, height: 900 }, deviceScaleFactor: 1 }, + }, + ], + webServer: { + // The built SPA, not the dev server: a demo should show the artifact users + // receive. `cwd` is relative to this config file. + command: `npm run build && npm run preview -- --port ${port} --strictPort`, + cwd: '../../frontend', + url: baseURL, + reuseExistingServer: !process.env.CI, + timeout: 240_000, + }, +}); From e637a8c8a1ffacb1cc86778302a9e5c0b52a2372 Mon Sep 17 00:00:00 2001 From: Shining <250120269+chronoai-shining@users.noreply.github.com> Date: Wed, 5 Aug 2026 17:42:25 +0800 Subject: [PATCH 05/27] feat(evolution): generate the documentation page and product skill MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both artifacts derive from capability cap_9d41 and journey jny_2f7c, and both embed the screenshots that journey captured, so the prose, the images and the assertions describe one state of the product rather than three. The documentation leads with the prerequisites table because every entry in it maps to a specific refusal. A reader whose button is missing or whose request failed can identify which requirement they are missing instead of guessing, which is what the intent file's "name the failure and its remedy" voice asks for. The skill is not reformatted documentation. It carries the source commit it was verified against, the exact request and response shapes, the side effects, a deterministic success check, and the failure table — and it names journey jny_2f7c as its conformance test, so a failing journey invalidates the skill rather than leaving an agent to follow stale instructions confidently. One claim in both is worth stating plainly because it is easy to get wrong and expensive to get wrong: a 201 alone does not mean the session is working the item. The durable pick-up acknowledgement is the claim. Part of #5866 --- .fkst/evolution/docs/queue-work-item.md | 97 +++++++++++ .../evolution/skills/queue-work-item/SKILL.md | 151 ++++++++++++++++++ 2 files changed, 248 insertions(+) create mode 100644 .fkst/evolution/docs/queue-work-item.md create mode 100644 .fkst/evolution/skills/queue-work-item/SKILL.md diff --git a/.fkst/evolution/docs/queue-work-item.md b/.fkst/evolution/docs/queue-work-item.md new file mode 100644 index 000000000..e4fc2ddb6 --- /dev/null +++ b/.fkst/evolution/docs/queue-work-item.md @@ -0,0 +1,97 @@ +# Queue work for a running session + +> **Generated artifact** (`docs.queue-work-item`). Evolution regenerates this page +> from the product model; edit the model or `intent/`, not this file. +> +> Capability `cap_9d41` · Journey `jny_2f7c` · Audience: session owner, +> repository maintainer · Status: **available** + +A session works the issues you give it. This page covers the fastest way to give +it one: queueing a work item from the dashboard, without hand-writing a labelled +issue on GitHub. + +## Before you start + +You need all of the following. Each maps to a specific refusal, so if the button +is not there or the request fails, the list below tells you which one you are +missing. + +| Requirement | If it is missing | +| --- | --- | +| You are the session's **effective creator**, a login frozen under its **Session Collaborators**, or a **deployment global administrator** | `403` — repository admin or maintain permission alone is *not* work authority | +| The session's **trigger issue is still open** | `409` | +| The session exposes **at least one applicable work label**, and you pick one of them | `422` | +| Your GitHub account can open issues on the repository | GitHub refuses the write; surfaced as `403` | + +## Queue the work item + +1. Open **Dashboard**. You see every account and repository where the fkst + GitHub App is installed. + + ![The dashboard showing a repository's running sessions](../screenshots/sessions-level.png) + +2. Drill into an account, then a repository. Its running sessions are listed, + each backed by its trigger issue. + +3. Select the session you want to work, then choose **Add work item**. + +4. Fill in the composer. + + ![The Queue work composer with a title, a work label and Markdown details](../screenshots/work-composer.png) + + - **Title** — required. A blank title is rejected with `400`. + - **Work label** — the list is that session's *complete effective set*, + including labels discovered from its packages. Picking one is what makes + the new issue routable to this session and no other. + - **Details** — optional, and Markdown. Original whitespace is preserved, + because indentation is meaningful. Omitting it opens a body-less issue. + +5. Choose **Queue work item**. + +## What happens next + +The work issue is opened on GitHub **as you** — not as the App, and not as a +service account. It is stamped with the label you selected and assigned so that +the reconciler claims it for that session. + +From then on the ordinary session lifecycle applies: the session picks the item +up, works it, and opens a pull request. You can follow that from the session's +detail drawer. + +![A session's detail drawer showing health, phase and work items](../screenshots/session-detail.png) + +An open work-label issue keeps its session's pod alive until the issue is closed +or its pull request merges. Merge or close finished work to let a session idle +down. + +## Why the dashboard is not a second control plane + +Sessions are started, driven, and stopped through GitHub issues. This composer is +a convenience over that protocol, not an alternative to it: it opens exactly the +issue you would have written by hand, with the label and assignee already +correct. Anything you can do here you can do from GitHub, and the result is +identical. + +That matters because GitHub is the only durable record. The control plane keeps +no database, so nothing you queue depends on this service staying available to be +reconstructed. + +## Limits and caveats + +- **Nothing here guarantees an outcome.** A session produces candidate pull + requests for human review. +- The label selector shows the session's *effective* labels at the moment the + session was read. If the session's packages changed since, reload before + queueing. +- Work authority is enforced on every request, not just when the button renders. + +## Evidence + +This page's claims resolve to: + +- `backend/src/routes/canvas/work_item.rs` — the handler and its documented + `400` / `403` / `409` / `422` responses +- `GET /openapi.json` — the live operation schema +- `.fkst/evolution/journeys/queue-work-item.spec.ts` — the executable journey + that produced every screenshot above +- `frontend/e2e/dashboard.spec.ts` — the product's own end-to-end coverage diff --git a/.fkst/evolution/skills/queue-work-item/SKILL.md b/.fkst/evolution/skills/queue-work-item/SKILL.md new file mode 100644 index 000000000..9b634ca60 --- /dev/null +++ b/.fkst/evolution/skills/queue-work-item/SKILL.md @@ -0,0 +1,151 @@ +--- +name: queue-work-item +description: >- + Queue a work item onto a running fkst-hosted session. Use when an agent must add work + to an existing session — "queue work", "add a work item", "give the session another + task", "open a work issue for session N" — either through the dashboard API or by + opening the equivalent labelled GitHub issue directly. Covers the work-authority rules, + the effective work-label set, the exact request and response shapes, every documented + refusal, and how to verify the item was actually claimed. +metadata: + category: plain + tag: + - fkst-hosted + - control-plane + - work-items + generated: + by: fkst-evolution + capability: cap_9d41 + journey: jny_2f7c + sourceCommit: "98cccb5af755d4cdf71d7253dd5e9c2c934fb3f0" +--- + +# Queue a work item onto a running session + +> **Generated artifact** (`skill.queue-work-item`). Regenerated by FKST Evolution +> from capability `cap_9d41`. Do not hand-edit; change the product model instead. + +## Purpose and bounded scope + +Add exactly one work item to one already-running session. + +**In scope:** opening the work issue, choosing the correct label, and confirming +the session claimed it. + +**Out of scope:** creating a session (that is a trigger issue), retiring one +(close the trigger), and anything that requires changing a session's frozen +configuration — a registered trigger's configuration is immutable, and editing it +is ignored and flagged. + +## Supported product state + +| Field | Value | +| --- | --- | +| Source commit | `98cccb5af755d4cdf71d7253dd5e9c2c934fb3f0` | +| Capability | `cap_9d41` (`available`) | +| Verified by journey | `jny_2f7c` | + +If the live deployment is older than that commit, verify the endpoint exists +before relying on this skill. + +## Prerequisites and required permissions + +You MUST hold work authority on the target session. Work authority is exactly +one of: + +- you are the session's **effective creator** (the trigger issue's author, or its + sole assignee when the trigger was App-authored); +- your login is frozen under the session's **`### Session Collaborators`**; or +- you are a **deployment global administrator**. + +Repository `admin` or `maintain` permission is **not** work authority. This trips +people constantly: you can be able to administer the repository and still be +refused. + +You also need a GitHub token that can open issues on the repository — the issue +is created *as you*. + +## Inputs + +| Input | Required | Notes | +| --- | --- | --- | +| `owner` / `name` | yes | The repository | +| `issue_number` | yes | The **session's trigger-issue number**, not the work issue | +| `title` | yes | Rejected when blank after trimming | +| `body` | no | Markdown. Original whitespace is preserved; omit for a body-less issue | +| selected work label | yes | MUST be one of the session's applicable work labels | + +Resolve the applicable label set from the session before choosing one. Do not +guess a label string — a label that is not applicable is refused, and a *valid* +label belonging to a different session routes the work to that session instead. + +## Operation + +`POST /api/v1/repos/{owner}/{name}/sessions/{issue_number}/work-items` + +Expected output on success — HTTP **201**: + +```json +{ + "issue_number": 999, + "html_url": "https://github.com///issues/999" +} +``` + +The equivalent manual path is to open an issue on the repository carrying that +same work label and assigned to the session's effective creator. The dashboard +composer is a convenience over that protocol, not a separate control plane, so +both produce the same result. + +## Side effects + +- A new **public-to-the-repository GitHub issue** is created, authored by you. +- The session's reconciler claims it and the session begins working it. +- The session's pod is kept alive while that issue stays open. An open work-label + issue prevents the session from idling down; a created-but-unmerged pull + request does not. + +## Deterministic success verification + +1. The response is `201` and carries an `issue_number` and `html_url`. +2. Fetching that issue shows the selected work label and exactly one assignee — + the session's effective creator. +3. Within the reconcile sweep the issue receives the durable `fkst-picked-up` + acknowledgement. + +Do not treat a `201` alone as "the session is working it". Step 3 is the claim. + +## Known failure modes + +| Symptom | Cause | Remedy | +| --- | --- | --- | +| `400` | Blank title, malformed owner/name/issue number, or GitHub rejected the issue | Send a non-empty trimmed title | +| `401` | Missing or invalid GitHub token | Re-authenticate | +| `403` | No work authority, not allowlisted, or GitHub refused the write for you | Get added to `### Session Collaborators`, or have the session's creator queue it | +| `404` | No such trigger issue, or you cannot see the repository | Check the trigger number and your repository access | +| `409` | The session trigger is closed | The session is retired; start a replacement and assign work to its creator | +| `422` | Trigger or package sources malformed, no applicable work labels, or the selected label is not applicable | Re-read the session's effective label set | +| `503` | GitHub API unreachable | Retry; the operation is not lost, it simply did not happen | +| Issue commented `fkst-unrouted` | Zero/multiple assignees, or the sole assignee is not a matching active session's creator | Fix the assignee; the latch self-heals | +| Issue labelled `fkst-unauthorized` | The issue's *author* lacks work authority | It stays unworked until the author becomes authorized | + +## Referenced resources + +- Handler and response contract: `backend/src/routes/canvas/work_item.rs` +- Live schema: `GET /openapi.json` +- Executable journey: `.fkst/evolution/journeys/queue-work-item.spec.ts` +- Human documentation: `.fkst/evolution/docs/queue-work-item.md` + +## Conformance test + +Against a trusted product build, journey `jny_2f7c` +(`.fkst/evolution/journeys/queue-work-item.spec.ts`) is the conformance test for +this skill. It asserts that the composer offers the session's complete effective +label set, accepts a Markdown body verbatim, and closes on a successful queue. +Run it with: + +```bash +npm run evolution:journeys +``` + +A failing journey invalidates this skill; do not work around it. From e8b2889573f35109e4bdaaa5b20087a2e9fd3f50 Mon Sep 17 00:00:00 2001 From: Shining <250120269+chronoai-shining@users.noreply.github.com> Date: Wed, 5 Aug 2026 17:42:25 +0800 Subject: [PATCH 06/27] feat(evolution): render the product intro deck and demo video MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The deck's editable Marp source is committed; the rendered PDF and the MP4 are not. The specification keeps large videos, PDFs and presentation binaries out of the Evolution root and stores exactly those formats as content-addressed GitHub Release assets, so the renderer writes them to build output and the manifest references them by hash. Two couplings keep the artifacts honest. The video's title card is the deck's own first slide, rendered from the same source, so the deck and the demo cannot disagree about what the product is called or what it claims. The caption track is generated from the journey's checkpoints rather than written separately, so a caption cannot describe a step the journey no longer performs. Caption alignment corrects for the gap between Playwright starting the recording at context creation and the journey's first line running. The lead is measured rather than assumed — the final checkpoint is followed by a known hold, so the leftover duration is the lead — and clamped, so a slow teardown cannot push every caption late. Captions are muxed as a subtitle track instead of burned into the picture: burning them in would make them impossible to turn off and would force a re-encode of the picture to substitute a localized track. Marp is driven against the Chromium that Playwright already installed for the journeys. Letting it fetch its own browser would change machine state outside this project, and rendering the deck with a different engine than the screenshots were captured with invites subtle disagreement between them. Part of #5866 --- .fkst/evolution/slides/product-intro.md | 218 +++++++++++++++++++++++ .gitignore | 5 + tools/evolution/src/render-media.ts | 225 ++++++++++++++++++++++++ 3 files changed, 448 insertions(+) create mode 100644 .fkst/evolution/slides/product-intro.md create mode 100644 tools/evolution/src/render-media.ts diff --git a/.fkst/evolution/slides/product-intro.md b/.fkst/evolution/slides/product-intro.md new file mode 100644 index 000000000..553d2e5bb --- /dev/null +++ b/.fkst/evolution/slides/product-intro.md @@ -0,0 +1,218 @@ +--- +marp: true +theme: default +paginate: true +size: 16:9 +backgroundColor: "#0a0a0f" +color: "#e6e6f0" +title: "fkst-hosted — delegate the work, keep the thread" +description: "Product introduction deck, generated by FKST Evolution from capability cap_9d41." +audience: "customer-onboarding" +purpose: "product introduction" +confidentiality: "public" +generated: + by: "fkst-evolution" + artifact: "deck.product-intro" + capabilities: ["cap_9d41"] + journeys: ["jny_2f7c"] + sourceCommit: "98cccb5af755d4cdf71d7253dd5e9c2c934fb3f0" +style: | + /* Front-matter `style:` rather than a