@cyanautomation/kaseki-agent 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dockerignore +54 -0
- package/.eslintignore +11 -0
- package/.eslintrc.json +95 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +53 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +53 -0
- package/.github/ISSUE_TEMPLATE/security.md +51 -0
- package/.github/PULL_REQUEST_TEMPLATE/default.md +71 -0
- package/.github/dependabot.yml +38 -0
- package/.github/skills/dependency-cache-optimization/SKILL.md +526 -0
- package/.github/skills/docker-image-management/SKILL.md +532 -0
- package/.github/skills/frontend-design/SKILL.md +782 -0
- package/.github/skills/prompt-engineering/SKILL.md +360 -0
- package/.github/skills/quality-gate-config/SKILL.md +591 -0
- package/.github/skills/result-report-analysis/SKILL.md +576 -0
- package/.github/skills/test-automation/SKILL.md +593 -0
- package/.github/skills/workflow-diagnosis/SKILL.md +468 -0
- package/.github/workflows/build-docker-image.yml +453 -0
- package/.github/workflows/release.yml +68 -0
- package/.releaserc.json +135 -0
- package/CHANGELOG.md +117 -0
- package/CLAUDE.md +336 -0
- package/CONTRIBUTING.md +339 -0
- package/Dockerfile +217 -0
- package/README.md +1527 -0
- package/STYLE.md +521 -0
- package/add-js-extensions.d.ts +9 -0
- package/add-js-extensions.d.ts.map +1 -0
- package/add-js-extensions.js.map +1 -0
- package/dist/add-js-extensions.d.ts +9 -0
- package/dist/add-js-extensions.d.ts.map +1 -0
- package/dist/add-js-extensions.js +52 -0
- package/dist/add-js-extensions.js.map +1 -0
- package/dist/ansi-colors.d.ts +26 -0
- package/dist/ansi-colors.d.ts.map +1 -0
- package/dist/ansi-colors.js +51 -0
- package/dist/ansi-colors.js.map +1 -0
- package/dist/cli/BaseCommand.d.ts +18 -0
- package/dist/cli/BaseCommand.d.ts.map +1 -0
- package/dist/cli/BaseCommand.js +31 -0
- package/dist/cli/BaseCommand.js.map +1 -0
- package/dist/cli/KasekiCLI.d.ts +30 -0
- package/dist/cli/KasekiCLI.d.ts.map +1 -0
- package/dist/cli/KasekiCLI.js +134 -0
- package/dist/cli/KasekiCLI.js.map +1 -0
- package/dist/cli/commands/ConfigCommand.d.ts +13 -0
- package/dist/cli/commands/ConfigCommand.d.ts.map +1 -0
- package/dist/cli/commands/ConfigCommand.js +131 -0
- package/dist/cli/commands/ConfigCommand.js.map +1 -0
- package/dist/cli/commands/DoctorCommand.d.ts +45 -0
- package/dist/cli/commands/DoctorCommand.d.ts.map +1 -0
- package/dist/cli/commands/DoctorCommand.js +309 -0
- package/dist/cli/commands/DoctorCommand.js.map +1 -0
- package/dist/cli/commands/ListCommand.d.ts +9 -0
- package/dist/cli/commands/ListCommand.d.ts.map +1 -0
- package/dist/cli/commands/ListCommand.js +81 -0
- package/dist/cli/commands/ListCommand.js.map +1 -0
- package/dist/cli/commands/ReportCommand.d.ts +9 -0
- package/dist/cli/commands/ReportCommand.d.ts.map +1 -0
- package/dist/cli/commands/ReportCommand.js +98 -0
- package/dist/cli/commands/ReportCommand.js.map +1 -0
- package/dist/cli/commands/RunCommand.d.ts +13 -0
- package/dist/cli/commands/RunCommand.d.ts.map +1 -0
- package/dist/cli/commands/RunCommand.js +191 -0
- package/dist/cli/commands/RunCommand.js.map +1 -0
- package/dist/cli/commands/SecretsCommand.d.ts +9 -0
- package/dist/cli/commands/SecretsCommand.d.ts.map +1 -0
- package/dist/cli/commands/SecretsCommand.js +109 -0
- package/dist/cli/commands/SecretsCommand.js.map +1 -0
- package/dist/cli/commands/ServeCommand.d.ts +9 -0
- package/dist/cli/commands/ServeCommand.d.ts.map +1 -0
- package/dist/cli/commands/ServeCommand.js +50 -0
- package/dist/cli/commands/ServeCommand.js.map +1 -0
- package/dist/cli/commands/SetupCommand.d.ts +42 -0
- package/dist/cli/commands/SetupCommand.d.ts.map +1 -0
- package/dist/cli/commands/SetupCommand.js +249 -0
- package/dist/cli/commands/SetupCommand.js.map +1 -0
- package/dist/cli.d.ts +9 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +130 -0
- package/dist/cli.js.map +1 -0
- package/dist/config/ConfigManager.d.ts +395 -0
- package/dist/config/ConfigManager.d.ts.map +1 -0
- package/dist/config/ConfigManager.js +446 -0
- package/dist/config/ConfigManager.js.map +1 -0
- package/dist/docker/DockerManager.d.ts +69 -0
- package/dist/docker/DockerManager.d.ts.map +1 -0
- package/dist/docker/DockerManager.js +266 -0
- package/dist/docker/DockerManager.js.map +1 -0
- package/dist/event-aggregator.d.ts +71 -0
- package/dist/event-aggregator.d.ts.map +1 -0
- package/dist/event-aggregator.js +95 -0
- package/dist/event-aggregator.js.map +1 -0
- package/dist/github-app-token.d.ts +16 -0
- package/dist/github-app-token.d.ts.map +1 -0
- package/dist/github-app-token.js +148 -0
- package/dist/github-app-token.js.map +1 -0
- package/dist/idempotency-store.d.ts +61 -0
- package/dist/idempotency-store.d.ts.map +1 -0
- package/dist/idempotency-store.js +321 -0
- package/dist/idempotency-store.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/instance/InstanceManager.d.ts +81 -0
- package/dist/instance/InstanceManager.d.ts.map +1 -0
- package/dist/instance/InstanceManager.js +220 -0
- package/dist/instance/InstanceManager.js.map +1 -0
- package/dist/instance-metadata-reader.d.ts +48 -0
- package/dist/instance-metadata-reader.d.ts.map +1 -0
- package/dist/instance-metadata-reader.js +94 -0
- package/dist/instance-metadata-reader.js.map +1 -0
- package/dist/instance-state-derivation.d.ts +42 -0
- package/dist/instance-state-derivation.d.ts.map +1 -0
- package/dist/instance-state-derivation.js +133 -0
- package/dist/instance-state-derivation.js.map +1 -0
- package/dist/job-scheduler.d.ts +124 -0
- package/dist/job-scheduler.d.ts.map +1 -0
- package/dist/job-scheduler.js +992 -0
- package/dist/job-scheduler.js.map +1 -0
- package/dist/kaseki-api-client.d.ts +89 -0
- package/dist/kaseki-api-client.d.ts.map +1 -0
- package/dist/kaseki-api-client.js +405 -0
- package/dist/kaseki-api-client.js.map +1 -0
- package/dist/kaseki-api-config.d.ts +34 -0
- package/dist/kaseki-api-config.d.ts.map +1 -0
- package/dist/kaseki-api-config.js +113 -0
- package/dist/kaseki-api-config.js.map +1 -0
- package/dist/kaseki-api-routes.d.ts +13 -0
- package/dist/kaseki-api-routes.d.ts.map +1 -0
- package/dist/kaseki-api-routes.js +559 -0
- package/dist/kaseki-api-routes.js.map +1 -0
- package/dist/kaseki-api-service-wrapper.d.ts +43 -0
- package/dist/kaseki-api-service-wrapper.d.ts.map +1 -0
- package/dist/kaseki-api-service-wrapper.js +150 -0
- package/dist/kaseki-api-service-wrapper.js.map +1 -0
- package/dist/kaseki-api-service.d.ts +16 -0
- package/dist/kaseki-api-service.d.ts.map +1 -0
- package/dist/kaseki-api-service.js +143 -0
- package/dist/kaseki-api-service.js.map +1 -0
- package/dist/kaseki-api-types.d.ts +440 -0
- package/dist/kaseki-api-types.d.ts.map +1 -0
- package/dist/kaseki-api-types.js +64 -0
- package/dist/kaseki-api-types.js.map +1 -0
- package/dist/kaseki-cli-lib.d.ts +219 -0
- package/dist/kaseki-cli-lib.d.ts.map +1 -0
- package/dist/kaseki-cli-lib.js +523 -0
- package/dist/kaseki-cli-lib.js.map +1 -0
- package/dist/kaseki-cli.d.ts +38 -0
- package/dist/kaseki-cli.d.ts.map +1 -0
- package/dist/kaseki-cli.js +559 -0
- package/dist/kaseki-cli.js.map +1 -0
- package/dist/kaseki-report.d.ts +3 -0
- package/dist/kaseki-report.d.ts.map +1 -0
- package/dist/kaseki-report.js +140 -0
- package/dist/kaseki-report.js.map +1 -0
- package/dist/lib/subprocess-helpers.d.ts +98 -0
- package/dist/lib/subprocess-helpers.d.ts.map +1 -0
- package/dist/lib/subprocess-helpers.js +136 -0
- package/dist/lib/subprocess-helpers.js.map +1 -0
- package/dist/logger.d.ts +39 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +79 -0
- package/dist/logger.js.map +1 -0
- package/dist/metrics.d.ts +19 -0
- package/dist/metrics.d.ts.map +1 -0
- package/dist/metrics.js +59 -0
- package/dist/metrics.js.map +1 -0
- package/dist/middleware/job-lookup.d.ts +27 -0
- package/dist/middleware/job-lookup.d.ts.map +1 -0
- package/dist/middleware/job-lookup.js +28 -0
- package/dist/middleware/job-lookup.js.map +1 -0
- package/dist/pi-event-filter.d.ts +3 -0
- package/dist/pi-event-filter.d.ts.map +1 -0
- package/dist/pi-event-filter.js +126 -0
- package/dist/pi-event-filter.js.map +1 -0
- package/dist/pi-progress-stream.d.ts +3 -0
- package/dist/pi-progress-stream.d.ts.map +1 -0
- package/dist/pi-progress-stream.js +205 -0
- package/dist/pi-progress-stream.js.map +1 -0
- package/dist/pi-progress-summarizer.d.ts +61 -0
- package/dist/pi-progress-summarizer.d.ts.map +1 -0
- package/dist/pi-progress-summarizer.js +246 -0
- package/dist/pi-progress-summarizer.js.map +1 -0
- package/dist/pre-flight-validator.d.ts +72 -0
- package/dist/pre-flight-validator.d.ts.map +1 -0
- package/dist/pre-flight-validator.js +513 -0
- package/dist/pre-flight-validator.js.map +1 -0
- package/dist/progress-stream-utils.d.ts +3 -0
- package/dist/progress-stream-utils.d.ts.map +1 -0
- package/dist/progress-stream-utils.js +15 -0
- package/dist/progress-stream-utils.js.map +1 -0
- package/dist/result-cache.d.ts +52 -0
- package/dist/result-cache.d.ts.map +1 -0
- package/dist/result-cache.js +134 -0
- package/dist/result-cache.js.map +1 -0
- package/dist/routes/artifact-routes.d.ts +10 -0
- package/dist/routes/artifact-routes.d.ts.map +1 -0
- package/dist/routes/artifact-routes.js +126 -0
- package/dist/routes/artifact-routes.js.map +1 -0
- package/dist/routes/log-routes.d.ts +8 -0
- package/dist/routes/log-routes.d.ts.map +1 -0
- package/dist/routes/log-routes.js +345 -0
- package/dist/routes/log-routes.js.map +1 -0
- package/dist/routes/status-routes.d.ts +8 -0
- package/dist/routes/status-routes.d.ts.map +1 -0
- package/dist/routes/status-routes.js +82 -0
- package/dist/routes/status-routes.js.map +1 -0
- package/dist/routes/webhook-routes.d.ts +6 -0
- package/dist/routes/webhook-routes.d.ts.map +1 -0
- package/dist/routes/webhook-routes.js +86 -0
- package/dist/routes/webhook-routes.js.map +1 -0
- package/dist/run-artifact-metadata-cache.d.ts +42 -0
- package/dist/run-artifact-metadata-cache.d.ts.map +1 -0
- package/dist/run-artifact-metadata-cache.js +139 -0
- package/dist/run-artifact-metadata-cache.js.map +1 -0
- package/dist/secret-value-cache.d.ts +13 -0
- package/dist/secret-value-cache.d.ts.map +1 -0
- package/dist/secret-value-cache.js +44 -0
- package/dist/secret-value-cache.js.map +1 -0
- package/dist/secrets/SecretsManager.d.ts +80 -0
- package/dist/secrets/SecretsManager.d.ts.map +1 -0
- package/dist/secrets/SecretsManager.js +306 -0
- package/dist/secrets/SecretsManager.js.map +1 -0
- package/dist/test-utils.d.ts +55 -0
- package/dist/test-utils.d.ts.map +1 -0
- package/dist/test-utils.js +48 -0
- package/dist/test-utils.js.map +1 -0
- package/dist/timestamp-tracker.d.ts +75 -0
- package/dist/timestamp-tracker.d.ts.map +1 -0
- package/dist/timestamp-tracker.js +121 -0
- package/dist/timestamp-tracker.js.map +1 -0
- package/dist/utils/failure-artifact-writer.d.ts +29 -0
- package/dist/utils/failure-artifact-writer.d.ts.map +1 -0
- package/dist/utils/failure-artifact-writer.js +157 -0
- package/dist/utils/failure-artifact-writer.js.map +1 -0
- package/dist/utils/file-helpers.d.ts +41 -0
- package/dist/utils/file-helpers.d.ts.map +1 -0
- package/dist/utils/file-helpers.js +143 -0
- package/dist/utils/file-helpers.js.map +1 -0
- package/dist/utils/http-client-factory.d.ts +46 -0
- package/dist/utils/http-client-factory.d.ts.map +1 -0
- package/dist/utils/http-client-factory.js +114 -0
- package/dist/utils/http-client-factory.js.map +1 -0
- package/dist/utils/progress-normalizer.d.ts +13 -0
- package/dist/utils/progress-normalizer.d.ts.map +1 -0
- package/dist/utils/progress-normalizer.js +57 -0
- package/dist/utils/progress-normalizer.js.map +1 -0
- package/dist/utils/response-helpers.d.ts +34 -0
- package/dist/utils/response-helpers.d.ts.map +1 -0
- package/dist/utils/response-helpers.js +78 -0
- package/dist/utils/response-helpers.js.map +1 -0
- package/dist/utils/route-helpers.d.ts +17 -0
- package/dist/utils/route-helpers.d.ts.map +1 -0
- package/dist/utils/route-helpers.js +22 -0
- package/dist/utils/route-helpers.js.map +1 -0
- package/dist/utils/status-response-builder.d.ts +23 -0
- package/dist/utils/status-response-builder.d.ts.map +1 -0
- package/dist/utils/status-response-builder.js +144 -0
- package/dist/utils/status-response-builder.js.map +1 -0
- package/dist/utils/type-guards.d.ts +37 -0
- package/dist/utils/type-guards.d.ts.map +1 -0
- package/dist/utils/type-guards.js +45 -0
- package/dist/utils/type-guards.js.map +1 -0
- package/dist/utils/utf8-helpers.d.ts +32 -0
- package/dist/utils/utf8-helpers.d.ts.map +1 -0
- package/dist/utils/utf8-helpers.js +97 -0
- package/dist/utils/utf8-helpers.js.map +1 -0
- package/dist/utils/webhook-event-builder.d.ts +26 -0
- package/dist/utils/webhook-event-builder.d.ts.map +1 -0
- package/dist/utils/webhook-event-builder.js +77 -0
- package/dist/utils/webhook-event-builder.js.map +1 -0
- package/dist/webhook-manager.d.ts +56 -0
- package/dist/webhook-manager.d.ts.map +1 -0
- package/dist/webhook-manager.js +359 -0
- package/dist/webhook-manager.js.map +1 -0
- package/docker/workspace-cache/package-lock.json +13 -0
- package/docker/workspace-cache/package.json +7 -0
- package/docker-compose.yml +53 -0
- package/docs/API.md +708 -0
- package/docs/BACKLOG.md +19 -0
- package/docs/BUILD_STRATEGY.md +404 -0
- package/docs/CLI.md +569 -0
- package/docs/DEPLOYMENT.md +521 -0
- package/docs/DEVELOPMENT.md +459 -0
- package/docs/DOCKER_SETUP.md +522 -0
- package/docs/ENHANCED_PROGRESS_LOGS.md +264 -0
- package/docs/IMPLEMENTATION_SUMMARY.md +549 -0
- package/docs/INTEGRATION_EXAMPLE.md +217 -0
- package/docs/NPM_SETUP.md +468 -0
- package/docs/PHASE1-4_IMPLEMENTATION.md +302 -0
- package/docs/PHASE1_COMPLETION.md +192 -0
- package/docs/PHASE2_COMPLETION.md +134 -0
- package/docs/PHASE6_MIGRATION.md +392 -0
- package/docs/PRINTF_SAFETY_FIX.md +282 -0
- package/docs/QUALITY_GATES.md +369 -0
- package/docs/SETUP_GUIDE.md +482 -0
- package/docs/TASK_PROMPT_TEMPLATES.md +533 -0
- package/docs/VALIDATION_FIX.md +139 -0
- package/docs/VERIFICATION_CHECKLIST.md +335 -0
- package/docs/repo-maturity.md +760 -0
- package/fix-tests.d.ts +9 -0
- package/fix-tests.d.ts.map +1 -0
- package/fix-tests.js.map +1 -0
- package/fix-tests.ts +53 -0
- package/jest.config.ts +31 -0
- package/kaseki +183 -0
- package/kaseki-agent.sh +1961 -0
- package/ops/logrotate/kaseki +10 -0
- package/package.json +83 -0
- package/perf/README.md +54 -0
- package/perf/pi-event-filter.benchmark.test.ts +98 -0
- package/run-kaseki-json.test.sh +106 -0
- package/run-kaseki.sh +990 -0
- package/scripts/allowlist-helper.sh +56 -0
- package/scripts/cleanup-kaseki.sh +168 -0
- package/scripts/deploy-pi-template.sh +293 -0
- package/scripts/docker-entrypoint.sh +71 -0
- package/scripts/dry-run-allowlist.sh +161 -0
- package/scripts/kaseki-activate.sh +396 -0
- package/scripts/kaseki-api.service +62 -0
- package/scripts/kaseki-container-entrypoint-wrapper.sh +119 -0
- package/scripts/kaseki-container-setup-remote.sh +172 -0
- package/scripts/kaseki-container-setup.sh +193 -0
- package/scripts/kaseki-healthcheck.sh +95 -0
- package/scripts/kaseki-install.sh +50 -0
- package/scripts/kaseki-maturity-score.sh +291 -0
- package/scripts/kaseki-performance-metrics.sh +122 -0
- package/scripts/kaseki-preflight.sh +270 -0
- package/scripts/kaseki-setup.sh +265 -0
- package/scripts/pi-setup-remote.sh +213 -0
- package/scripts/setup-github-labels.sh +42 -0
- package/scripts/suggest-allowlist.sh +68 -0
- package/scripts/templates/MULTI_HOST_DISTRIBUTED.md +337 -0
- package/scripts/templates/REST_API_SERVICE.md +490 -0
- package/scripts/templates/SINGLE_HOST_CLI.md +194 -0
- package/scripts/test-github-app.sh +248 -0
- package/src/add-js-extensions.ts +61 -0
- package/src/ansi-colors.test.ts +62 -0
- package/src/ansi-colors.ts +67 -0
- package/src/cli/BaseCommand.ts +40 -0
- package/src/cli/KasekiCLI.ts +154 -0
- package/src/cli/commands/ConfigCommand.ts +145 -0
- package/src/cli/commands/DoctorCommand.ts +329 -0
- package/src/cli/commands/ListCommand.ts +105 -0
- package/src/cli/commands/ReportCommand.ts +110 -0
- package/src/cli/commands/RunCommand.ts +218 -0
- package/src/cli/commands/SecretsCommand.ts +120 -0
- package/src/cli/commands/ServeCommand.ts +62 -0
- package/src/cli/commands/SetupCommand.ts +301 -0
- package/src/cli.ts +138 -0
- package/src/config/ConfigManager.ts +476 -0
- package/src/docker/DockerManager.ts +319 -0
- package/src/docker-entrypoint-packaging.test.ts +33 -0
- package/src/event-aggregator.test.ts +117 -0
- package/src/event-aggregator.ts +126 -0
- package/src/github-app-token.ts +215 -0
- package/src/idempotency-store.test.ts +117 -0
- package/src/idempotency-store.ts +385 -0
- package/src/index.ts +89 -0
- package/src/instance/InstanceManager.ts +285 -0
- package/src/instance-metadata-reader.test.ts +190 -0
- package/src/instance-metadata-reader.ts +129 -0
- package/src/instance-state-derivation.test.ts +263 -0
- package/src/instance-state-derivation.ts +148 -0
- package/src/job-scheduler.test.ts +1236 -0
- package/src/job-scheduler.ts +1117 -0
- package/src/kaseki-api-client.ts +488 -0
- package/src/kaseki-api-config.test.ts +315 -0
- package/src/kaseki-api-config.ts +175 -0
- package/src/kaseki-api-routes.test.ts +1615 -0
- package/src/kaseki-api-routes.ts +643 -0
- package/src/kaseki-api-service-wrapper.ts +188 -0
- package/src/kaseki-api-service.test.ts +418 -0
- package/src/kaseki-api-service.ts +192 -0
- package/src/kaseki-api-types.ts +320 -0
- package/src/kaseki-cli-lib.test.ts +552 -0
- package/src/kaseki-cli-lib.ts +760 -0
- package/src/kaseki-cli.ts +682 -0
- package/src/kaseki-report.test.ts +118 -0
- package/src/kaseki-report.ts +192 -0
- package/src/lib/subprocess-helpers.ts +177 -0
- package/src/logger.ts +114 -0
- package/src/metrics.ts +66 -0
- package/src/middleware/job-lookup.test.ts +113 -0
- package/src/middleware/job-lookup.ts +45 -0
- package/src/pi-event-filter.test.ts +183 -0
- package/src/pi-event-filter.ts +183 -0
- package/src/pi-progress-stream.ts +287 -0
- package/src/pi-progress-summarizer.test.ts +302 -0
- package/src/pi-progress-summarizer.ts +287 -0
- package/src/pre-flight-validator.test.ts +512 -0
- package/src/pre-flight-validator.ts +618 -0
- package/src/progress-stream-utils.test.ts +35 -0
- package/src/progress-stream-utils.ts +14 -0
- package/src/result-cache.test.ts +195 -0
- package/src/result-cache.ts +181 -0
- package/src/routes/artifact-routes.ts +169 -0
- package/src/routes/log-routes.ts +391 -0
- package/src/routes/status-routes.ts +92 -0
- package/src/routes/webhook-routes.ts +97 -0
- package/src/run-artifact-metadata-cache.test.ts +80 -0
- package/src/run-artifact-metadata-cache.ts +184 -0
- package/src/secret-value-cache.test.ts +66 -0
- package/src/secret-value-cache.ts +55 -0
- package/src/secrets/SecretsManager.ts +343 -0
- package/src/test-utils.ts +81 -0
- package/src/timestamp-tracker.test.ts +134 -0
- package/src/timestamp-tracker.ts +132 -0
- package/src/utils/failure-artifact-writer.ts +187 -0
- package/src/utils/file-helpers.test.ts +235 -0
- package/src/utils/file-helpers.ts +150 -0
- package/src/utils/http-client-factory.test.ts +245 -0
- package/src/utils/http-client-factory.ts +157 -0
- package/src/utils/progress-normalizer.test.ts +442 -0
- package/src/utils/progress-normalizer.ts +68 -0
- package/src/utils/response-helpers.test.ts +122 -0
- package/src/utils/response-helpers.ts +101 -0
- package/src/utils/route-helpers.ts +30 -0
- package/src/utils/status-response-builder.ts +159 -0
- package/src/utils/type-guards.ts +52 -0
- package/src/utils/utf8-helpers.ts +102 -0
- package/src/utils/webhook-event-builder.test.ts +143 -0
- package/src/utils/webhook-event-builder.ts +87 -0
- package/src/webhook-manager.test.ts +152 -0
- package/src/webhook-manager.ts +445 -0
- package/templates/allowlist-api-route.txt +7 -0
- package/templates/allowlist-comprehensive.txt +8 -0
- package/templates/allowlist-parser-fix.txt +6 -0
- package/templates/allowlist-ui-component.txt +9 -0
- package/templates/allowlist-utility.txt +9 -0
- package/test/actual-model-metadata.test.sh +102 -0
- package/test/dry-run.test.sh +131 -0
- package/test/fixtures/kaseki-report-exit-codes/metadata-exit-0.json +1 -0
- package/test/fixtures/kaseki-report-exit-codes/metadata-exit-1.json +1 -0
- package/test/fixtures/kaseki-report-exit-codes/metadata-exit-invalid.json +1 -0
- package/test/fixtures/kaseki-report-exit-codes/metadata-exit-str-0.json +1 -0
- package/test/fixtures/kaseki-report-exit-codes/metadata-exit-str-1.json +1 -0
- package/test/kaseki-api.integration.test.sh +165 -0
- package/test/pi-event-filter-failure.test.sh +83 -0
- package/test/printf-safety-focused.test.sh +99 -0
- package/test/printf-safety-results/results/restoration.jsonl +10 -0
- package/test/printf-safety-results/results/test.jsonl +0 -0
- package/test/printf-safety.test.sh +297 -0
- package/test/validation-fix.test.sh +79 -0
- package/test/validation-integration.test.sh +109 -0
- package/tests/allowlist-glob.test.sh +61 -0
- package/tests/dependency-cache-key.test.sh +48 -0
- package/tests/dependency-restore-mode.test.sh +48 -0
- package/tests/doctor-template-parity.test.sh +95 -0
- package/tests/github-operations.test.sh +142 -0
- package/tests/npm-install-flags.test.sh +58 -0
- package/tests/quality-gates.test.sh +178 -0
- package/tests/repo-memory.test.sh +103 -0
- package/tests/restore-disallowed-changes.test.sh +80 -0
- package/tests/validation-missing-npm-scripts.test.sh +93 -0
- package/tests/validation-strict-mode.test.sh +118 -0
- package/tsconfig.changed.json +7 -0
- package/tsconfig.json +39 -0
|
@@ -0,0 +1,468 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: workflow-diagnosis
|
|
3
|
+
description: Diagnosing kaseki run failures and interpreting artifacts
|
|
4
|
+
tags: [kaseki, troubleshooting, diagnostics, debugging]
|
|
5
|
+
relatedSkills: [prompt-engineering, quality-gate-config, test-automation, docker-image-management, dependency-cache-optimization, result-report-analysis]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Workflow Diagnosis for Kaseki Agent
|
|
9
|
+
|
|
10
|
+
This skill guides you through diagnosing failures in kaseki runs, interpreting artifacts, and identifying root causes.
|
|
11
|
+
|
|
12
|
+
## Overview
|
|
13
|
+
|
|
14
|
+
**When to Use**:
|
|
15
|
+
- A kaseki run failed and you need to understand why
|
|
16
|
+
- Performance is slower than expected
|
|
17
|
+
- Unexpected files were changed
|
|
18
|
+
- Quality gates failed (diff size, allowlist, secrets)
|
|
19
|
+
- Agent timed out or produced unexpected output
|
|
20
|
+
|
|
21
|
+
**Key Process**:
|
|
22
|
+
1. Check `metadata.json` for exit codes (quick status)
|
|
23
|
+
2. Read `result-summary.md` for human-readable summary
|
|
24
|
+
3. Inspect relevant artifact based on failure type
|
|
25
|
+
4. Use exit code mapping to find root cause
|
|
26
|
+
5. Refer to related skill for remediation
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Artifact Inspection Order
|
|
31
|
+
|
|
32
|
+
When a kaseki run completes, artifacts are written to `/agents/kaseki-results/kaseki-N/`:
|
|
33
|
+
|
|
34
|
+
### First: Check metadata.json
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"instance": "kaseki-1",
|
|
38
|
+
"start_time": "2026-04-25T10:30:00Z",
|
|
39
|
+
"end_time": "2026-04-25T10:45:30Z",
|
|
40
|
+
"duration_seconds": 930,
|
|
41
|
+
"exit_codes": {
|
|
42
|
+
"agent": 0,
|
|
43
|
+
"validation": 0,
|
|
44
|
+
"quality_gates": 0,
|
|
45
|
+
"overall": 0
|
|
46
|
+
},
|
|
47
|
+
"model": "openrouter/free",
|
|
48
|
+
"timeout_seconds": 1200
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**What to Look For**:
|
|
53
|
+
- `exit_codes.overall`: 0 = success, non-zero = failure
|
|
54
|
+
- `exit_codes.agent`: Pi CLI exit code (0 = completed, 124 = timeout)
|
|
55
|
+
- `exit_codes.validation`: Validation command exit code
|
|
56
|
+
- `exit_codes.quality_gates`: Quality gate failures (see below)
|
|
57
|
+
- `duration_seconds`: How long the run took (baseline: 5–15 min)
|
|
58
|
+
|
|
59
|
+
### Second: Read result-summary.md
|
|
60
|
+
Human-readable status and key facts:
|
|
61
|
+
|
|
62
|
+
```markdown
|
|
63
|
+
# Kaseki Run Summary: kaseki-1
|
|
64
|
+
|
|
65
|
+
**Status**: ✓ Success
|
|
66
|
+
**Duration**: 15m 30s
|
|
67
|
+
**Model**: openrouter/free
|
|
68
|
+
|
|
69
|
+
## Validation Results
|
|
70
|
+
- ✓ All validation commands passed
|
|
71
|
+
- ✓ Quality gates passed
|
|
72
|
+
- ✓ No secrets detected
|
|
73
|
+
|
|
74
|
+
## Changes
|
|
75
|
+
- Files modified: 3
|
|
76
|
+
- Lines added: 42
|
|
77
|
+
- Lines removed: 18
|
|
78
|
+
- Diff size: 2.4 KB
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**What to Look For**:
|
|
82
|
+
- Status line (Success, Failure, Timeout, etc.)
|
|
83
|
+
- Which validation commands passed/failed
|
|
84
|
+
- Quality gate results
|
|
85
|
+
- Change summary (file count, diff size)
|
|
86
|
+
|
|
87
|
+
### Third: Check Relevant Artifact Based on Exit Code
|
|
88
|
+
|
|
89
|
+
Use the **Exit Code Mapping** table below to jump to the right artifact.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Exit Code Mapping & Remediation
|
|
94
|
+
|
|
95
|
+
| Exit Code | Meaning | Artifact to Check | Remediation Skill |
|
|
96
|
+
|---|---|---|---|
|
|
97
|
+
| 0 | Success | `pi-summary.json` | N/A (success) |
|
|
98
|
+
| 2 | Missing API key / config | `stdout.log`, `stderr.log` | N/A (configuration) |
|
|
99
|
+
| 3 | Empty git diff | `git.diff`, `pi-events.jsonl` | [Prompt Engineering](prompt-engineering.md) |
|
|
100
|
+
| 4 | Diff exceeds max bytes | `git.diff`, `changed-files.txt` | [Quality Gate Configuration](quality-gate-config.md) |
|
|
101
|
+
| 5 | Changed file outside allowlist | `changed-files.txt`, `quality.log` | [Quality Gate Configuration](quality-gate-config.md) |
|
|
102
|
+
| 6 | Secret scan hit (sk-or-* leak) | `secret-scan.log` | [Prompt Engineering](prompt-engineering.md) |
|
|
103
|
+
| 124 | Pi agent timeout | `pi-summary.json`, `stdout.log` | [Prompt Engineering](prompt-engineering.md) or [Docker Image Management](docker-image-management.md) |
|
|
104
|
+
| Other | Validation command failure | `validation.log`, exit code in metadata | [Test Automation](test-automation.md) |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Common Failure Patterns
|
|
109
|
+
|
|
110
|
+
### Pattern 1: Empty Diff (Exit Code 3)
|
|
111
|
+
|
|
112
|
+
**Symptom**: Kaseki completes but produces no changes.
|
|
113
|
+
|
|
114
|
+
**Quick Diagnosis**:
|
|
115
|
+
```bash
|
|
116
|
+
cat /agents/kaseki-results/kaseki-N/git.diff
|
|
117
|
+
# Output: (empty or minimal)
|
|
118
|
+
|
|
119
|
+
cat /agents/kaseki-results/kaseki-N/pi-summary.json | jq '.status'
|
|
120
|
+
# Output: "completed"
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Root Causes**:
|
|
124
|
+
1. **Prompt was too vague** → Agent didn't understand what to do
|
|
125
|
+
- Remediation: See [Prompt Engineering](prompt-engineering.md) — be more specific
|
|
126
|
+
2. **Code was already correct** → Bug doesn't exist or is fixed
|
|
127
|
+
- Remediation: Verify the issue manually in the repo
|
|
128
|
+
3. **Validation commands fail on any change** → Too strict constraints
|
|
129
|
+
- Remediation: See [Quality Gate Configuration](quality-gate-config.md) — loosen constraints
|
|
130
|
+
|
|
131
|
+
**Diagnosis Steps**:
|
|
132
|
+
```bash
|
|
133
|
+
# Did the agent think there was nothing to do?
|
|
134
|
+
cat /agents/kaseki-results/kaseki-N/pi-events.jsonl | grep -i "nothing\|no change\|complete"
|
|
135
|
+
|
|
136
|
+
# Did validation commands fail without agent changes?
|
|
137
|
+
cat /agents/kaseki-results/kaseki-N/validation.log
|
|
138
|
+
|
|
139
|
+
# Is the issue actually present in the cloned repo?
|
|
140
|
+
# Check git.status to see what the agent saw
|
|
141
|
+
cat /agents/kaseki-results/kaseki-N/git.status
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Pattern 2: Agent Timeout (Exit Code 124)
|
|
145
|
+
|
|
146
|
+
**Symptom**: Agent runs for `KASEKI_AGENT_TIMEOUT_SECONDS` (default 1200s = 20m) then stops.
|
|
147
|
+
|
|
148
|
+
**Quick Diagnosis**:
|
|
149
|
+
```bash
|
|
150
|
+
cat /agents/kaseki-results/kaseki-N/metadata.json | jq '.duration_seconds'
|
|
151
|
+
# Output: 1200 (or close to timeout value)
|
|
152
|
+
|
|
153
|
+
cat /agents/kaseki-results/kaseki-N/pi-summary.json | jq '.status'
|
|
154
|
+
# Output: "timeout" or incomplete
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
**Root Causes**:
|
|
158
|
+
1. **Task too complex** → Agent exploring too many options
|
|
159
|
+
- Remediation: Simplify task scope; provide more constraints
|
|
160
|
+
2. **Validation commands are slow** → npm ci, build takes 10+ minutes
|
|
161
|
+
- Remediation: See [Dependency Cache Optimization](dependency-cache-optimization.md)
|
|
162
|
+
3. **Pi CLI performance issue** → Upstream problem with LLM
|
|
163
|
+
- Remediation: Retry with a different model or shorter timeout
|
|
164
|
+
|
|
165
|
+
**Diagnosis Steps**:
|
|
166
|
+
```bash
|
|
167
|
+
# Check where time was spent
|
|
168
|
+
cat /agents/kaseki-results/kaseki-N/validation-timings.tsv
|
|
169
|
+
# Shows: command | duration_seconds
|
|
170
|
+
|
|
171
|
+
# Was most time in npm install?
|
|
172
|
+
head -5 /agents/kaseki-results/kaseki-N/validation-timings.tsv
|
|
173
|
+
|
|
174
|
+
# Check Pi summary for events and reasoning length
|
|
175
|
+
cat /agents/kaseki-results/kaseki-N/pi-summary.json | jq '{events, thinking_chars}'
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Pattern 3: Allowlist Violation (Exit Code 5)
|
|
179
|
+
|
|
180
|
+
**Symptom**: Agent changed files outside the allowlist.
|
|
181
|
+
|
|
182
|
+
**Quick Diagnosis**:
|
|
183
|
+
```bash
|
|
184
|
+
cat /agents/kaseki-results/kaseki-N/changed-files.txt
|
|
185
|
+
# Output: src/lib/parser.ts tests/parser.test.ts src/other/config.ts
|
|
186
|
+
# (src/other/config.ts is NOT in allowlist)
|
|
187
|
+
|
|
188
|
+
cat /agents/kaseki-results/kaseki-N/quality.log
|
|
189
|
+
# Output: Changed file 'src/other/config.ts' not in allowlist
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
**Root Causes**:
|
|
193
|
+
1. **Allowlist too narrow** → Legitimate files excluded
|
|
194
|
+
- Remediation: See [Quality Gate Configuration](quality-gate-config.md) — expand allowlist
|
|
195
|
+
2. **Prompt scope unclear** → Agent made assumption and changed extra files
|
|
196
|
+
- Remediation: See [Prompt Engineering](prompt-engineering.md) — be explicit about constraints
|
|
197
|
+
|
|
198
|
+
**Diagnosis Steps**:
|
|
199
|
+
```bash
|
|
200
|
+
# See exactly which files changed
|
|
201
|
+
cat /agents/kaseki-results/kaseki-N/changed-files.txt
|
|
202
|
+
|
|
203
|
+
# Check what the allowlist was
|
|
204
|
+
echo $KASEKI_CHANGED_FILES_ALLOWLIST
|
|
205
|
+
# Or re-inspect git.diff to see what agent tried to do
|
|
206
|
+
cat /agents/kaseki-results/kaseki-N/git.diff | grep '^diff --git' | head -10
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Pattern 4: Diff Size Exceeded (Exit Code 4)
|
|
210
|
+
|
|
211
|
+
**Symptom**: Changes are too large.
|
|
212
|
+
|
|
213
|
+
**Quick Diagnosis**:
|
|
214
|
+
```bash
|
|
215
|
+
wc -c < /agents/kaseki-results/kaseki-N/git.diff
|
|
216
|
+
# Output: 250000 (exceeds default 200000 = 200 KB)
|
|
217
|
+
|
|
218
|
+
cat /agents/kaseki-results/kaseki-N/quality.log
|
|
219
|
+
# Output: Diff size 250000 bytes exceeds KASEKI_MAX_DIFF_BYTES (200000)
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
**Root Causes**:
|
|
223
|
+
1. **Task too broad** → Agent changed too much
|
|
224
|
+
- Remediation: See [Prompt Engineering](prompt-engineering.md) — narrow task scope
|
|
225
|
+
2. **Max diff too conservative** → Limit is unreasonable for this task
|
|
226
|
+
- Remediation: See [Quality Gate Configuration](quality-gate-config.md) — increase limit
|
|
227
|
+
|
|
228
|
+
**Diagnosis Steps**:
|
|
229
|
+
```bash
|
|
230
|
+
# What changed?
|
|
231
|
+
cat /agents/kaseki-results/kaseki-N/changed-files.txt
|
|
232
|
+
|
|
233
|
+
# How much per file?
|
|
234
|
+
git diff --stat < /agents/kaseki-results/kaseki-N/git.diff | tail -5
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### Pattern 5: Validation Command Failed
|
|
238
|
+
|
|
239
|
+
**Symptom**: Exit code in metadata shows validation failure (not 0).
|
|
240
|
+
|
|
241
|
+
**Quick Diagnosis**:
|
|
242
|
+
```bash
|
|
243
|
+
cat /agents/kaseki-results/kaseki-N/metadata.json | jq '.exit_codes.validation'
|
|
244
|
+
# Output: 1 (command exited with code 1)
|
|
245
|
+
|
|
246
|
+
cat /agents/kaseki-results/kaseki-N/result-summary.md | grep -A 5 "Validation Results"
|
|
247
|
+
# Shows which command failed
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
**Root Causes**:
|
|
251
|
+
1. **Tests don't pass** → Agent made breaking change
|
|
252
|
+
- Remediation: Review pi-events.jsonl to see agent's reasoning
|
|
253
|
+
2. **Type checker failed** → New type errors introduced
|
|
254
|
+
- Remediation: Check validation.log for type error details
|
|
255
|
+
3. **Build failed** → Syntax error or missing dependency
|
|
256
|
+
- Remediation: Check validation.log for build error
|
|
257
|
+
|
|
258
|
+
**Diagnosis Steps**:
|
|
259
|
+
```bash
|
|
260
|
+
# See full validation output
|
|
261
|
+
cat /agents/kaseki-results/kaseki-N/validation.log | tail -100
|
|
262
|
+
|
|
263
|
+
# Check timing to see which command failed
|
|
264
|
+
cat /agents/kaseki-results/kaseki-N/validation-timings.tsv
|
|
265
|
+
|
|
266
|
+
# Compare git diff to understand what agent tried
|
|
267
|
+
head -50 /agents/kaseki-results/kaseki-N/git.diff
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
### Pattern 6: Secret Leak Detected (Exit Code 6)
|
|
271
|
+
|
|
272
|
+
**Symptom**: Credentials found in artifacts.
|
|
273
|
+
|
|
274
|
+
**Quick Diagnosis**:
|
|
275
|
+
```bash
|
|
276
|
+
cat /agents/kaseki-results/kaseki-N/secret-scan.log
|
|
277
|
+
# Output: Found secret pattern sk-or-abc... in {filename}:{line}
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
**Root Causes**:
|
|
281
|
+
1. **Prompt included API key example** → Security issue in prompt design
|
|
282
|
+
- Remediation: See [Prompt Engineering](prompt-engineering.md) — security checklist
|
|
283
|
+
2. **Agent exposed environment variable** → Unexpected behavior
|
|
284
|
+
- Remediation: Check pi-events.jsonl to see what agent was thinking
|
|
285
|
+
|
|
286
|
+
**Diagnosis Steps**:
|
|
287
|
+
```bash
|
|
288
|
+
# Find exact secret patterns
|
|
289
|
+
grep -r "sk-or-" /agents/kaseki-results/kaseki-N/ --exclude-dir=.git
|
|
290
|
+
|
|
291
|
+
# Was it in the prompt or agent output?
|
|
292
|
+
grep "sk-or-" /agents/kaseki-results/kaseki-N/pi-events.jsonl
|
|
293
|
+
|
|
294
|
+
# Revoke/rotate any exposed credentials immediately
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## Performance Analysis
|
|
300
|
+
|
|
301
|
+
### Check Overall Duration
|
|
302
|
+
|
|
303
|
+
```bash
|
|
304
|
+
cat /agents/kaseki-results/kaseki-N/metadata.json | jq '{start: .start_time, end: .end_time, duration_seconds: .duration_seconds}'
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
**Expected Baselines**:
|
|
308
|
+
- `npm ci` with cache hit: 10–30 seconds
|
|
309
|
+
- `npm ci` cache miss: 1–3 minutes
|
|
310
|
+
- Validation commands: 1–5 minutes (varies by repo)
|
|
311
|
+
- Pi agent (typical task): 5–10 minutes
|
|
312
|
+
- **Total**: 5–15 minutes for a typical run
|
|
313
|
+
|
|
314
|
+
**If Slower Than Expected**:
|
|
315
|
+
1. Check validation timings (see below)
|
|
316
|
+
2. See [Dependency Cache Optimization](dependency-cache-optimization.md) if npm is slow
|
|
317
|
+
3. See [Workflow Diagnosis](#pattern-2-agent-timeout-exit-code-124) for timeout pattern
|
|
318
|
+
|
|
319
|
+
### Check Validation Command Timings
|
|
320
|
+
|
|
321
|
+
```bash
|
|
322
|
+
cat /agents/kaseki-results/kaseki-N/validation-timings.tsv
|
|
323
|
+
# Output:
|
|
324
|
+
# command duration_seconds
|
|
325
|
+
# npm ci 120
|
|
326
|
+
# npm run check 45
|
|
327
|
+
# npm run test 90
|
|
328
|
+
# npm run build 60
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
**Optimization**:
|
|
332
|
+
- `npm ci` > 2m? → Cache issue, see [Dependency Cache Optimization](dependency-cache-optimization.md)
|
|
333
|
+
- `npm test` > 5m? → Consider running only relevant tests
|
|
334
|
+
- Any command > 10m? → Consider increasing `KASEKI_AGENT_TIMEOUT_SECONDS`
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## Pi Agent Analysis
|
|
339
|
+
|
|
340
|
+
### Quick Stats
|
|
341
|
+
|
|
342
|
+
```bash
|
|
343
|
+
cat /agents/kaseki-results/kaseki-N/pi-summary.json | jq '.statistics'
|
|
344
|
+
# Output:
|
|
345
|
+
# {
|
|
346
|
+
# "events": 42,
|
|
347
|
+
# "thinking_tokens": 5000,
|
|
348
|
+
# "output_tokens": 2000,
|
|
349
|
+
# "total_tokens": 7000,
|
|
350
|
+
# "status": "completed"
|
|
351
|
+
# }
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
**What to Look For**:
|
|
355
|
+
- `events`: Number of reasoning steps (10–50 is typical)
|
|
356
|
+
- `thinking_tokens`: Reasoning effort (5k–20k is normal)
|
|
357
|
+
- `total_tokens`: Cost indicator (affects model choice)
|
|
358
|
+
- `status`: "completed", "timeout", "error"
|
|
359
|
+
|
|
360
|
+
### Understand Agent Behavior
|
|
361
|
+
|
|
362
|
+
```bash
|
|
363
|
+
# See high-level event types
|
|
364
|
+
cat /agents/kaseki-results/kaseki-N/pi-events.jsonl | jq '.type' | sort | uniq -c | sort -rn
|
|
365
|
+
# Output:
|
|
366
|
+
# 15 "thought"
|
|
367
|
+
# 10 "tool_call"
|
|
368
|
+
# 8 "tool_result"
|
|
369
|
+
# 5 "message"
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
**Interpretation**:
|
|
373
|
+
- More `thought` events = agent reasoning longer (possibly confused)
|
|
374
|
+
- Many `tool_call` events = agent trying multiple approaches
|
|
375
|
+
- Few events = straightforward task
|
|
376
|
+
|
|
377
|
+
### Check For Errors
|
|
378
|
+
|
|
379
|
+
```bash
|
|
380
|
+
# Look for error events
|
|
381
|
+
cat /agents/kaseki-results/kaseki-N/pi-events.jsonl | jq 'select(.type == "error")'
|
|
382
|
+
|
|
383
|
+
# Look for warnings in output
|
|
384
|
+
grep -i "warn\|error\|failed" /agents/kaseki-results/kaseki-N/pi-events.jsonl
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
---
|
|
388
|
+
|
|
389
|
+
## Decision Tree
|
|
390
|
+
|
|
391
|
+
Use this flowchart to diagnose issues:
|
|
392
|
+
|
|
393
|
+
```
|
|
394
|
+
START: Kaseki run completed
|
|
395
|
+
|
|
396
|
+
1. Check exit_codes.overall in metadata.json
|
|
397
|
+
├─ 0 → Run succeeded! Analyze results with pi-summary.json
|
|
398
|
+
├─ 2 → Missing API key/config (check env vars)
|
|
399
|
+
├─ 3 → Empty diff (see Pattern 1)
|
|
400
|
+
├─ 4 → Diff too large (see Pattern 4)
|
|
401
|
+
├─ 5 → Allowlist violation (see Pattern 3)
|
|
402
|
+
├─ 6 → Secret leak (see Pattern 6)
|
|
403
|
+
├─ 124 → Timeout (see Pattern 2)
|
|
404
|
+
└─ Other → Check validation.log (Pattern 5)
|
|
405
|
+
|
|
406
|
+
2. If exit code is 0:
|
|
407
|
+
├─ Changes look good? Verify with git.diff
|
|
408
|
+
├─ Tests passed? See validation-timings.tsv
|
|
409
|
+
└─ Done!
|
|
410
|
+
|
|
411
|
+
3. If exit code is non-zero:
|
|
412
|
+
├─ Read result-summary.md for human explanation
|
|
413
|
+
├─ Jump to matching pattern above
|
|
414
|
+
├─ Apply remediation from linked skill
|
|
415
|
+
├─ Refine task/config
|
|
416
|
+
└─ Retry with new kaseki instance (e.g., kaseki-2)
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
---
|
|
420
|
+
|
|
421
|
+
## Useful Commands
|
|
422
|
+
|
|
423
|
+
### Inspect a Run Quickly
|
|
424
|
+
|
|
425
|
+
```bash
|
|
426
|
+
# Summary view
|
|
427
|
+
tail -30 /agents/kaseki-results/kaseki-N/result-summary.md
|
|
428
|
+
|
|
429
|
+
# Exit codes
|
|
430
|
+
jq .exit_codes /agents/kaseki-results/kaseki-N/metadata.json
|
|
431
|
+
|
|
432
|
+
# Changed files
|
|
433
|
+
cat /agents/kaseki-results/kaseki-N/changed-files.txt
|
|
434
|
+
|
|
435
|
+
# Pi stats
|
|
436
|
+
jq .statistics /agents/kaseki-results/kaseki-N/pi-summary.json
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
### Compare Multiple Runs
|
|
440
|
+
|
|
441
|
+
```bash
|
|
442
|
+
# Compare timings across runs
|
|
443
|
+
for dir in /agents/kaseki-results/kaseki-{1,2,3}/; do
|
|
444
|
+
echo "=== $(basename $dir) ==="
|
|
445
|
+
jq '.duration_seconds' "$dir/metadata.json"
|
|
446
|
+
grep "npm ci" "$dir/validation-timings.tsv" | awk '{print $2}'
|
|
447
|
+
done
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
### Extract Full Pi Interaction
|
|
451
|
+
|
|
452
|
+
```bash
|
|
453
|
+
# Pretty-print events (useful for debugging agent reasoning)
|
|
454
|
+
jq -r '.type + ": " + (.content // .message // "")' \
|
|
455
|
+
/agents/kaseki-results/kaseki-N/pi-events.jsonl | head -50
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
---
|
|
459
|
+
|
|
460
|
+
## Related Skills & Docs
|
|
461
|
+
|
|
462
|
+
- [Prompt Engineering](prompt-engineering.md) — Design better tasks to avoid failures
|
|
463
|
+
- [Quality Gate Configuration](quality-gate-config.md) — Set appropriate constraints
|
|
464
|
+
- [Test Automation](test-automation.md) — Ensure validation tests are robust
|
|
465
|
+
- [Docker Image Management](docker-image-management.md) — Image-related issues
|
|
466
|
+
- [Dependency Cache Optimization](dependency-cache-optimization.md) — Performance tuning
|
|
467
|
+
- [Result Report Analysis](result-report-analysis.md) — Metrics and baselines
|
|
468
|
+
- [CLAUDE.md](../../CLAUDE.md) — Complete architecture and exit codes reference
|