{"_id":"@dailephd/my-dev-kit-lab","_rev":"26-bafeaad23f1a6f4035f571aa60fb9cf8","name":"@dailephd/my-dev-kit-lab","dist-tags":{"latest":"0.7.0"},"versions":{"0.2.0":{"name":"@dailephd/my-dev-kit-lab","version":"0.2.0","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"UNLICENSED","_id":"@dailephd/my-dev-kit-lab@0.2.0","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/run-final-demo.js"},"dist":{"shasum":"847824c652ed270c02ca4611a9d3d2d2777cf4f9","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.2.0.tgz","fileCount":250,"integrity":"sha512-H91aS51RRypA4LQ4HNlyhIxlsWqs3JONOpyQn9jM+U1IRMHODMT/x297OCJ3d45tFXqUo1qCRADu7omdJYW0/g==","signatures":[{"sig":"MEYCIQD3+kaCP8FMa0LHFz2oXXzUJ+VN/0uWmgw/AM+ZzKo6tQIhAKO87mrPJ/OydiWb9YgCi9j0QIzq7nv9onXQ7NP8sqz4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":702137},"type":"module","engines":{"node":">=20"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"eb938168e7fcccf920260cdf93ed2fbcb6b2b83d","scripts":{"test":"vitest run","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run test && npm run test:benchmarks && npm run test:report && npm run test:screenshot && npm run test:evaluation && npm run test:agents && npm run test:experiments && npm run test:plots && npm run test:visualization-demos && npm run test:gallery && npm run test:demo && npm run test:integration && npm run test:e2e && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.14.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","playwright":"^1.54.1","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.2.0_1782392276527_0.37811680741289444","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@dailephd/my-dev-kit-lab","version":"0.2.1","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"UNLICENSED","_id":"@dailephd/my-dev-kit-lab@0.2.1","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/run-final-demo.js"},"dist":{"shasum":"adddf1e5118163e22691849e3bab212cdc2b9652","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.2.1.tgz","fileCount":252,"integrity":"sha512-yUjdRO0GDmDMluWBKEa3wGiOOFpGylcshX/YPTGvi630DewBG9xJ7/dRrVeladAfBG9DV61CUUciPYOR7WERRg==","signatures":[{"sig":"MEUCIQDD6G2t8qO9NCu9CYYofxBXj9ifuLTvvLlk76PVa0O0xAIgTreprzcH/IFCxoOf2umFz2YXGTsvzKPWJKYoRjrLjUI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":708411},"type":"module","engines":{"node":">=20"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"60b7a47357caec20d872a3a97a2ebd50f7fb7d02","scripts":{"test":"vitest run","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run test && npm run test:benchmarks && npm run test:report && npm run test:screenshot && npm run test:evaluation && npm run test:agents && npm run test:experiments && npm run test:plots && npm run test:visualization-demos && npm run test:gallery && npm run test:demo && npm run test:integration && npm run test:e2e && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.14.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","playwright":"^1.54.1","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.2.1_1782415616692_0.26606937170701217","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@dailephd/my-dev-kit-lab","version":"0.2.2","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.2.2","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/run-final-demo.js"},"dist":{"shasum":"cafc3902457ca373a3bbeb41f249a0f0a91ef441","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.2.2.tgz","fileCount":275,"integrity":"sha512-vTUr/yEctGx/Uc6QnnpRO1HVqK/3KNBB7i132cnTyv9xvELEAyhSQ0gPUMS4CwH1F4mH6zsAJ1lmXjB1PTEYNw==","signatures":[{"sig":"MEUCIQCcdiqj+0qRRKEJkygRQ3Yz8Ut3ldM/F0RqyQWM6+kADAIgPlOqMDD0doIgBXnxMoeRON6gLULWSw56YwBSUZt3Gbg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":828875},"type":"module","engines":{"node":">=20"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"06fe7ee53c6c3d380729dc52ac94f97b121ee4d4","scripts":{"test":"vitest run","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run test && npm run test:benchmarks && npm run test:report && npm run test:screenshot && npm run test:evaluation && npm run test:agents && npm run test:experiments && npm run test:plots && npm run test:visualization-demos && npm run test:gallery && npm run test:demo && npm run test:integration && npm run test:e2e && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.14.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","playwright":"^1.54.1","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.2.2_1783455134886_0.4060140586389187","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@dailephd/my-dev-kit-lab","version":"0.3.0","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.3.0","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/run-final-demo.js"},"dist":{"shasum":"464709c1bd382167f0577900f71b1923bd66a067","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.3.0.tgz","fileCount":309,"integrity":"sha512-iFugRbgbcw3dE6d4KqUcV7sKOP8uRiA9jRxKHRavZLa8ZUYgoYB4S86cAmpwDnSoZYyXXgzlDo6+rbhw5nbcmQ==","signatures":[{"sig":"MEUCICW20CG+aZTdeWuGHFaHWBIfQHNv9N1IxBQqF1zitVPwAiEAjuQA3kwr4wbVDE+XXxxO9xKQryLckKtidYXe76UaYJw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1064550},"type":"module","engines":{"node":">=20"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"b159072048cbf3ec1a6ce69465f2a0c2e1c856c4","scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run test && npm run test:benchmarks && npm run test:report && npm run test:screenshot && npm run test:evaluation && npm run test:agents && npm run test:experiments && npm run test:plots && npm run test:visualization-demos && npm run test:gallery && npm run test:demo && npm run test:integration && npm run test:e2e && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.14.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","playwright":"^1.54.1","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.3.0_1783510606542_0.4016672000238779","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@dailephd/my-dev-kit-lab","version":"0.3.1","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.3.1","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/run-final-demo.js"},"dist":{"shasum":"d50b09cbfc0226d2ccf9a488673794dfc181c552","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.3.1.tgz","fileCount":314,"integrity":"sha512-e3UP92Ch3+JtoSZnUUMLspVKkqeaCFblrKMqYB/N/SQmsR2KLGUy7g9etZE31dqjIa8ihGT6I4KVeZ1TY8xNzQ==","signatures":[{"sig":"MEUCIEPo/22u7ktz2SR4wSEJ7/nnm4kjoJd3ZV9LbuXQlgrhAiEA7QUudondfYCSA+B7TBYLr6s/fZY0M3MkTx/hFUod1u8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1108670},"type":"module","engines":{"node":">=20"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"c212ba6cc081dba9dde8ffd3a1343d1ed2873e57","scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run test && npm run test:benchmarks && npm run test:report && npm run test:screenshot && npm run test:evaluation && npm run test:agents && npm run test:experiments && npm run test:plots && npm run test:visualization-demos && npm run test:gallery && npm run test:demo && npm run test:integration && npm run test:e2e && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","ecosystem:sync":"tsx scripts/docs/syncEcosystemDocs.ts","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","ecosystem:check":"tsx scripts/docs/checkEcosystemDocs.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.14.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","playwright":"^1.54.1","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.3.1_1783604778185_0.3330888966874477","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@dailephd/my-dev-kit-lab","version":"0.3.2","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.3.2","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/run-final-demo.js"},"dist":{"shasum":"5e9b616a5d95091b97c7e2b7d778e996edb79763","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.3.2.tgz","fileCount":320,"integrity":"sha512-sWFHW+L9aOv0RwDV3fZGROXjcnFDiQIImgOaX4X3MN+mDMc7TraLXtqrc1k90FMRADUxdcnYmHHQj5nmCbFXxg==","signatures":[{"sig":"MEUCIE2s/cgDNOzm+/vqG2RyiN9znN8ERRotBj2gtbqV40QBAiEA/rINfaoZVXWzOw7ePhNMpmtRuASL3NjItlykmtNKYkk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1158665},"type":"module","engines":{"node":">=20"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"8ab7a34bd3ef742b380d5ce0754ce92cd322a43d","scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run test && npm run test:benchmarks && npm run test:report && npm run test:screenshot && npm run test:evaluation && npm run test:agents && npm run test:experiments && npm run test:plots && npm run test:visualization-demos && npm run test:gallery && npm run test:demo && npm run test:integration && npm run test:e2e && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.14.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","playwright":"^1.54.1","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.3.2_1783624730781_0.3549717072112146","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@dailephd/my-dev-kit-lab","version":"0.3.3","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.3.3","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/run-final-demo.js"},"dist":{"shasum":"cd0edfcb81730d82cf50be71dec47483c96cede9","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.3.3.tgz","fileCount":325,"integrity":"sha512-1GpT9ufGdfW8YMmN9Q/VT2Y8Wu+4OGKwruf3O8MyLa5mnf8DGs4HdBPMSts5XNvs91nykHAxgpuxZcnL22ckjQ==","signatures":[{"sig":"MEYCIQCw7NYJczMfGoqjg7a+dJUbKXCydhI4B+7IFry/vBbH6AIhANLs5MxLxvX7IzxwDxvBuLMUqVUqmdo80KwrUXFTIeXr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1228000},"type":"module","engines":{"node":">=20"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"fc00ebc65b45b91fa14678f12826cfccfc895b75","scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run test && npm run test:benchmarks && npm run test:report && npm run test:screenshot && npm run test:evaluation && npm run test:agents && npm run test:experiments && npm run test:plots && npm run test:visualization-demos && npm run test:gallery && npm run test:demo && npm run test:integration && npm run test:e2e && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.14.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","playwright":"^1.54.1","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.3.3_1783668257312_0.8950705071138114","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@dailephd/my-dev-kit-lab","version":"0.3.4","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.3.4","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/run-final-demo.js"},"dist":{"shasum":"323dddb7f36b78174e9a20ce18382ccf09d184bd","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.3.4.tgz","fileCount":358,"integrity":"sha512-MBUzjWD8Dgqy9/o+zTzjH3PaaYKXxOqPuSjyIdS0kpUZW0+JnRI6RUi8QPj9S5H0HekhvlpHdxo60SKFGZaHMA==","signatures":[{"sig":"MEQCIEGdoyEW3kLaZJNEcv7Am2fF5yzKkI7AjrfD41Dfoeg4AiA1rwK5YQsA5S0jEbbKx5Y6ui5UpZB1NAej5UQCirNqJg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1234716},"type":"module","engines":{"node":">=20"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"a89d5637816815efa14f62414cd85b22117bb534","scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run test && npm run test:benchmarks && npm run test:report && npm run test:screenshot && npm run test:evaluation && npm run test:agents && npm run test:experiments && npm run test:plots && npm run test:visualization-demos && npm run test:gallery && npm run test:demo && npm run test:integration && npm run test:e2e && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.14.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","playwright":"^1.54.1","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.3.4_1783701888119_0.6911035666185681","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@dailephd/my-dev-kit-lab","version":"0.4.0","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.4.0","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/run-final-demo.js"},"dist":{"shasum":"b61f35c1d50eb76dd91d4db1098f675c0c729e66","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.4.0.tgz","fileCount":467,"integrity":"sha512-kS+iy6pRU/pKs14pDTf6JsuYh9vPt5ZaV6O14L+fzCZiiNonrat0OuMTjVeqVxbSxo54ziTpXJ3fW7kcfiaJjQ==","signatures":[{"sig":"MEUCIQDVG9BK9OldmUuXuo2QfV/kirFvDdQd2clF2MHB5tDk7wIgNfK9vkZan0u5oHv3EVvRPapPDyyJ6GWv29mjAqv6TJY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1481339},"type":"module","engines":{"node":">=20"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"d8ec24ba313d22323f5ecdd12f16745f9a31deb4","scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run test && npm run test:benchmarks && npm run test:report && npm run test:screenshot && npm run test:evaluation && npm run test:agents && npm run test:experiments && npm run test:plots && npm run test:visualization-demos && npm run test:gallery && npm run test:demo && npm run test:integration && npm run test:e2e && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","docs:check":"node scripts/check-docs.mjs","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.14.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","playwright":"^1.54.1","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.4.0_1783766874206_0.6697566998273223","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@dailephd/my-dev-kit-lab","version":"0.4.1","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.4.1","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/run-final-demo.js"},"dist":{"shasum":"f0a69eb8f7f5803c3e58352d6dc947fce96495dc","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.4.1.tgz","fileCount":602,"integrity":"sha512-DFjhSzOe1N+qVpYXQjqRRrrd8SfoVXJaTXCXU1M9bhJAbaPb6zYwp+oYFhTnpDQMIEfym1FVloMRrghjK4B5NA==","signatures":[{"sig":"MEYCIQC/rYHfR0NARrk8hMFmz/oNQ6SlVlcng1r7PV4s0yPkVwIhAJJZNVsXAZJ5nxJc1J/Q5Tra4Ls4hvC6cJpcP+elXQa5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3027495},"type":"module","engines":{"node":">=20"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"5751e490af679e6915d49d02c3dfcf2334099805","scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run test && npm run test:benchmarks && npm run test:report && npm run test:screenshot && npm run test:evaluation && npm run test:agents && npm run test:experiments && npm run test:plots && npm run test:visualization-demos && npm run test:gallery && npm run test:demo && npm run test:integration && npm run test:e2e && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","docs:check":"node scripts/check-docs.mjs","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.14.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","playwright":"^1.54.1","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.4.1_1783843364196_0.7893656839702967","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@dailephd/my-dev-kit-lab","version":"0.4.2","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.4.2","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/run-final-demo.js"},"dist":{"shasum":"2733959d90c2f5b2325cb214c0254a0c5aaeecde","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.4.2.tgz","fileCount":604,"integrity":"sha512-bRknoj1wIMC2kL0uLhHhfTaKpwC9bJCgEPTtgbfZcdI3d1mtHKTqlerX1dm9m5iPfc4a/wjB89yqHc+AQTxRFQ==","signatures":[{"sig":"MEQCIEurezUiBbZKoM7pEFXHzj6Y3Vieiu9X7iYoHtnuF2QIAiB/Tazg71AwR/vquz98fJvCN6xWF360xw3v/PomC8n6XQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3065221},"type":"module","engines":{"node":">=20"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"8be3835fa1763005d10ef33c8f2fb6f46d36aa7c","scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run test && npm run test:benchmarks && npm run test:report && npm run test:screenshot && npm run test:evaluation && npm run test:agents && npm run test:experiments && npm run test:plots && npm run test:visualization-demos && npm run test:gallery && npm run test:demo && npm run test:integration && npm run test:e2e && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","docs:check":"node scripts/check-docs.mjs","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.14.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","playwright":"^1.54.1","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.4.2_1783893566862_0.9658981917706648","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@dailephd/my-dev-kit-lab","version":"0.4.3","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.4.3","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/run-final-demo.js"},"dist":{"shasum":"f83ae7a9b17e828e829e221ed9cbdd1948a7238f","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.4.3.tgz","fileCount":682,"integrity":"sha512-wpbuF7qQd1Qi75nLrGTJHo8Gpm5Ph1R/kkJRl2ydK5TvdI1VwsLt+SmiRKX4AHOFGh24KsqSljtNyOyDnpL+BA==","signatures":[{"sig":"MEUCICOpyGbn68zYaHA1uUnqBCl4RuhAWEAD/9CvNLcnVv5JAiEAoCaTn0M1PyILIsC844TtMkxjLXO1Y2Kazh5e1fbopp4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3510324},"type":"module","engines":{"node":">=20"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"92f099653f5e939457c5c5aa1191b9a118c3d9d8","scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run test && npm run test:benchmarks && npm run test:report && npm run test:screenshot && npm run test:evaluation && npm run test:agents && npm run test:experiments && npm run test:plots && npm run test:visualization-demos && npm run test:gallery && npm run test:demo && npm run test:integration && npm run test:e2e && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","docs:check":"node scripts/check-docs.mjs","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.14.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","playwright":"^1.54.1","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.4.3_1784763608785_0.13589537284253894","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@dailephd/my-dev-kit-lab","version":"0.4.4","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.4.4","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/run-final-demo.js"},"dist":{"shasum":"7339b219c71034d792032aa14f891e3f9ad70f23","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.4.4.tgz","fileCount":703,"integrity":"sha512-jgCW8+UAq9u+MQqyvDXDLNTRS80vtpcXf7NTYl/5hiMkix4Hlei41mdMzxJxVSH3AmvwKaB1X1/yIyINEVMTEg==","signatures":[{"sig":"MEQCIECx9sGtlr5MMUiQun8t733Ko+dby8ZRIIJitHXy/5D6AiA3Goil89bpmxq7TZqf9fzxfWwcH1Rjbm191WNmVFKPQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3946979},"type":"module","engines":{"node":">=20"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"d6c8a6ab6631d62b203e55be5cc6870e36e2293a","scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","docs:check":"node scripts/check-docs.mjs","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.14.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","playwright":"^1.54.1","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.4.4_1785335652776_0.15498566380944068","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@dailephd/my-dev-kit-lab","version":"0.4.5","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.4.5","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/run-final-demo.js"},"dist":{"shasum":"c7e75e9df4c2c575d32ce40ea6e7b1f2580111e2","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.4.5.tgz","fileCount":761,"integrity":"sha512-Lmp0pypq9IbPPbk86jLpdiY+yLARI1JUxLRCXfibjLwoZ9KNW1rUsaF1MvKud8Ng80XdyMNg16XEfimdCQCqMQ==","signatures":[{"sig":"MEUCIDqLyUZ/dmlDYDZbgs7UFy5cMlDnhERSnXZq9i+fB4lTAiEAumYoqiEkWrSRiLtE40xxdNbqsiMizNWZIHxlVh0KSTQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5391028},"type":"module","engines":{"node":">=20"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"4dd7cb8ff0662ff6fd550dbf648eb0c4f13d5b23","scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","docs:check":"node scripts/check-docs.mjs","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts","report:context-integrity-smoke":"tsx scripts/report-context-integrity-smoke.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.14.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","playwright":"^1.54.1","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.4.5_1785618844992_0.6919714488355222","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@dailephd/my-dev-kit-lab","version":"0.4.6","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.4.6","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/cli.js"},"dist":{"shasum":"f9825c71292537cf5d2ce82fce2651bd812a7a2a","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.4.6.tgz","fileCount":560,"integrity":"sha512-rGuvsysoiBJHHdosy82pmaprAiEWFINfkTFUpvZWb+FFAIqi2z+Y82yM1Nwke9lv/+9RTYSH9qEazSMmJqQFtA==","signatures":[{"sig":"MEUCIBDBHXNOg+wVKpYH+5K4Hj0Go4/SGEYBoYmxPXHdWG75AiEAoQk3VNrRkMo0hlsrARmPh+ylvLXXHucmpdotOPsuIws=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2572136},"type":"module","engines":{"node":">=24"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"c52a58932b6ba9d3ba5e00fd696510b19ddce2c0","scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","docs:check":"node scripts/check-docs.mjs","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","verify:packed-package":"node scripts/verify-packed-package.mjs","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts","report:context-integrity-smoke":"tsx scripts/report-context-integrity-smoke.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.19.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","playwright":"^1.54.1","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.4.6_1788035304321_0.8185066330385351","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@dailephd/my-dev-kit-lab","version":"0.4.7","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.4.7","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/cli.js"},"dist":{"shasum":"60aae07af8477f642dd65f25443ae1f7f21b9d6b","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.4.7.tgz","fileCount":589,"integrity":"sha512-kaKtwAFEz12b0Z7tJZpMbnwbHzEOoe3Ix9nk26VBOowVu5OlqH9HAjl6P9wnlZ9L9LAz7gyH+Wy2yzxhLlRXxg==","signatures":[{"sig":"MEUCIQDOQiiy8k/SNsICzkZ9xXsU4uMhKjpHnOLt8jHRsrcLiwIgBCBGtGBg0w7q4U0d3zL/cu0ZSrtCLKRT7q6FZGsLgeA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGPFsY7TXWyll2rwFN5StYWiHkrBT9zyQ+w5TqBjhZgIAiB1dBD/Tz24KUbOSTJvE3x27CHq6+mwJnOCK0DzMPnKRQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2752512},"type":"module","engines":{"node":">=24"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"1400b3b2d9acab6a7e1e7f4f0e426346932d4eaa","scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","docs:check":"node scripts/check-docs.mjs","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","test:tutorial-browser":"vitest run tests/integration/tutorialRealBrowser.spec.ts","verify:packed-package":"node scripts/verify-packed-package.mjs","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts","report:context-integrity-smoke":"tsx scripts/report-context-integrity-smoke.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.19.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"playwright":"1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^4.1.11","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.4.7_1789811633724_0.06256247627693101","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"@dailephd/my-dev-kit-lab","version":"0.4.8","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.4.8","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/cli.js"},"dist":{"shasum":"5f5f202710029cd0140600f963042c6abeaeb16f","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.4.8.tgz","fileCount":590,"integrity":"sha512-chH+QUOKmDH2q/0hiGpVYL3nwUboiLl5NEAywcKLfyTa/YjFS2opUMMGmem7NZ0RwzLLjGxzsHzQgcnyNQ9zLA==","signatures":[{"sig":"MEQCIECnWXA3MHgNVSR6dqOpTtDfKlG32uSG9y7LxFRF/60dAiAkhLOLOHpcKE/JYVa16JT91xjgfx2WHZC6ivJOc0BpyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEmMfvA3480KzCAEnsOT6KZ2D3wv+/2Pc7OKev9XJIukAiEAiauZkBKQ+UvrTYC+lKrYIyrz6GgNVwcmc/wfayCGxmU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2767898},"type":"module","engines":{"node":">=24"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"27b6b238aba4a0ef3fde9f6ccc40521c9f8a9806","scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","docs:check":"node scripts/check-docs.mjs","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","test:tutorial-browser":"vitest run tests/integration/tutorialRealBrowser.spec.ts","verify:packed-package":"node scripts/verify-packed-package.mjs","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts","report:context-integrity-smoke":"tsx scripts/report-context-integrity-smoke.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.19.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"playwright":"1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^4.1.11","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.4.8_1789843811059_0.209133866229972","host":"s3://npm-registry-packages-npm-production"}},"0.4.9":{"name":"@dailephd/my-dev-kit-lab","version":"0.4.9","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.4.9","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/cli.js"},"dist":{"shasum":"1e2ffb0da1782ac14cd6b6e590860217458c5897","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.4.9.tgz","fileCount":590,"integrity":"sha512-12J5yE38DJsIBpi8JVWYBGHcFJIl2HJL49RMGDUB3RXG0PnmtIPKekurRWPOvim5jwkPaOfoBoUEcf/hQHygfA==","signatures":[{"sig":"MEYCIQDQIZac9wmlR7cUEg7uL9XYcLu80PlvAQbLkemm4LkwdQIhAJRvwD9EGqi1/DtbWfrSYtnqJAjXSZzFEYIT7NqOi68P","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDovtR+eQbbrRwKGQ3jxGIg2yy1RlfEbijpxkAShZnHegIhAMWif9CG0fKVW+WuTWVton401Q4C/Nvv/m4onEWM9Z9G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2775022},"type":"module","engines":{"node":">=24"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"3aca0e2f5969b0a8b414bcd361dec20ba70b8dc6","scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","docs:check":"node scripts/check-docs.mjs","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","test:tutorial-browser":"vitest run tests/integration/tutorialRealBrowser.spec.ts","verify:packed-package":"node scripts/verify-packed-package.mjs","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts","report:context-integrity-smoke":"tsx scripts/report-context-integrity-smoke.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.19.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"playwright":"1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^4.1.11","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.4.9_1789945486657_0.10159224059584049","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@dailephd/my-dev-kit-lab","version":"0.5.0","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.5.0","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/cli.js"},"dist":{"shasum":"5ea6640c5a32eafc0db158d32b0776017974dd6e","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.5.0.tgz","fileCount":603,"integrity":"sha512-ND3haykXL0F0LnPiAS2nou3swQ6e9kqUzvFsTTJIlFuhovyj58g/JKeyvg1Y6i60VvQsmI3q1tH7+J2N/OHnDQ==","signatures":[{"sig":"MEYCIQCNTzQdocjVF+DK3K4oW+DROcTpuafeyQiAajBLBlFuHgIhALcJHI7x38yltziz+ug2IdfB77IZ+8l6uOiZWVyCY1Zq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDZQ7buMeoWd29a44f2fEHnnXJa/ch1Ae9w7PrauR3StgIhALIFGdcmLNayfiCIGcQb0FasoQjF+wGMx9lGmUKYiwez","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2866607},"type":"module","engines":{"node":">=24"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"449ed7e884bfdc4591bca04ea5d9efa12d0f6686","scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","docs:check":"node scripts/check-docs.mjs","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","test:tutorial-browser":"vitest run tests/integration/tutorialRealBrowser.spec.ts","verify:packed-package":"node scripts/verify-packed-package.mjs","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts","report:context-integrity-smoke":"tsx scripts/report-context-integrity-smoke.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.19.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"playwright":"1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^4.1.11","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.5.0_1790019824307_0.9548733549193491","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@dailephd/my-dev-kit-lab","version":"0.5.1","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.5.1","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/cli.js"},"dist":{"shasum":"248eb7b383c40def84f7e80f7be197ca28e7ffb7","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.5.1.tgz","fileCount":604,"integrity":"sha512-NDC8NLHH86GUlpShYBJP5LLv5F9zorU453FH6YRI6JZLKDiWtsMB6XaMepnOTRrVuawcoVlU7gy659txmaHx+Q==","signatures":[{"sig":"MEQCIDso2YvmJ74xgVY9CVlKO3FHquTt0gWcg1Q5vFShp+GsAiAe6XuczuzbtbzsgbCXhIyj2SLbzPpZ2woCv08TF9wFHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCMfOHGQUaF5eeTRHpdvT9d1eP/yIE++yWNVWLD3u+6GwIhAItoC/ea9/6oP/ulOyNKDxyRule5AAfD8pvomT+pXYLA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2915859},"type":"module","engines":{"node":">=24"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"96030c6638ebb43bb6a3cd16db9135b470f788c0","scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","docs:check":"node scripts/check-docs.mjs","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","test:tutorial-browser":"vitest run tests/integration/tutorialRealBrowser.spec.ts","verify:packed-package":"node scripts/verify-packed-package.mjs","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts","report:context-integrity-smoke":"tsx scripts/report-context-integrity-smoke.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.19.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"playwright":"1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^4.1.11","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.5.1_1790110380164_0.7245247049862735","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@dailephd/my-dev-kit-lab","version":"0.5.2","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.5.2","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/cli.js"},"dist":{"shasum":"1cb705ecb94af7f4caa72cdb729c6874aac5c16d","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.5.2.tgz","fileCount":609,"integrity":"sha512-3mSZBZBe5NE55rcVP+o1/FhPMkj20G2+0EOgvI7DFVG2l6Rs0LI7bPmeYlXLPGok21sp5fe16Afz6qYairHfQQ==","signatures":[{"sig":"MEQCIAgcWAea3qUjnRhMxQdOJOZ33VCRZzn/v8jz7pi3idy4AiAtzEKiP83kkUmRy4mJcUBDGDTnSgx+JD838tDb2C9FXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCID/aNWCCoM9TXaJBQR9QQ96vxnwrTg761Sie9QDBOavjAiEAxygoOTnEfxCX5Th8Abmj3vse40nBGfl8ls4vtaemAd8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2981950},"type":"module","engines":{"node":">=24"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"26466a82a351ba590e9d155d73a64064140bfa6e","scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","docs:check":"node scripts/check-docs.mjs","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","test:tutorial-browser":"vitest run tests/integration/tutorialRealBrowser.spec.ts","verify:packed-package":"node scripts/verify-packed-package.mjs","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts","report:context-integrity-smoke":"tsx scripts/report-context-integrity-smoke.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.19.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"playwright":"1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^4.1.11","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.5.2_1790248169116_0.6321014792484805","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@dailephd/my-dev-kit-lab","version":"0.6.0","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.6.0","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/cli.js"},"dist":{"shasum":"3b80e93f0c9baf654a1d9531b1e29d9a7b61add5","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.6.0.tgz","fileCount":611,"integrity":"sha512-5kZPMwDRg8+nMVRt6Jb9r63drJR9IH6BUPqqpGT5Pl8tEJF4MY4bZfjeWMr3cP1PV7S89UfCxpEncgR7z40arg==","signatures":[{"sig":"MEQCIB/QfKbPZz7SMdN8z5TVegu4DVD0nB7I8ZCfLOFmCrc4AiA4iMN26KT9TG2KAmaVcG3YSWlYL0elT+L6UqVRPpOavQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIB7DUBOw5XC+hK/o3otg2MmrgBctjL37ymb+7DDZlIvoAiBoiM+BJJsDu5lio06moI93bObW7GfVX3jfZ9Rzzj6mOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3029353},"type":"module","engines":{"node":">=24"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"1d0bfe321706f776d667ad155b28bc9a92a6723f","scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","docs:check":"node scripts/check-docs.mjs","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","test:tutorial-browser":"vitest run tests/integration/tutorialRealBrowser.spec.ts","verify:packed-package":"node scripts/verify-packed-package.mjs","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts","report:context-integrity-smoke":"tsx scripts/report-context-integrity-smoke.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.19.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"playwright":"1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^4.1.11","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.6.0_1790272075419_0.8016672549700059","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@dailephd/my-dev-kit-lab","version":"0.6.1","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.6.1","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/cli.js"},"dist":{"shasum":"cc4e3f9f4b3c4add2a52dd17e1fd776dd74117db","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.6.1.tgz","fileCount":612,"integrity":"sha512-bg/ecYjeTT32aODN2kG+RrZmJNDTMfABNiC8HYimqL2QPpwxQcn+Xx/NAUDpder12i4ENY7kTKGNUXiUmnEtqQ==","signatures":[{"sig":"MEUCIFg0gd+HgYmmsu5FyvePrbqRt8rP2KLK58dnkWNKm3KTAiEA5FBpE9G+2zztU1iY/q0/6ebMqGwmVKky+YWY48IOlcY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCLR2JrRkgzaRGx+z+5mQOxjZA7C3ILkd+RQHy1fOUEuwIgT7rdoFiwfWmh/Tszzo5kV7Z5Ej3QMWv321r2CDvOaCc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3101863},"type":"module","engines":{"node":">=24"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","docs:check":"node scripts/check-docs.mjs","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","test:tutorial-browser":"vitest run tests/integration/tutorialRealBrowser.spec.ts","verify:packed-package":"node scripts/verify-packed-package.mjs","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts","report:context-integrity-smoke":"tsx scripts/report-context-integrity-smoke.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.19.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"playwright":"1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^4.1.11","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.6.1_1790463419412_0.9749332520712013","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@dailephd/my-dev-kit-lab","version":"0.6.2","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.6.2","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/cli.js"},"dist":{"shasum":"8253ae6b8304af9f1b2f875b7804511a222538b4","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.6.2.tgz","fileCount":634,"integrity":"sha512-cTHhqO82ttwkj2wVYQ1jj1lRWy3MPK5y+uZE8hxa1vjq9uGzkdQIVxZiVsbkNS0LhMIkMgFdtT45ke0gM4SDPQ==","signatures":[{"sig":"MEQCIC7EMq+smB5djbzxxd+XufFmHinGEmrnm/F4L2m/dkeJAiBJ8swDIiR/DL1DjfwxHJRJ5woYJinP86+Uyi1KMG/lUQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIH1TnqH+ZEBlfKNpiKZodqvQ99mJCZwn7yxmoPsTB8yqAiEAzqGhMuYFHMEmaUPtpclD9XR++IKFXZ2eLamO3AAGrNY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3275921},"type":"module","_from":"file:C:/Users/daile/Projects/my-dev-kit-lab-v0.6.2-publish/dailephd-my-dev-kit-lab-0.6.2.tgz","engines":{"node":">=24"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","docs:check":"node scripts/check-docs.mjs","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","test:tutorial-browser":"vitest run tests/integration/tutorialRealBrowser.spec.ts","verify:packed-package":"node scripts/verify-packed-package.mjs","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts","report:context-integrity-smoke":"tsx scripts/report-context-integrity-smoke.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"_resolved":"C:\\Users\\daile\\Projects\\my-dev-kit-lab-v0.6.2-publish\\dailephd-my-dev-kit-lab-0.6.2.tgz","overrides":{"vite":"7.3.6"},"_integrity":"sha512-cTHhqO82ttwkj2wVYQ1jj1lRWy3MPK5y+uZE8hxa1vjq9uGzkdQIVxZiVsbkNS0LhMIkMgFdtT45ke0gM4SDPQ==","repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.19.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"playwright":"1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^4.1.11","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.6.2_1790552285314_0.4612849458617003","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"@dailephd/my-dev-kit-lab","version":"0.6.3","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"author":{"name":"Dai Le"},"license":"MIT","_id":"@dailephd/my-dev-kit-lab@0.6.3","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"bin":{"my-dev-kit-lab":"dist/scripts/cli.js"},"dist":{"shasum":"b2d79ecf2540d4858d83587a363d5304063ace9f","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.6.3.tgz","fileCount":647,"integrity":"sha512-uOLeRk8aGhtsjhnJotRe5kUIS2OgL+9eYXTvjwHqM1pIN4RGKe4NLWloC/wcFR1jxl++8Ia9bsYP73n0dwschw==","signatures":[{"sig":"MEUCIQCWvqLfhDavPkwrhN7tL4cLy+oqlZEawonBEraODP5PCwIgJJ7mldqRyCOYYPNyYpL25ZvbB80u8tVS3wvGhSZ3wME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD1oj1Q9CImYj5qpnXyOnpgj1/dUW8PVTJsC5ZcOIU3XQIgdVMYXP5lmTyXAdUZkkC9NmhUCO72i/YlvutpEuvSSPY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3408458},"type":"module","engines":{"node":">=24"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"48efcbed2bab218122ffd2d9763b02aa66ca7a46","scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","docs:check":"node scripts/check-docs.mjs","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","test:tutorial-browser":"vitest run tests/integration/tutorialRealBrowser.spec.ts","verify:packed-package":"node scripts/verify-packed-package.mjs","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts","report:context-integrity-smoke":"tsx scripts/report-context-integrity-smoke.ts"},"_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.19.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"playwright":"1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^4.1.11","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/my-dev-kit-lab_0.6.3_1790782129726_0.44748311770715765","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"_id":"@dailephd/my-dev-kit-lab@0.7.0","bin":{"my-dev-kit-lab":"dist/scripts/cli.js"},"bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"dist":{"shasum":"f58716f4814123b32321771c80ad9ae095b914e8","tarball":"https://registry.npmjs.org/@dailephd/my-dev-kit-lab/-/my-dev-kit-lab-0.7.0.tgz","fileCount":735,"integrity":"sha512-OosekqXZsyAgsCy/tyzxR9e2guzElOugSo49UaRiPD4ghcUFe+GUl/qcsSOmQgPId6v7XzjqDtcXY77XXItkfw==","signatures":[{"sig":"MEUCIQD3Z9vEjjd1FzwBE0+er7VUi/TbJKvwd1i1uwC8tVHh1QIgZW9gZNqhnYhya0oN0FdA5iOk8cxaT0f0yypYmxCyzoI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFOLrTsTT1Fh6Y6f8sOGIgqxWXggop/4TnEhvYwSa9cpAiABoJDg2aNjMbkM+CmiLx4sVcDPlATEJjNdMAjd3ENlgA=="}],"unpackedSize":3923362},"name":"@dailephd/my-dev-kit-lab","type":"module","author":{"name":"Dai Le"},"engines":{"node":">=24"},"funding":["https://github.com/sponsors/dailephd","https://paypal.me/daile88"],"gitHead":"b8958cc30fee41036221d8adff75824de7ed5c18","license":"MIT","scripts":{"test":"vitest run","audit":"tsx scripts/audits/runAudit.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.json","verify":"npm run build && npm run verify:benchmarks","lab-demo":"tsx scripts/run-lab-demo.ts","test:e2e":"vitest run tests/e2e","test:demo":"vitest run tests/commands/runLabDemo.spec.ts tests/integration/runLabDemoCommand.spec.ts","typecheck":"tsc --noEmit","docs:check":"node scripts/check-docs.mjs","test:plots":"vitest run tests/plots tests/commands/generateExperimentPlotsCommand.spec.ts","test:agents":"vitest run tests/agents tests/commands/runAgentPromptCommand.spec.ts tests/integration/runAgentPromptFake.spec.ts","test:report":"vitest run tests/report tests/commands","test:gallery":"vitest run tests/gallery","build-gallery":"tsx scripts/build-gallery.ts","security:deps":"tsx scripts/security/runDependencyChecks.ts","test:security":"vitest run tests/security/","experiment:run":"tsx scripts/experiments/runExperiment.ts","run-final-demo":"tsx scripts/run-final-demo.ts","experiment:list":"tsx scripts/experiments/listExperiments.ts","security:codeql":"tsx scripts/security/runCodeql.ts","test:benchmarks":"vitest run tests/benchmarks tests/scripts","test:evaluation":"vitest run tests/core tests/evaluation tests/commands","test:fuzz:smoke":"tsx scripts/security/runFuzzSmoke.ts","test:screenshot":"vitest run tests/screenshot","run-agent-prompt":"tsx scripts/run-agent-prompt.ts","security:package":"tsx scripts/security/runPackageChecks.ts","security:semgrep":"tsx scripts/security/runSemgrep.ts","test:experiments":"vitest run tests/evaluation/buildExperimentMatrix.spec.ts tests/evaluation/classifyAgentRunOutcome.spec.ts tests/evaluation/parseAgentAnswer.spec.ts tests/evaluation/scoreCorrectness.spec.ts tests/evaluation/compareExperimentRuns.spec.ts tests/evaluation/runControlledExperiment.spec.ts tests/commands/runControlledExperimentCommand.spec.ts tests/integration/runControlledExperimentFake.spec.ts","test:integration":"vitest run tests/integration","security:validate":"tsx scripts/security/validate.ts","verify:benchmarks":"tsx scripts/verify-benchmarks.ts","capture-demo-report":"tsx scripts/capture-demo-report.ts","experiment:describe":"tsx scripts/experiments/describeExperiment.ts","test:tutorial-browser":"vitest run tests/integration/tutorialRealBrowser.spec.ts","verify:packed-package":"node scripts/verify-packed-package.mjs","evaluate-token-savings":"tsx scripts/evaluate-token-savings.ts","run-visualization-demos":"tsx scripts/run-visualization-demos.ts","generate-prompt-variants":"tsx scripts/generate-prompt-variants.ts","render-experiment-report":"tsx scripts/render-experiment-report.ts","test:visualization-demos":"vitest run tests/visualizationDemos tests/commands/runVisualizationDemosCommand.spec.ts","generate-experiment-plots":"tsx scripts/generate-experiment-plots.ts","run-controlled-experiment":"tsx scripts/run-controlled-experiment.ts","report:context-integrity-smoke":"tsx scripts/report-context-integrity-smoke.ts"},"version":"0.7.0","_npmUser":{"name":"dailephd","email":"dailephd@gmail.com"},"homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"overrides":{"vite":"7.3.6"},"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"_npmVersion":"11.19.0","description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","directories":{},"maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"_nodeVersion":"24.20.0","dependencies":{"playwright":"1.60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^4.1.11","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/my-dev-kit-lab_0.7.0_1790880844281_0.6201058431963347"}}},"time":{"created":"2026-06-25T12:57:56.202Z","modified":"2026-10-01T18:54:04.915Z","0.2.0":"2026-06-25T12:57:56.679Z","0.2.1":"2026-06-25T19:26:56.852Z","0.2.2":"2026-07-07T20:12:15.139Z","0.3.0":"2026-07-08T11:36:46.716Z","0.3.1":"2026-07-09T13:46:18.479Z","0.3.2":"2026-07-09T19:18:51.024Z","0.3.3":"2026-07-10T07:24:17.466Z","0.3.4":"2026-07-10T16:44:48.334Z","0.4.0":"2026-07-11T10:47:54.390Z","0.4.1":"2026-07-12T08:02:44.373Z","0.4.2":"2026-07-12T21:59:27.031Z","0.4.3":"2026-07-22T23:40:08.990Z","0.4.4":"2026-07-29T14:34:12.998Z","0.4.5":"2026-08-01T21:14:05.164Z","0.4.6":"2026-08-29T20:28:24.484Z","0.4.7":"2026-09-19T09:53:53.850Z","0.4.8":"2026-09-19T18:50:11.194Z","0.4.9":"2026-09-20T23:04:46.787Z","0.5.0":"2026-09-21T19:43:44.421Z","0.5.1":"2026-09-22T20:53:00.305Z","0.5.2":"2026-09-24T11:09:29.258Z","0.6.0":"2026-09-24T17:47:55.582Z","0.6.1":"2026-09-26T22:56:59.550Z","0.6.2":"2026-09-27T23:38:05.408Z","0.6.3":"2026-09-30T15:28:49.925Z","0.7.0":"2026-10-01T18:54:04.447Z"},"bugs":{"url":"https://github.com/dailephd/my-dev-kit-lab/issues"},"author":{"name":"Dai Le"},"license":"MIT","homepage":"https://github.com/dailephd/my-dev-kit-lab#readme","keywords":["benchmark","evaluation","reporting","graph-retrieval","codex","claude"],"repository":{"url":"git+https://github.com/dailephd/my-dev-kit-lab.git","type":"git"},"description":"Evidence, benchmark, and evaluation companion for my-dev-kit.","maintainers":[{"name":"dailephd","email":"dailephd@gmail.com"}],"readme":"# my-dev-kit-lab\r\n\r\nmy-dev-kit-lab is the experiment, audit, and evidence companion for [my-dev-kit](https://www.npmjs.com/package/@dailephd/my-dev-kit). It helps users compare repository-context strategies, audit project health, validate CLI/package and Android security boundaries, and turn each run into reviewable reports and visual artifacts.\r\n\r\nmy-dev-kit provides local repository indexing and graph-guided retrieval. my-dev-kit-lab supplies the controlled benchmarks, agent adapters, metrics, security checks, and reports needed to evaluate when that retrieval is useful. Results are evidence for a specific target and configuration; they do not guarantee token savings or security.\r\n\r\nWhole-ecosystem workflows are centralized in [my-dev-kit/docs/ECOSYSTEM_DEVELOPMENT_WORKFLOWS.md](https://github.com/dailephd/my-dev-kit/blob/main/docs/ECOSYSTEM_DEVELOPMENT_WORKFLOWS.md). Its [command-surface compatibility map](https://github.com/dailephd/my-dev-kit/blob/main/docs/ECOSYSTEM_DEVELOPMENT_WORKFLOWS.md#915-command-surface-compatibility-map) documents which Lab outputs can safely seed my-dev-kit investigation, Observer reference work, or Orchestrator evidence, and which look-alike artifacts are not direct inputs.\r\n\r\nThe latest release is v0.7.0 (context-window scaling), and the published package and installed CLI are version 0.7.0. The previous release is v0.6.3 (four-treatment partial-refresh experiments). The v0.4.5 context-integrity evaluation remains intentionally frozen against the published `@dailephd/my-dev-kit@1.10.4` and `@dailephd/my-dev-kit-orchestrator@1.2.3` contracts; those versions are historical validation baselines, not a statement that they are the ecosystem's current releases. See [docs/CURRENT_STATE.md](docs/CURRENT_STATE.md) for current state.\r\n\r\nv0.4.6 adds a supported `my-dev-kit-lab` installed CLI router (`--help`, `--version`, `security validate`, `audit`, the `experiment` family, `report render`, `plots generate`, `gallery build`, `demo final`, and the historical direct final-demo invocation form), a writable lab workspace model kept separate from the installed package and the inspected target, and a permanent packed-tarball installation/execution acceptance gate (`npm run verify:packed-package`). See [docs/ROADMAP.md](docs/ROADMAP.md) and [docs/CURRENT_STATE.md](docs/CURRENT_STATE.md) for status detail and [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for the runtime path model. The \"Installed CLI\" section below documents the shipped command surface; the source-checkout `npm run` workflow in Quickstart remains available for contributors.\r\n\r\n## Current capabilities\r\n\r\n- **Run context-strategy experiments:** compare `raw-full-file` with `my-dev-kit-guided` using deterministic fixtures or locally configured Codex and Claude CLIs.\r\n- **Measure warm-index reuse (v0.5.0–v0.5.1, released):** the `warm-index-reuse` experiment plugin builds one my-dev-kit index per benchmark project, reuses it across that project's tasks, and compares every task with a matched `raw-full-file` baseline. Reports separate one-time index-build cost from per-task retrieval cost, show amortized index cost and cumulative measurements, and include deterministic fake-agent correctness and token evidence; `plots generate` renders four warm-index SVG charts. The v0.5.1 release adds a dedicated 12-task benchmark corpus (`benchmarks/contracts/warm-index-benchmark-cases.json`: six medium and six large/mixed tasks tagged `localized`, `cross-module`, or `broad-change`) for comparing warm-index behavior as task count grows. Estimated context tokens (a character-based context-size estimate) and fake-agent total tokens (simulated harness telemetry) are reported separately, and neither is provider billing telemetry.\r\n- **Run selectable real-agent warm-index campaigns (v0.5.2, released):** `--campaign codex-full`, `claude-full`, or `codex-timeout-isolation` (with `--include-real-agents`) runs exactly one provider — Codex or Claude — against the exact raw and warm contexts the experiment already measured, over the frozen production corpus each preset owns. Provider outcomes (`completed`, `failed`, `timeout`, `invalid-output`, `agent-unavailable`, `agent-limit-reached`, `skipped`) are classified and reported separately from warm-index infrastructure status, so a campaign can complete its indexing/retrieval work even when provider evidence is partial or unavailable. A campaign run automatically produces the report, the same four warm-index SVG charts, and a three-item gallery (report, plots, bounded execution evidence). Its report screenshot is best-effort presentation evidence: unavailable browser runtime or failed capture is reported explicitly, no PNG is fabricated, and neither outcome fails an otherwise successful campaign. Legacy runs without `--campaign` keep the existing deterministic fake-agent, report-only behavior unchanged. See [docs/WORKFLOWS.md](docs/WORKFLOWS.md#warm-index-reuse-experiment) and [docs/METRICS.md](docs/METRICS.md#warm-index-reuse-metrics).\r\n- **Record index freshness evidence (v0.6.0):** a warm-index run captures an index snapshot after its one index build — the exact indexed file set from the my-dev-kit index contract, each with SHA-256 content identity, size, and modified-time metadata, plus the my-dev-kit version and index-command evidence — and assesses freshness immediately before each task's warm retrieval as `fresh`, `stale`, `partially-stale`, or `unknown`. The evidence appears in `warm-index-execution.json` and in the existing `report.json`/`report.txt`/`report.html` warm-index reports. It is observational only: it covers only files the snapshot lists (not the whole repository), never changes retrieval, execution or provider status, and adds no CLI flag, metric, plot, gallery item, or reindex recommendation in v0.6.0. See [docs/METRICS.md](docs/METRICS.md#index-freshness-evidence-v060) and [docs/WORKFLOWS.md](docs/WORKFLOWS.md#warm-index-reuse-experiment).\r\n- **Compare no-refresh, partial-refresh, and full-refresh retrieval after a controlled change (v0.6.3, previous release):** the `incremental-change-staleness` experiment plugin runs six frozen controlled-change scenario families (unrelated-file, local-implementation, exported-symbol, public-API, import-graph, and test-only changes) against four disposable target copies — `stale-index` (no refresh), `changed-files-refresh` and `affected-neighborhood-refresh` (real partial refreshes performed by my-dev-kit 1.12.5 through `index --incremental --refresh-scope`, selected internally with no Lab-level flag), and `full-refresh` (a complete new post-change index, used as a comparison reference rather than a preferred treatment). Each partial treatment truthfully records whether upstream applied the requested partial scope or fell back to a full rebuild (`APPLIED_PARTIAL` or `FALLBACK_FULL`); a fallback is not counted as partial-refresh evidence. Three comparisons against `full-refresh` are persisted with retrieval, deterministic fake-agent correctness, and required-file evidence in `incremental-change-staleness-execution.json` (schema `my-dev-kit-lab-incremental-change-staleness-execution-v2`) and the existing `report.json`/`report.txt`/`report.html`; historical v0.6.2 (V1) artifacts stay readable. There is no winner, ranking, or safety claim, and the plugin is self-only (`--target` is not accepted). `--kit-command` also accepts `incremental-change-staleness` and now defaults to my-dev-kit 1.12.5. See [docs/WORKFLOWS.md](docs/WORKFLOWS.md) and [docs/METRICS.md](docs/METRICS.md).\r\n- **Measure context-window scaling (v0.7.0, released):** the self-only `context-window-scaling` plugin compares `raw-full-file` and `my-dev-kit-guided` over 8k, 16k, 32k, 64k, or custom positive-integer estimated-token budgets. It records fit, utilization, deterministic fake-agent correctness/success, and omitted expected relevant files, with JSON/text/HTML reports and three SVG plots. `plots generate` reads `context-window-scaling-execution.json`. Token counts are a character-based estimate, not provider-tokenizer or billing data; fake-agent correctness is context-independent in the current harness. See [docs/WORKFLOWS.md](docs/WORKFLOWS.md), [docs/METRICS.md](docs/METRICS.md), and [docs/COMMANDS.md](docs/COMMANDS.md).\r\n- **Assess affected-neighborhood evidence (v0.6.1, released; retained in the current package):** using the baseline my-dev-kit graph of the same prepared warm index (loaded once per session), each task's confirmed modified or missing indexed files, and the baseline symbols those files contain, are mapped to graph nodes. The affected neighborhood is those seed nodes plus their direct one-hop neighbors (edges of any kind, either direction). The task's `expectedFiles` and file-scoped `expectedSymbols` are mapped to graph nodes and compared with that neighborhood, which yields six numeric warm-side metrics (`changedFileCount`, `changedSymbolCount`, `affectedNodeCount`, `affectedEdgeCount`, `taskOverlapCount`, `taskOverlapPercent`) plus categorical evidence: a `related`, `unrelated`, or `unknown` relationship and a `recommended`, `not-indicated`, or `unknown` `reindexRecommendation`. Incomplete evidence is reported as `unknown`, never as unrelated. The assessment is recorded additively in `warm-index-execution.json` and shown in the existing `report.json`/`report.txt`/`report.html` warm-index reports. It is observational only: retrieval, execution status, and provider status are unchanged, nothing is reindexed automatically, and no CLI flag, experiment plugin, plot, or gallery item was added. See [docs/METRICS.md](docs/METRICS.md#affected-neighborhood-metrics-v061) and [docs/WORKFLOWS.md](docs/WORKFLOWS.md#warm-index-reuse-experiment).\r\n- **Audit repository health:** run conservative code-rot detectors for TypeScript/JavaScript, Python, Java, and Kotlin, or adapt security findings into the common audit report.\r\n- **Validate CLI/package security:** inspect dependencies, package contents, path and subprocess boundaries, malformed inputs, optional static scanners, and bounded fuzz targets.\r\n- **Validate Android projects:** run nineteen static checks by default, with Gradle operations, external tools, and network access available only through explicit opt-in flags.\r\n- **Review evidence:** generate JSON and HTML reports, SVG plots, optional screenshots, visualization demos, and a static gallery.\r\n- **Generate declarative browser tutorials:** validate and execute bounded local browser scenarios with WebM recording, step screenshots, SRT/VTT subtitles, Markdown, and a tutorial manifest. Locator-anchored pointer gestures (`pointer-click` and `pointer-drag`) operate using normalized fraction coordinates inside a single located surface, while existing `drag` remains element-to-element and `press` remains real keyboard input. `select-option` performs semantic native HTML `<select>` option selection by stable HTML value, executed through Playwright `Locator.selectOption({ value })` rather than keyboard navigation. Tutorial execution requires a compatible locally installed Chromium; see [docs/COMMANDS.md](docs/COMMANDS.md) and [docs/TUTORIAL.md](docs/TUTORIAL.md) for details.\r\n- **Evaluate stage-context strategies:** compare the two legacy strategies against six additional bounded stage-context strategies — `architecture-context-only`, `architecture-plus-implementation-refresh`, `architecture-plus-implementation-and-test-refresh`, `full-workflow-library`, `bounded-workflow-instruction-packet`, and `combined-bounded-stage-context` — selected through programmatic configuration, not CLI flags. Each strategy's evidence is reported through bounded `report.json`, `report.html`, and `report.txt` output with an explicit `available`/`unavailable`/`not-applicable` metric-availability model and no composite score, grade, ranking, or winning strategy.\r\n- **Evaluate the producer-readiness bridge (v0.4.4):** optionally extend `combined-bounded-stage-context` with the frozen my-dev-kit-orchestrator supplemental implementation/test-context packet and retrieval-report documents plus an observed readiness result, all supplied programmatically (there is no CLI flag), to measure owner, allocation, truncation-cause, supplemental/raw agreement, readiness-agreement, and criticality-overlay evidence without reimplementing upstream owner-selection, allocation, producer-parity, or readiness policy.\r\n- **Evaluate context integrity (v0.4.5):** compare condition-aware producer evidence from my-dev-kit v1.10.4 (role condition coverage, allocation/spillover, required-evidence-loss) against my-dev-kit-orchestrator v1.2.3 run-integrity evidence (run-integrity gate, judge integrity, final-report eligibility, artifact lifecycle state), reporting agreement or contradiction between them rather than re-deriving a verdict. Evaluation runs against a frozen, hash-verified regression fixture pair — a byte-exact real historical failed run and a hand-distilled corrected-replay counterpart representing the same validated contracts — and is programmatic/test-driven only. `npm run report:context-integrity-smoke` renders both fixtures' reports for manual inspection; it takes no arguments and is a developer convenience, not a configurable evaluation CLI.\r\n\r\n## Installed CLI\r\n\r\nInstalling or invoking the package (for example via `npm install -g @dailephd/my-dev-kit-lab` or `npx @dailephd/my-dev-kit-lab@<version>`) exposes one `my-dev-kit-lab` binary. Users do not need to clone this repository to use these commands. The installed CLI requires Node `>=24`.\r\n\r\n```\r\nmy-dev-kit-lab --help\r\nmy-dev-kit-lab --version\r\n\r\nmy-dev-kit-lab security validate [options]\r\nmy-dev-kit-lab audit [options]\r\n\r\nmy-dev-kit-lab experiment list\r\nmy-dev-kit-lab experiment describe --experiment <id>\r\nmy-dev-kit-lab experiment run --experiment <id> [options]\r\nmy-dev-kit-lab experiment controlled [options]\r\n\r\nmy-dev-kit-lab report render [options]\r\nmy-dev-kit-lab plots generate [options]\r\nmy-dev-kit-lab gallery build [options]\r\nmy-dev-kit-lab demo final [options]\r\nmy-dev-kit-lab tutorial validate --scenario <path> [--target-contract <path>] [--json]\r\nmy-dev-kit-lab tutorial run --scenario <path> --target-contract <path> [--out <dir>] [--json]\r\n```\r\n\r\nA global `--workspace <path>` option, placed before the command, selects the writable lab workspace. The default workspace, used when `--workspace` is omitted, is `<home>/.my-dev-kit-lab`. Generated reports and experiment output are written under the workspace by default, never under the installed package directory or an inspected `--target` project. Explicit output paths (`--out`, and similar flags) keep their existing resolution behavior and are never redirected under the workspace.\r\n\r\nThe historical direct final-demo invocation form — the same flags `demo final` accepts, without the `demo final` prefix — continues to work for backward compatibility.\r\n\r\nLow-level developer helpers (`security:deps`, `security:package`, `security:codeql`, `security:semgrep`, fuzz smoke, visualization demos, build/test/verify) are not part of the installed CLI. They remain source-checkout contributor workflows; see below.\r\n\r\nSee [docs/COMMANDS.md](docs/COMMANDS.md) for full command syntax and flags.\r\n\r\nTutorial runs keep the scenario source, disposable target, logs, browser recording, and generated artifacts separate. The canonical generic example is packaged at `examples/tutorial-browser/`; product-specific demo sites and scenarios remain owned by their product repositories.\r\n\r\n## Quickstart (contributor / source-checkout workflow)\r\n\r\nThe commands in this section run from a cloned repository checkout and are the contributor/development workflow. They are not required to use the installed CLI documented above.\r\n\r\n### Install\r\n\r\n```bash\r\nnpm install\r\n```\r\n\r\nThe same command works in PowerShell and `cmd.exe`.\r\n\r\n### Build\r\n\r\n```bash\r\nnpm run build\r\n```\r\n\r\n### Verify the installation\r\n\r\n```bash\r\nnpm run test\r\nnpm run verify\r\n```\r\n\r\n`npm test` runs the complete test suite; `npm run verify` runs the remaining non-test verification gates. Running both is complete validation and does not execute the suite twice.\r\n\r\n### Run the fake-agent final demo (deterministic, no external CLIs required)\r\n\r\n```bash\r\nnpm run run-final-demo -- \\\r\n  --cases examples/token-savings-cases.json \\\r\n  --out lab-output/final-demo \\\r\n  --kit-command \"node tests/fixtures/fake-my-dev-kit-cli.js\" \\\r\n  --agents fake-agent \\\r\n  --complexities short \\\r\n  --no-screenshot\r\n```\r\n\r\n```powershell\r\nnpm run run-final-demo -- `\r\n  --cases examples/token-savings-cases.json `\r\n  --out lab-output/final-demo `\r\n  --kit-command \"node tests/fixtures/fake-my-dev-kit-cli.js\" `\r\n  --agents fake-agent `\r\n  --complexities short `\r\n  --no-screenshot\r\n```\r\n\r\n```bat\r\nnpm run run-final-demo -- --cases examples/token-savings-cases.json --out lab-output/final-demo --kit-command \"node tests/fixtures/fake-my-dev-kit-cli.js\" --agents fake-agent --complexities short --no-screenshot\r\n```\r\n\r\nThe lab resolves Windows `.cmd` and `.ps1` CLI shims, supports command paths with spaces, and keeps generated artifacts inside the requested output directory.\r\n\r\nThis runs a full pipeline: controlled experiment → report → plots → visualization demos → gallery.\r\n\r\n### Run a real-agent campaign (requires Codex or Claude CLI)\r\n\r\n```bash\r\nnpm run run-controlled-experiment -- \\\r\n  --cases examples/real-agent-campaign-cases.json \\\r\n  --agents codex,claude \\\r\n  --strategies raw-full-file,my-dev-kit-guided \\\r\n  --complexities medium,multi-step \\\r\n  --out lab-output/real-agent-campaign \\\r\n  --include-real-agents \\\r\n  --continue-on-failure \\\r\n  --timeout-ms 240000\r\n```\r\n\r\nReal-agent runs require local Codex or Claude CLI setup and available usage capacity. Runs that time out, produce invalid output, or hit session limits are recorded as structured outcomes rather than failures.\r\n\r\n### List, describe, and run experiment plugins\r\n\r\n```bash\r\nnpm run experiment:list\r\nnpm run experiment:describe -- --experiment context-strategy-comparison\r\nnpm run experiment:run -- \\\r\n  --experiment context-strategy-comparison \\\r\n  --target /path/to/local/project \\\r\n  --agents fake-agent \\\r\n  --complexities short \\\r\n  --no-screenshot\r\n```\r\n\r\n```powershell\r\nnpm run experiment:list\r\nnpm run experiment:describe -- --experiment context-strategy-comparison\r\nnpm run experiment:run -- `\r\n  --experiment context-strategy-comparison `\r\n  --target \"Z:\\Users\\newuser\\Projects\\my-dev-kit-v1\" `\r\n  --agents fake-agent `\r\n  --complexities short `\r\n  --no-screenshot\r\n```\r\n\r\nRun the warm-index reuse plugin over the dedicated expanded benchmark corpus released in v0.5.1, deterministically with the fake my-dev-kit fixture (omit `--kit-command` to use the default `npx @dailephd/my-dev-kit@latest`):\r\n\r\n```bash\r\nnpm run experiment:run -- \\\r\n  --experiment warm-index-reuse \\\r\n  --cases benchmarks/contracts/warm-index-benchmark-cases.json \\\r\n  --kit-command \"node tests/fixtures/fake-my-dev-kit-cli.js\" \\\r\n  --out lab-output/warm-index-reuse\r\nnpm run generate-experiment-plots -- --experiment lab-output/warm-index-reuse --out lab-output/warm-index-plots\r\n```\r\n\r\nThe default cases file, `examples/token-savings-cases.json`, is a small compatibility corpus with one task per benchmark project and remains the default when `--cases` is omitted. For multi-task reuse, select the dedicated corpus explicitly as above: it runs six tasks for each of the two benchmark projects against one index per project. Add `--benchmark-project task-workflow-medium-ts` or `--case <id>` to narrow the selection.\r\n\r\nRun a selectable real-agent warm-index campaign (v0.5.2; requires a locally available `codex` or `claude` CLI and `--include-real-agents`). A campaign preset owns its provider and corpus, so `--target`, explicit `--cases`/`--project-profiles`, and the agent-matrix flags below are rejected in campaign mode:\r\n\r\n```bash\r\nnpm run experiment:run -- \\\r\n  --experiment warm-index-reuse \\\r\n  --campaign codex-full \\\r\n  --include-real-agents \\\r\n  --case warm-medium-complete-idempotent \\\r\n  --out lab-output/warm-index-campaign\r\n```\r\n\r\nThis automatically writes `report.json`/`.txt`/`.html`, the four warm-index charts under `plots/`, an optional best-effort `report.png`, and a three-item `gallery/` (report, plots, bounded execution evidence) beneath `--out`. Screenshot capture failure remains `failed`, is reported in the command output and gallery warning, and does not fail an otherwise successful campaign or fabricate a PNG. Required experiment, report, plot, and gallery failures remain fatal. `--timeout-ms` overrides the preset's default per-agent timeout (240000 ms). `codex-timeout-isolation` narrows the corpus to three larger cases for exercising provider timeout/partial-outcome handling without running the full 12-case corpus.\r\n\r\nFor experiment plugins that support explicit targets — `context-strategy-comparison` and ordinary (non-campaign) `warm-index-reuse` runs — omitting `--target` uses self mode against my-dev-kit-lab. When those plugins receive `--target <path>`, the lab remains the tool root and the target project is inspected separately. `incremental-change-staleness` does not accept `--target`; it always runs against the lab's bundled benchmark projects. Generated experiment outputs stay under lab-controlled output directories by default, not inside an inspected target project.\r\n\r\n---\r\n\r\n## Where to find outputs\r\n\r\n| Artifact | Location |\r\n|---|---|\r\n| Experiment summary | `lab-output/<experiment>/experiment-summary.json` |\r\n| All runs | `lab-output/<experiment>/experiment-runs.json` |\r\n| Strategy comparisons | `lab-output/<experiment>/experiment-comparisons.json` |\r\n| HTML report | `lab-output/<report>/experiment-report.html` |\r\n| Report JSON | `lab-output/<report>/experiment-report.json` |\r\n| Report screenshot | `lab-output/<report>/experiment-report.png` |\r\n| Plugin experiment report JSON | `lab-output/experiments/<plugin>/<target>/<run>/report.json` |\r\n| Plugin experiment report HTML | `lab-output/experiments/<plugin>/<target>/<run>/report.html` |\r\n| Plugin experiment report text | `lab-output/experiments/<plugin>/<target>/<run>/report.txt` |\r\n| Warm-index execution evidence | `<experiment out>/warm-index-execution.json` (plus `indexes/`, `commands/`, and `agents/` beneath the same output root); the v0.6.0 artifact carries project-level `indexSnapshot` and per-task `indexFreshness` evidence; the v0.6.1 package adds per-task `affectedNeighborhood` evidence |\r\n| Warm-index campaign presentation (v0.5.2) | `<experiment out>/plots/` (four charts), `<experiment out>/report.png` (best-effort), `<experiment out>/gallery/gallery-manifest.json` and `gallery-index.html` — automatic for `--campaign` runs only |\r\n| Plot data | `lab-output/<plots>/plot-data.json` |\r\n| SVG charts | `lab-output/<plots>/charts/*.svg` |\r\n| Gallery manifest | `lab-output/<gallery>/gallery-manifest.json` |\r\n| Gallery index | `lab-output/<gallery>/gallery-index.html` |\r\n| Audit reports | `reports/audits/<type>/code-rot-audit.txt` and `.json` |\r\n| Security reports | `reports/security/<prefix>-security-validation.txt` and `.json` |\r\n\r\n---\r\n\r\n## How to read the main report\r\n\r\nOpen `experiment-report.html` in a browser. The report shows:\r\n\r\n- **Project profile** — benchmark project name, language mix, complexity score, and file tree\r\n- **Benchmark tasks** — task descriptions and answer keys\r\n- **Strategy comparisons** — paired `raw-full-file` vs `my-dev-kit-guided` runs per case\r\n- **Correctness scores** — deterministic answer-key scoring (not semantic LLM judging)\r\n- **Token usage** — estimated or reported token totals per run\r\n- **Token savings** — positive means my-dev-kit used fewer tokens; negative means it used more\r\n- **Duration** — wall-clock time per run\r\n- **Status** — completed, timeout, invalid-output, or limit-reached\r\n- **Warnings and limitations** — notes on missing token totals or partial results\r\n\r\nSee [docs/METRICS.md](docs/METRICS.md) for full metric definitions.\r\n\r\n---\r\n\r\n## Current limitations\r\n\r\n- Token savings shown in fake-agent runs are based on estimated character counts, not provider billing telemetry\r\n- Claude and Codex token totals are used only when the CLI/run exposes them; missing provider token evidence stays explicitly unavailable (never zero, and never substituted with an estimated context-token count)\r\n- Codex and Claude campaign runs can produce timeouts, invalid-output, agent-unavailable, or agent-limit-reached outcomes; these are structured provider states, not warm-index infrastructure failures\r\n- Small projects may make raw-full-file cheaper than my-dev-kit-guided; larger localized tasks are where my-dev-kit is expected to become more useful\r\n- The generic experiment-plugin framework has four registered plugins: `context-strategy-comparison`, `warm-index-reuse`, `incremental-change-staleness`, and `context-window-scaling`. The v0.7.0 context-window-scaling plugin is released; retrieval precision/recall and agent-success plugins remain planned.\r\n- `warm-index-reuse` without `--campaign` still uses the deterministic fake agent only. With `--campaign`, exactly one real provider (Codex or Claude) runs per campaign preset — there is no multi-agent matrix, retry, provider switching, or scheduler. The v0.5.1 expanded corpus is deterministic fake-agent benchmark evidence when run without `--campaign`. No warm-index mode calculates a token-savings percentage, break-even task, winner, or ranking, and component-duration sums are not wall-clock latency\r\n- The current release does not guarantee token savings; it produces auditable evidence for specific cases, targets, agents, and strategies\r\n- Context-window scaling uses estimated tokens (`ceil(characters / 4)`) and experiment budgets, not actual provider tokenizer or model-window limits. Its deterministic fake-agent correctness check does not measure semantic sensitivity to the supplied context.\r\n- Released v0.6.1 affected-neighborhood evidence is bounded to the baseline graph of the prepared index and to the snapshot-represented files: a changed symbol means the symbol was present in a confirmed changed indexed file, not that its own text was proven to change; `not-indicated` means only that this bounded analysis found no supporting evidence for reindexing, not that skipping a reindex is safe; unresolved or ambiguous expected symbols keep a task at `unknown` rather than unrelated\r\n- v0.6.3 (previous release) partial-refresh evidence is scoped to the executed deterministic scenarios and the configured my-dev-kit 1.12.5-or-later tool. A partial treatment can fall back to a full rebuild and is then reported as not comparable as partial refresh, so an applied partial refresh in one run does not guarantee the next; `no-observed-regression-relative-to-full` is not a safety claim, and full refresh is a reference rather than a winner. Correctness remains deterministic fake-agent evidence, and `incremental-change-staleness` accepts no external `--target`.\r\n- Provider telemetry dashboards, semantic LLM judging, and cloud API billing integration are not yet implemented\r\n- The six new stage-context strategies have no CLI flags yet, are configured programmatically, and do not yet include plots, screenshots, or gallery integration\r\n- The published upstream artifacts the stage-context strategies read do not expose considered-but-unselected reads or unnecessary-read evidence; those metrics report `unavailable` rather than zero\r\n- The v0.4.4 producer-readiness bridge is released. All bridge inputs are programmatic — there is no CLI flag. The coordinated upstream releases my-dev-kit@1.10.3 and orchestrator@1.2.2 were verified published before lab publication.\r\n- The v0.4.5 context-integrity evaluation is released. It has no CLI flags, no plots/screenshot/gallery integration, and produces no composite score, grade, ranking, or winner. Its corrected-replay fixture is a hand-distilled representation of the validated my-dev-kit v1.10.4 and my-dev-kit-orchestrator v1.2.3 contracts, not a live capture of a complete ten-stage workflow. The orchestrator agreement evidence does not read a literal upstream `promptMode` field; `stageMayRenderNormalPrompt`, derived from structured blocked-stage evidence, is the bounded substitute used instead.\r\n- v0.4.7 added declarative browser tutorial validation and execution with bounded actions/assertions, persistent Chromium sessions, WebM, screenshots, SRT/VTT, Markdown, and `tutorial-manifest.json`. Chromium is a separate local runtime prerequisite; the package does not download browser binaries automatically. Gallery consumption remains future scope.\r\n- v0.4.8 added `pointer-click` and `pointer-drag` for normalized fraction positions inside a single located element. Existing `drag` remains element-to-element between source and target locators.\r\n- v0.4.9 `select-option` identifies an option by HTML value only: label selection, index selection, multi-select arrays, and automatic selector fallback are not supported, and there is no keyboard (`ArrowDown`/`Enter`) fallback. Native popup/menu traversal is not animated. Chromium remains a separately installed local runtime prerequisite; neither package installation nor tutorial execution downloads it automatically.\r\n- v0.5.2 (released) selectable real-agent warm-index campaigns run exactly one provider per preset (`codex-full`, `claude-full`, `codex-timeout-isolation`); there is no retry, provider switching, or scheduler. Correctness remains deterministic answer-key scoring, not semantic LLM judging. No composite score, winner, ranking, or break-even task is calculated for campaign or legacy warm-index runs.\r\n\r\n---\r\n\r\n## Security validation\r\n\r\n`npm run security:validate` (contributor/source-checkout) and `my-dev-kit-lab security validate` (installed CLI) both call the same standalone security-validation command owner. It checks local CLI/package boundaries and can inspect another local project with `--target <path>`. The generic audit command can reuse those results through `--types security`, but it does not replace the standalone validator or its reports.\r\n\r\nAndroid validation uses `--profile android`. Its default path is static and non-destructive: it starts zero Gradle processes, zero external tools, and zero network operations. Only confirmed `SecurityFinding` records can become audit issues; Android `CandidateEvidence` remains review-only evidence.\r\n\r\nOptional local scanners are reported as `skipped` when unavailable, never as passed. This local availability rule does not make CodeQL coverage optional for release readiness: the exact candidate must pass the repository-controlled GitHub CodeQL workflow and have its Code Scanning alerts reviewed. The framework does not provide runtime isolation proof, device or APK/AAB analysis, signing verification, Play Console validation, automatic fixes, or manual pentesting. Manual pentest remains deferred until post-v1/version TBD.\r\n\r\nSee [COMMANDS.md](docs/COMMANDS.md) for exact syntax and [Security Validation Framework](docs/security-validation-framework.md) for checks, evidence semantics, verdicts, and limitations.\r\n\r\n---\r\n\r\n## License\r\n\r\nMIT License. See [LICENSE](LICENSE) for the full text.\r\n\r\n---\r\n\r\n## Support\r\n\r\nmy-dev-kit-lab is an independent project by dailephd LLC, developed and maintained by Dai Le.\r\n\r\nIf this project helps your workflow, you can support continued development through GitHub Sponsors or PayPal:\r\n\r\n- [Sponsor on GitHub](https://github.com/sponsors/dailephd)\r\n- [Support via PayPal](https://paypal.me/daile88)\r\n\r\nSupport is optional and does not affect access to the project.\r\n\r\n---\r\n\r\n## Documentation\r\n\r\n- [docs/PROJECT_OVERVIEW.md](docs/PROJECT_OVERVIEW.md) — product purpose and target users\r\n- [docs/CURRENT_STATE.md](docs/CURRENT_STATE.md) — implemented, planned, validated, blocked, and next state\r\n- [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) — current components, ownership, flows, and invariants\r\n- [docs/WORKFLOWS.md](docs/WORKFLOWS.md) — step-by-step workflows with diagrams\r\n- [docs/COMMANDS.md](docs/COMMANDS.md) — all commands with options and examples\r\n- [docs/TUTORIAL.md](docs/TUTORIAL.md) — first-run walkthrough\r\n- [docs/METRICS.md](docs/METRICS.md) — metric definitions and interpretation\r\n- [docs/ROADMAP.md](docs/ROADMAP.md) — versioned plans, dependencies, exclusions, and acceptance criteria\r\n- [docs/GALLERY.md](docs/GALLERY.md) — gallery output explained\r\n- [docs/security-validation-framework.md](docs/security-validation-framework.md) — security evidence, verdicts, and safety boundaries\r\n","readmeFilename":"README.md"}