agileflow 3.4.3 → 4.0.0-alpha.2
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/CHANGELOG.md +238 -473
- package/README.md +22 -114
- package/bin/agileflow.js +15 -0
- package/bin/hooks/pre-bash.js +35 -0
- package/bin/hooks/pre-compact.js +34 -0
- package/bin/hooks/pre-edit.js +32 -0
- package/bin/hooks/pre-write.js +32 -0
- package/bin/hooks/session-start.js +42 -0
- package/bin/hooks/stop.js +34 -0
- package/content/plugins/ads/plugin.yaml +14 -0
- package/content/plugins/audit/plugin.yaml +14 -0
- package/content/plugins/core/hooks/babysit-mentor-injector.js +55 -0
- package/content/plugins/core/hooks/context-loader.js +169 -0
- package/content/plugins/core/hooks/damage-control-bash.js +78 -0
- package/content/plugins/core/hooks/damage-control-edit.js +76 -0
- package/content/plugins/core/hooks/damage-control-patterns.yaml +100 -0
- package/content/plugins/core/hooks/damage-control-write.js +72 -0
- package/content/plugins/core/hooks/pre-compact-state.js +90 -0
- package/content/plugins/core/hooks/session-welcome.js +19 -0
- package/content/plugins/core/plugin.yaml +82 -0
- package/content/plugins/core/skills/agileflow-adr/SKILL.md +179 -0
- package/content/plugins/core/skills/agileflow-babysit-mentor/SKILL.md +144 -0
- package/content/plugins/core/skills/agileflow-epic-planner/SKILL.md +179 -0
- package/content/plugins/core/skills/agileflow-status-updater/SKILL.md +132 -0
- package/content/plugins/core/skills/agileflow-story-writer/SKILL.md +200 -0
- package/content/plugins/council/plugin.yaml +14 -0
- package/content/plugins/seo/plugin.yaml +14 -0
- package/package.json +29 -49
- package/src/cli/commands/doctor.js +159 -0
- package/src/cli/commands/hook.js +80 -0
- package/src/cli/commands/setup.js +292 -0
- package/src/cli/commands/status.js +47 -0
- package/src/cli/commands/update.js +83 -0
- package/src/cli/index.js +73 -0
- package/src/cli/wizard/behaviors-picker.js +108 -0
- package/src/cli/wizard/ide-picker.js +57 -0
- package/src/cli/wizard/personalization.js +64 -0
- package/src/cli/wizard/plugin-picker.js +106 -0
- package/src/lib/hash.js +41 -0
- package/src/runtime/config/defaults.js +61 -0
- package/src/runtime/config/loader.js +117 -0
- package/src/runtime/config/schema.json +99 -0
- package/src/runtime/config/writer.js +55 -0
- package/src/runtime/hooks/aggregator.js +157 -0
- package/src/runtime/hooks/chain.js +93 -0
- package/src/runtime/hooks/logger.js +68 -0
- package/src/runtime/hooks/manifest-loader.js +228 -0
- package/src/runtime/hooks/orchestrator.js +322 -0
- package/src/runtime/ide/capabilities.js +111 -0
- package/src/runtime/ide/claude-code-settings.js +234 -0
- package/src/runtime/ide/claude-code-skills.js +202 -0
- package/src/runtime/installer/file-index.js +112 -0
- package/src/runtime/installer/install.js +329 -0
- package/src/runtime/installer/stash.js +61 -0
- package/src/runtime/installer/sync-engine.js +205 -0
- package/src/runtime/plugins/registry.js +132 -0
- package/src/runtime/plugins/resolver.js +138 -0
- package/src/runtime/plugins/validator.js +196 -0
- package/src/runtime/skills/validator.js +335 -0
- package/lib/README.md +0 -178
- package/lib/api-routes.js +0 -625
- package/lib/api-server.js +0 -278
- package/lib/cache-provider.js +0 -155
- package/lib/codebase-indexer.js +0 -819
- package/lib/colors.generated.js +0 -117
- package/lib/colors.js +0 -341
- package/lib/consent.js +0 -232
- package/lib/content-sanitizer.js +0 -464
- package/lib/correlation.js +0 -277
- package/lib/drivers/claude-driver.ts +0 -312
- package/lib/drivers/codex-driver.ts +0 -464
- package/lib/drivers/driver-manager.ts +0 -159
- package/lib/drivers/gemini-driver.ts +0 -498
- package/lib/drivers/index.ts +0 -17
- package/lib/error-codes.js +0 -590
- package/lib/errors.js +0 -670
- package/lib/feature-flags.js +0 -171
- package/lib/feedback.js +0 -595
- package/lib/file-cache.js +0 -541
- package/lib/flag-detection.js +0 -344
- package/lib/format-error.js +0 -156
- package/lib/gate-runner.js +0 -282
- package/lib/generator-factory.js +0 -333
- package/lib/git-operations.js +0 -266
- package/lib/lazy-require.js +0 -59
- package/lib/lock-file.js +0 -144
- package/lib/logger.js +0 -106
- package/lib/merge-operations.js +0 -1006
- package/lib/path-resolver.js +0 -544
- package/lib/path-utils.js +0 -49
- package/lib/paths.js +0 -291
- package/lib/placeholder-registry.js +0 -822
- package/lib/process-executor.js +0 -214
- package/lib/progress.js +0 -334
- package/lib/protocol/driver.ts +0 -354
- package/lib/protocol/index.ts +0 -12
- package/lib/protocol/ir.ts +0 -271
- package/lib/registry-cache.js +0 -80
- package/lib/registry-di.js +0 -358
- package/lib/result-schema.js +0 -363
- package/lib/result.js +0 -210
- package/lib/session-display.js +0 -331
- package/lib/session-operations.js +0 -611
- package/lib/session-registry.js +0 -484
- package/lib/session-state-machine.js +0 -465
- package/lib/session-switching.js +0 -191
- package/lib/skill-loader.js +0 -213
- package/lib/smart-json-file.js +0 -682
- package/lib/state-machine.js +0 -286
- package/lib/table-formatter.js +0 -519
- package/lib/template-loader.js +0 -143
- package/lib/transient-status.js +0 -374
- package/lib/ui-manager.js +0 -612
- package/lib/validate-args.js +0 -213
- package/lib/validate-commands.js +0 -308
- package/lib/validate-names.js +0 -143
- package/lib/validate-paths.js +0 -434
- package/lib/validate.js +0 -134
- package/lib/worktree-operations.js +0 -201
- package/lib/yaml-utils.js +0 -164
- package/scripts/README.md +0 -267
- package/scripts/af +0 -34
- package/scripts/agent-loop.js +0 -879
- package/scripts/agileflow-configure.js +0 -368
- package/scripts/agileflow-statusline.sh +0 -857
- package/scripts/agileflow-welcome.js +0 -2246
- package/scripts/api-server-runner.js +0 -177
- package/scripts/archive-completed-stories.sh +0 -308
- package/scripts/auto-self-improve.js +0 -326
- package/scripts/automation-run-due.js +0 -128
- package/scripts/babysit-clear-restore.js +0 -154
- package/scripts/babysit-context-restore.js +0 -89
- package/scripts/backfill-ideation-status.js +0 -128
- package/scripts/batch-pmap-loop.js +0 -551
- package/scripts/check-sessions.js +0 -116
- package/scripts/check-update.js +0 -282
- package/scripts/ci-summary.js +0 -294
- package/scripts/claude-smart.sh +0 -85
- package/scripts/claude-tmux.sh +0 -737
- package/scripts/claude-watchdog.sh +0 -225
- package/scripts/clear-active-command.js +0 -48
- package/scripts/compress-status.sh +0 -116
- package/scripts/context-loader.js +0 -310
- package/scripts/damage-control/bash-tool-damage-control.js +0 -22
- package/scripts/damage-control/edit-tool-damage-control.js +0 -19
- package/scripts/damage-control/patterns.yaml +0 -227
- package/scripts/damage-control/write-tool-damage-control.js +0 -19
- package/scripts/damage-control-bash.js +0 -51
- package/scripts/damage-control-edit.js +0 -48
- package/scripts/damage-control-multi-agent.js +0 -231
- package/scripts/damage-control-write.js +0 -48
- package/scripts/dependency-check.js +0 -311
- package/scripts/document-repl.js +0 -793
- package/scripts/expertise-metrics.sh +0 -264
- package/scripts/generate-all.sh +0 -77
- package/scripts/generate-colors.js +0 -314
- package/scripts/generators/agent-registry.js +0 -183
- package/scripts/generators/command-registry.js +0 -166
- package/scripts/generators/index.js +0 -85
- package/scripts/generators/inject-babysit.js +0 -191
- package/scripts/generators/inject-help.js +0 -125
- package/scripts/generators/inject-readme.js +0 -166
- package/scripts/generators/skill-registry.js +0 -188
- package/scripts/get-env.js +0 -225
- package/scripts/init.sh +0 -76
- package/scripts/lib/README-portable-tasks.md +0 -424
- package/scripts/lib/ac-test-matcher.js +0 -452
- package/scripts/lib/audit-cleanup.js +0 -250
- package/scripts/lib/audit-registry.js +0 -340
- package/scripts/lib/automation-registry.js +0 -544
- package/scripts/lib/automation-runner.js +0 -476
- package/scripts/lib/browser-qa-evidence.js +0 -409
- package/scripts/lib/browser-qa-status.js +0 -192
- package/scripts/lib/bus-utils.js +0 -473
- package/scripts/lib/colors.generated.sh +0 -82
- package/scripts/lib/colors.sh +0 -46
- package/scripts/lib/command-prereqs.js +0 -280
- package/scripts/lib/concurrency-limiter.js +0 -511
- package/scripts/lib/configure-detect.js +0 -596
- package/scripts/lib/configure-features.js +0 -1927
- package/scripts/lib/configure-repair.js +0 -327
- package/scripts/lib/configure-utils.js +0 -114
- package/scripts/lib/context-formatter.js +0 -1158
- package/scripts/lib/context-loader.js +0 -840
- package/scripts/lib/counter.js +0 -103
- package/scripts/lib/damage-control-utils.js +0 -619
- package/scripts/lib/feature-catalog.js +0 -332
- package/scripts/lib/file-lock.js +0 -392
- package/scripts/lib/file-tracking.js +0 -735
- package/scripts/lib/frontmatter-parser.js +0 -133
- package/scripts/lib/gate-enforcer.js +0 -295
- package/scripts/lib/hook-metrics.js +0 -324
- package/scripts/lib/ideation-index.js +0 -1205
- package/scripts/lib/json-utils.sh +0 -162
- package/scripts/lib/lifecycle-detector.js +0 -125
- package/scripts/lib/model-profiles.js +0 -118
- package/scripts/lib/portable-tasks-cli.js +0 -274
- package/scripts/lib/portable-tasks.js +0 -479
- package/scripts/lib/process-cleanup.js +0 -527
- package/scripts/lib/quality-gates.js +0 -788
- package/scripts/lib/scale-detector.js +0 -396
- package/scripts/lib/sessionRegistry.js +0 -678
- package/scripts/lib/signal-detectors.js +0 -867
- package/scripts/lib/skill-catalog.js +0 -557
- package/scripts/lib/skill-recommender.js +0 -311
- package/scripts/lib/state-migrator.js +0 -353
- package/scripts/lib/status-task-bridge.js +0 -522
- package/scripts/lib/status-writer.js +0 -255
- package/scripts/lib/story-claiming.js +0 -704
- package/scripts/lib/story-state-machine.js +0 -437
- package/scripts/lib/sync-ideation-status.js +0 -291
- package/scripts/lib/task-registry-cache.js +0 -490
- package/scripts/lib/task-registry.js +0 -1191
- package/scripts/lib/task-sync.js +0 -230
- package/scripts/lib/tdd-phase-manager.js +0 -455
- package/scripts/lib/team-events.js +0 -510
- package/scripts/lib/tmux-audit-monitor.js +0 -612
- package/scripts/lib/tmux-group-colors.js +0 -113
- package/scripts/lib/tool-registry.yaml +0 -241
- package/scripts/lib/tool-shed.js +0 -441
- package/scripts/lib/validation-registry.js +0 -177
- package/scripts/messaging-bridge.js +0 -561
- package/scripts/migrate-ideation-index.js +0 -553
- package/scripts/native-team-observer.js +0 -219
- package/scripts/obtain-context.js +0 -272
- package/scripts/pre-push-check.sh +0 -46
- package/scripts/precompact-context.sh +0 -306
- package/scripts/query-codebase.js +0 -543
- package/scripts/ralph-loop.js +0 -1278
- package/scripts/resume-session.sh +0 -121
- package/scripts/screenshot-verifier.js +0 -215
- package/scripts/session-boundary.js +0 -138
- package/scripts/session-coordinator.sh +0 -232
- package/scripts/session-manager.js +0 -546
- package/scripts/smart-detect.js +0 -449
- package/scripts/spawn-audit-sessions.js +0 -877
- package/scripts/spawn-parallel.js +0 -751
- package/scripts/strip-ai-attribution.js +0 -63
- package/scripts/task-completed-gate.js +0 -237
- package/scripts/team-manager.js +0 -596
- package/scripts/team-status-display.js +0 -200
- package/scripts/teammate-idle-gate.js +0 -237
- package/scripts/test-session-boundary.js +0 -80
- package/scripts/tmux-close-windows.sh +0 -180
- package/scripts/tmux-restore-window.sh +0 -67
- package/scripts/tmux-save-closed-window.sh +0 -35
- package/scripts/tui/App.js +0 -151
- package/scripts/tui/Dashboard.js +0 -277
- package/scripts/tui/blessed/data/watcher.js +0 -180
- package/scripts/tui/blessed/index.js +0 -244
- package/scripts/tui/blessed/panels/output.js +0 -101
- package/scripts/tui/blessed/panels/sessions.js +0 -150
- package/scripts/tui/blessed/panels/trace.js +0 -97
- package/scripts/tui/blessed/ui/help.js +0 -77
- package/scripts/tui/blessed/ui/screen.js +0 -52
- package/scripts/tui/blessed/ui/statusbar.js +0 -47
- package/scripts/tui/blessed/ui/tabbar.js +0 -99
- package/scripts/tui/index.js +0 -70
- package/scripts/tui/lib/crashRecovery.js +0 -304
- package/scripts/tui/lib/eventStream.js +0 -309
- package/scripts/tui/lib/keyboard.js +0 -261
- package/scripts/tui/lib/loopControl.js +0 -371
- package/scripts/tui/panels/OutputPanel.js +0 -240
- package/scripts/tui/panels/SessionPanel.js +0 -170
- package/scripts/tui/panels/TracePanel.js +0 -298
- package/scripts/tui/simple-tui.js +0 -510
- package/scripts/validate-expertise.sh +0 -263
- package/scripts/validate-tokens.sh +0 -73
- package/scripts/validators/README.md +0 -143
- package/scripts/validators/component-validator.js +0 -239
- package/scripts/validators/json-schema-validator.js +0 -186
- package/scripts/validators/markdown-validator.js +0 -152
- package/scripts/validators/migration-validator.js +0 -129
- package/scripts/validators/security-validator.js +0 -380
- package/scripts/validators/story-format-validator.js +0 -197
- package/scripts/validators/test-result-validator.js +0 -114
- package/scripts/validators/workflow-validator.js +0 -247
- package/scripts/welcome-deferred.js +0 -437
- package/scripts/worktree-create.sh +0 -111
- package/src/core/agents/a11y-analyzer-aria.md +0 -155
- package/src/core/agents/a11y-analyzer-forms.md +0 -162
- package/src/core/agents/a11y-analyzer-keyboard.md +0 -175
- package/src/core/agents/a11y-analyzer-semantic.md +0 -153
- package/src/core/agents/a11y-analyzer-visual.md +0 -158
- package/src/core/agents/a11y-consensus.md +0 -248
- package/src/core/agents/accessibility.md +0 -515
- package/src/core/agents/adr-writer.md +0 -463
- package/src/core/agents/ads-audit-budget.md +0 -181
- package/src/core/agents/ads-audit-compliance.md +0 -169
- package/src/core/agents/ads-audit-creative.md +0 -164
- package/src/core/agents/ads-audit-google.md +0 -226
- package/src/core/agents/ads-audit-meta.md +0 -183
- package/src/core/agents/ads-audit-tracking.md +0 -197
- package/src/core/agents/ads-consensus.md +0 -396
- package/src/core/agents/ads-generate.md +0 -145
- package/src/core/agents/ads-performance-tracker.md +0 -197
- package/src/core/agents/analytics.md +0 -617
- package/src/core/agents/api-quality-analyzer-conventions.md +0 -148
- package/src/core/agents/api-quality-analyzer-docs.md +0 -176
- package/src/core/agents/api-quality-analyzer-errors.md +0 -183
- package/src/core/agents/api-quality-analyzer-pagination.md +0 -171
- package/src/core/agents/api-quality-analyzer-versioning.md +0 -143
- package/src/core/agents/api-quality-consensus.md +0 -214
- package/src/core/agents/api-validator.md +0 -183
- package/src/core/agents/api.md +0 -665
- package/src/core/agents/arch-analyzer-circular.md +0 -148
- package/src/core/agents/arch-analyzer-complexity.md +0 -171
- package/src/core/agents/arch-analyzer-coupling.md +0 -146
- package/src/core/agents/arch-analyzer-layering.md +0 -151
- package/src/core/agents/arch-analyzer-patterns.md +0 -162
- package/src/core/agents/arch-consensus.md +0 -227
- package/src/core/agents/brainstorm-analyzer-features.md +0 -169
- package/src/core/agents/brainstorm-analyzer-growth.md +0 -161
- package/src/core/agents/brainstorm-analyzer-integration.md +0 -172
- package/src/core/agents/brainstorm-analyzer-market.md +0 -147
- package/src/core/agents/brainstorm-analyzer-ux.md +0 -167
- package/src/core/agents/brainstorm-consensus.md +0 -237
- package/src/core/agents/browser-qa.md +0 -328
- package/src/core/agents/ci.md +0 -511
- package/src/core/agents/code-reviewer.md +0 -288
- package/src/core/agents/codebase-query.md +0 -266
- package/src/core/agents/completeness-analyzer-api.md +0 -190
- package/src/core/agents/completeness-analyzer-conditional.md +0 -201
- package/src/core/agents/completeness-analyzer-handlers.md +0 -159
- package/src/core/agents/completeness-analyzer-imports.md +0 -159
- package/src/core/agents/completeness-analyzer-routes.md +0 -182
- package/src/core/agents/completeness-analyzer-state.md +0 -188
- package/src/core/agents/completeness-analyzer-stubs.md +0 -198
- package/src/core/agents/completeness-consensus.md +0 -286
- package/src/core/agents/compliance.md +0 -509
- package/src/core/agents/council-advocate.md +0 -206
- package/src/core/agents/council-analyst.md +0 -252
- package/src/core/agents/council-optimist.md +0 -170
- package/src/core/agents/database.md +0 -601
- package/src/core/agents/datamigration.md +0 -699
- package/src/core/agents/design.md +0 -525
- package/src/core/agents/devops.md +0 -720
- package/src/core/agents/documentation.md +0 -504
- package/src/core/agents/epic-planner.md +0 -480
- package/src/core/agents/error-analyzer.md +0 -201
- package/src/core/agents/integrations.md +0 -603
- package/src/core/agents/legal-analyzer-a11y.md +0 -110
- package/src/core/agents/legal-analyzer-ai.md +0 -117
- package/src/core/agents/legal-analyzer-consumer.md +0 -108
- package/src/core/agents/legal-analyzer-content.md +0 -113
- package/src/core/agents/legal-analyzer-international.md +0 -115
- package/src/core/agents/legal-analyzer-licensing.md +0 -115
- package/src/core/agents/legal-analyzer-privacy.md +0 -108
- package/src/core/agents/legal-analyzer-security.md +0 -112
- package/src/core/agents/legal-analyzer-terms.md +0 -111
- package/src/core/agents/legal-consensus.md +0 -242
- package/src/core/agents/logic-analyzer-edge.md +0 -170
- package/src/core/agents/logic-analyzer-flow.md +0 -253
- package/src/core/agents/logic-analyzer-invariant.md +0 -206
- package/src/core/agents/logic-analyzer-race.md +0 -266
- package/src/core/agents/logic-analyzer-type.md +0 -217
- package/src/core/agents/logic-consensus.md +0 -253
- package/src/core/agents/mentor.md +0 -654
- package/src/core/agents/mobile.md +0 -501
- package/src/core/agents/monitoring.md +0 -537
- package/src/core/agents/multi-expert.md +0 -311
- package/src/core/agents/orchestrator.md +0 -749
- package/src/core/agents/perf-analyzer-assets.md +0 -174
- package/src/core/agents/perf-analyzer-bundle.md +0 -165
- package/src/core/agents/perf-analyzer-caching.md +0 -160
- package/src/core/agents/perf-analyzer-compute.md +0 -165
- package/src/core/agents/perf-analyzer-memory.md +0 -182
- package/src/core/agents/perf-analyzer-network.md +0 -157
- package/src/core/agents/perf-analyzer-queries.md +0 -155
- package/src/core/agents/perf-analyzer-rendering.md +0 -156
- package/src/core/agents/perf-consensus.md +0 -280
- package/src/core/agents/performance.md +0 -492
- package/src/core/agents/product.md +0 -535
- package/src/core/agents/qa.md +0 -765
- package/src/core/agents/readme-updater.md +0 -579
- package/src/core/agents/refactor.md +0 -558
- package/src/core/agents/research.md +0 -453
- package/src/core/agents/rlm-subcore.md +0 -207
- package/src/core/agents/schema-validator.md +0 -454
- package/src/core/agents/security-analyzer-api.md +0 -199
- package/src/core/agents/security-analyzer-auth.md +0 -160
- package/src/core/agents/security-analyzer-authz.md +0 -168
- package/src/core/agents/security-analyzer-deps.md +0 -147
- package/src/core/agents/security-analyzer-infra.md +0 -176
- package/src/core/agents/security-analyzer-injection.md +0 -148
- package/src/core/agents/security-analyzer-input.md +0 -191
- package/src/core/agents/security-analyzer-secrets.md +0 -175
- package/src/core/agents/security-consensus.md +0 -276
- package/src/core/agents/security.md +0 -486
- package/src/core/agents/seo-analyzer-content.md +0 -167
- package/src/core/agents/seo-analyzer-images.md +0 -187
- package/src/core/agents/seo-analyzer-performance.md +0 -206
- package/src/core/agents/seo-analyzer-schema.md +0 -176
- package/src/core/agents/seo-analyzer-sitemap.md +0 -172
- package/src/core/agents/seo-analyzer-technical.md +0 -144
- package/src/core/agents/seo-consensus.md +0 -289
- package/src/core/agents/team-coordinator.md +0 -333
- package/src/core/agents/team-lead.md +0 -171
- package/src/core/agents/test-analyzer-assertions.md +0 -181
- package/src/core/agents/test-analyzer-coverage.md +0 -183
- package/src/core/agents/test-analyzer-fragility.md +0 -185
- package/src/core/agents/test-analyzer-integration.md +0 -155
- package/src/core/agents/test-analyzer-maintenance.md +0 -173
- package/src/core/agents/test-analyzer-mocking.md +0 -178
- package/src/core/agents/test-analyzer-patterns.md +0 -189
- package/src/core/agents/test-analyzer-structure.md +0 -177
- package/src/core/agents/test-consensus.md +0 -294
- package/src/core/agents/testing.md +0 -527
- package/src/core/agents/ui-validator.md +0 -331
- package/src/core/agents/ui.md +0 -1227
- package/src/core/commands/adr/list.md +0 -191
- package/src/core/commands/adr/update.md +0 -258
- package/src/core/commands/adr/view.md +0 -274
- package/src/core/commands/adr.md +0 -394
- package/src/core/commands/ads/audit.md +0 -453
- package/src/core/commands/ads/budget.md +0 -97
- package/src/core/commands/ads/competitor.md +0 -112
- package/src/core/commands/ads/creative.md +0 -85
- package/src/core/commands/ads/generate.md +0 -238
- package/src/core/commands/ads/google.md +0 -112
- package/src/core/commands/ads/health.md +0 -327
- package/src/core/commands/ads/landing.md +0 -119
- package/src/core/commands/ads/linkedin.md +0 -112
- package/src/core/commands/ads/meta.md +0 -91
- package/src/core/commands/ads/microsoft.md +0 -115
- package/src/core/commands/ads/plan.md +0 -321
- package/src/core/commands/ads/test-plan.md +0 -317
- package/src/core/commands/ads/tiktok.md +0 -129
- package/src/core/commands/ads/track.md +0 -288
- package/src/core/commands/ads/youtube.md +0 -124
- package/src/core/commands/ads.md +0 -140
- package/src/core/commands/agent.md +0 -256
- package/src/core/commands/api.md +0 -267
- package/src/core/commands/assign.md +0 -369
- package/src/core/commands/audit.md +0 -531
- package/src/core/commands/auto.md +0 -556
- package/src/core/commands/automate.md +0 -415
- package/src/core/commands/babysit.md +0 -643
- package/src/core/commands/baseline.md +0 -743
- package/src/core/commands/batch.md +0 -551
- package/src/core/commands/blockers.md +0 -602
- package/src/core/commands/board.md +0 -509
- package/src/core/commands/browser-qa.md +0 -240
- package/src/core/commands/changelog.md +0 -582
- package/src/core/commands/choose.md +0 -430
- package/src/core/commands/ci.md +0 -330
- package/src/core/commands/code/accessibility.md +0 -363
- package/src/core/commands/code/api.md +0 -313
- package/src/core/commands/code/architecture.md +0 -313
- package/src/core/commands/code/completeness.md +0 -519
- package/src/core/commands/code/legal.md +0 -509
- package/src/core/commands/code/logic.md +0 -432
- package/src/core/commands/code/performance.md +0 -506
- package/src/core/commands/code/security.md +0 -509
- package/src/core/commands/code/test.md +0 -505
- package/src/core/commands/compress.md +0 -408
- package/src/core/commands/configure.md +0 -1159
- package/src/core/commands/context/export.md +0 -296
- package/src/core/commands/context/full.md +0 -353
- package/src/core/commands/context/note.md +0 -380
- package/src/core/commands/council.md +0 -592
- package/src/core/commands/debt.md +0 -491
- package/src/core/commands/deploy.md +0 -864
- package/src/core/commands/deps.md +0 -728
- package/src/core/commands/diagnose.md +0 -404
- package/src/core/commands/docs.md +0 -469
- package/src/core/commands/epic/edit.md +0 -213
- package/src/core/commands/epic/list.md +0 -190
- package/src/core/commands/epic/view.md +0 -267
- package/src/core/commands/epic.md +0 -477
- package/src/core/commands/export.md +0 -238
- package/src/core/commands/feedback.md +0 -603
- package/src/core/commands/handoff.md +0 -386
- package/src/core/commands/help.md +0 -194
- package/src/core/commands/ideate/brief.md +0 -363
- package/src/core/commands/ideate/discover.md +0 -399
- package/src/core/commands/ideate/features.md +0 -497
- package/src/core/commands/ideate/history.md +0 -403
- package/src/core/commands/ideate/new.md +0 -900
- package/src/core/commands/impact.md +0 -407
- package/src/core/commands/install.md +0 -529
- package/src/core/commands/learn/explain.md +0 -118
- package/src/core/commands/learn/glossary.md +0 -135
- package/src/core/commands/learn/patterns.md +0 -138
- package/src/core/commands/learn/tour.md +0 -126
- package/src/core/commands/maintain.md +0 -558
- package/src/core/commands/metrics.md +0 -844
- package/src/core/commands/migrate/codemods.md +0 -151
- package/src/core/commands/migrate/plan.md +0 -131
- package/src/core/commands/migrate/scan.md +0 -114
- package/src/core/commands/migrate/validate.md +0 -119
- package/src/core/commands/multi-expert.md +0 -447
- package/src/core/commands/packages.md +0 -535
- package/src/core/commands/pr.md +0 -337
- package/src/core/commands/readme-sync.md +0 -329
- package/src/core/commands/research/analyze.md +0 -798
- package/src/core/commands/research/ask.md +0 -864
- package/src/core/commands/research/import.md +0 -1025
- package/src/core/commands/research/list.md +0 -273
- package/src/core/commands/research/synthesize.md +0 -928
- package/src/core/commands/research/view.md +0 -323
- package/src/core/commands/retro.md +0 -795
- package/src/core/commands/review.md +0 -694
- package/src/core/commands/rlm.md +0 -446
- package/src/core/commands/roadmap/analyze.md +0 -400
- package/src/core/commands/rpi.md +0 -633
- package/src/core/commands/seo/audit.md +0 -444
- package/src/core/commands/seo/competitor.md +0 -174
- package/src/core/commands/seo/content.md +0 -107
- package/src/core/commands/seo/geo.md +0 -229
- package/src/core/commands/seo/hreflang.md +0 -140
- package/src/core/commands/seo/images.md +0 -96
- package/src/core/commands/seo/page.md +0 -198
- package/src/core/commands/seo/plan.md +0 -163
- package/src/core/commands/seo/programmatic.md +0 -131
- package/src/core/commands/seo/references/cwv-thresholds.md +0 -64
- package/src/core/commands/seo/references/eeat-framework.md +0 -110
- package/src/core/commands/seo/references/quality-gates.md +0 -91
- package/src/core/commands/seo/references/schema-types.md +0 -102
- package/src/core/commands/seo/schema.md +0 -183
- package/src/core/commands/seo/sitemap.md +0 -97
- package/src/core/commands/seo/technical.md +0 -100
- package/src/core/commands/seo.md +0 -107
- package/src/core/commands/session/cleanup.md +0 -452
- package/src/core/commands/session/end.md +0 -865
- package/src/core/commands/session/history.md +0 -293
- package/src/core/commands/session/init.md +0 -210
- package/src/core/commands/session/new.md +0 -827
- package/src/core/commands/session/resume.md +0 -291
- package/src/core/commands/session/spawn.md +0 -205
- package/src/core/commands/session/status.md +0 -274
- package/src/core/commands/skill/list.md +0 -139
- package/src/core/commands/skill/recommend.md +0 -216
- package/src/core/commands/sprint.md +0 -714
- package/src/core/commands/status/undo.md +0 -191
- package/src/core/commands/status.md +0 -423
- package/src/core/commands/story/edit.md +0 -204
- package/src/core/commands/story/list.md +0 -199
- package/src/core/commands/story/view.md +0 -312
- package/src/core/commands/story-validate.md +0 -491
- package/src/core/commands/story.md +0 -465
- package/src/core/commands/tdd-next.md +0 -238
- package/src/core/commands/tdd.md +0 -211
- package/src/core/commands/team/guide.md +0 -688
- package/src/core/commands/team/list.md +0 -59
- package/src/core/commands/team/start.md +0 -130
- package/src/core/commands/team/status.md +0 -66
- package/src/core/commands/team/stop.md +0 -78
- package/src/core/commands/template.md +0 -644
- package/src/core/commands/tests.md +0 -731
- package/src/core/commands/update.md +0 -591
- package/src/core/commands/validate-expertise.md +0 -305
- package/src/core/commands/velocity.md +0 -630
- package/src/core/commands/verify.md +0 -534
- package/src/core/commands/whats-new.md +0 -201
- package/src/core/commands/workflow.md +0 -449
- package/src/core/council/sessions/.gitkeep +0 -0
- package/src/core/council/shared_reasoning.template.md +0 -106
- package/src/core/experts/README.md +0 -236
- package/src/core/experts/_core-expertise.yaml +0 -105
- package/src/core/experts/accessibility/expertise.yaml +0 -115
- package/src/core/experts/accessibility/question.md +0 -41
- package/src/core/experts/accessibility/self-improve.md +0 -45
- package/src/core/experts/accessibility/workflow.md +0 -59
- package/src/core/experts/adr-writer/expertise.yaml +0 -138
- package/src/core/experts/adr-writer/question.md +0 -56
- package/src/core/experts/adr-writer/self-improve.md +0 -106
- package/src/core/experts/adr-writer/workflow.md +0 -184
- package/src/core/experts/analytics/expertise.yaml +0 -119
- package/src/core/experts/analytics/question.md +0 -74
- package/src/core/experts/analytics/self-improve.md +0 -163
- package/src/core/experts/analytics/workflow.md +0 -272
- package/src/core/experts/api/expertise.yaml +0 -124
- package/src/core/experts/api/question.md +0 -74
- package/src/core/experts/api/self-improve.md +0 -122
- package/src/core/experts/api/workflow.md +0 -248
- package/src/core/experts/ci/expertise.yaml +0 -106
- package/src/core/experts/ci/question.md +0 -69
- package/src/core/experts/ci/self-improve.md +0 -100
- package/src/core/experts/ci/workflow.md +0 -145
- package/src/core/experts/codebase-query/expertise.yaml +0 -121
- package/src/core/experts/codebase-query/question.md +0 -73
- package/src/core/experts/codebase-query/self-improve.md +0 -105
- package/src/core/experts/compliance/expertise.yaml +0 -101
- package/src/core/experts/compliance/question.md +0 -56
- package/src/core/experts/compliance/self-improve.md +0 -106
- package/src/core/experts/compliance/workflow.md +0 -184
- package/src/core/experts/database/expertise.yaml +0 -109
- package/src/core/experts/database/question.md +0 -74
- package/src/core/experts/database/self-improve.md +0 -121
- package/src/core/experts/database/workflow.md +0 -234
- package/src/core/experts/datamigration/expertise.yaml +0 -141
- package/src/core/experts/datamigration/question.md +0 -56
- package/src/core/experts/datamigration/self-improve.md +0 -106
- package/src/core/experts/datamigration/workflow.md +0 -184
- package/src/core/experts/design/expertise.yaml +0 -116
- package/src/core/experts/design/question.md +0 -56
- package/src/core/experts/design/self-improve.md +0 -106
- package/src/core/experts/design/workflow.md +0 -184
- package/src/core/experts/devops/expertise.yaml +0 -116
- package/src/core/experts/devops/question.md +0 -68
- package/src/core/experts/devops/self-improve.md +0 -102
- package/src/core/experts/devops/workflow.md +0 -142
- package/src/core/experts/documentation/expertise.yaml +0 -126
- package/src/core/experts/documentation/question.md +0 -41
- package/src/core/experts/documentation/self-improve.md +0 -45
- package/src/core/experts/documentation/workflow.md +0 -55
- package/src/core/experts/epic-planner/expertise.yaml +0 -144
- package/src/core/experts/epic-planner/question.md +0 -56
- package/src/core/experts/epic-planner/self-improve.md +0 -106
- package/src/core/experts/epic-planner/workflow.md +0 -184
- package/src/core/experts/integrations/expertise.yaml +0 -113
- package/src/core/experts/integrations/question.md +0 -74
- package/src/core/experts/integrations/self-improve.md +0 -151
- package/src/core/experts/integrations/workflow.md +0 -246
- package/src/core/experts/mentor/expertise.yaml +0 -125
- package/src/core/experts/mentor/question.md +0 -56
- package/src/core/experts/mentor/self-improve.md +0 -106
- package/src/core/experts/mentor/workflow.md +0 -184
- package/src/core/experts/mobile/expertise.yaml +0 -136
- package/src/core/experts/mobile/question.md +0 -72
- package/src/core/experts/mobile/self-improve.md +0 -140
- package/src/core/experts/mobile/workflow.md +0 -240
- package/src/core/experts/monitoring/expertise.yaml +0 -132
- package/src/core/experts/monitoring/question.md +0 -76
- package/src/core/experts/monitoring/self-improve.md +0 -150
- package/src/core/experts/monitoring/workflow.md +0 -264
- package/src/core/experts/performance/expertise.yaml +0 -68
- package/src/core/experts/performance/question.md +0 -41
- package/src/core/experts/performance/self-improve.md +0 -45
- package/src/core/experts/performance/workflow.md +0 -61
- package/src/core/experts/product/expertise.yaml +0 -143
- package/src/core/experts/product/question.md +0 -56
- package/src/core/experts/product/self-improve.md +0 -106
- package/src/core/experts/product/workflow.md +0 -184
- package/src/core/experts/qa/expertise.yaml +0 -110
- package/src/core/experts/qa/question.md +0 -56
- package/src/core/experts/qa/self-improve.md +0 -106
- package/src/core/experts/qa/workflow.md +0 -184
- package/src/core/experts/readme-updater/expertise.yaml +0 -141
- package/src/core/experts/readme-updater/question.md +0 -56
- package/src/core/experts/readme-updater/self-improve.md +0 -106
- package/src/core/experts/readme-updater/workflow.md +0 -184
- package/src/core/experts/refactor/expertise.yaml +0 -135
- package/src/core/experts/refactor/question.md +0 -41
- package/src/core/experts/refactor/self-improve.md +0 -45
- package/src/core/experts/refactor/workflow.md +0 -57
- package/src/core/experts/research/expertise.yaml +0 -143
- package/src/core/experts/research/question.md +0 -56
- package/src/core/experts/research/self-improve.md +0 -106
- package/src/core/experts/research/workflow.md +0 -184
- package/src/core/experts/security/expertise.yaml +0 -117
- package/src/core/experts/security/question.md +0 -77
- package/src/core/experts/security/self-improve.md +0 -102
- package/src/core/experts/security/workflow.md +0 -152
- package/src/core/experts/templates/expertise-template.yaml +0 -67
- package/src/core/experts/templates/question-template.md +0 -56
- package/src/core/experts/templates/self-improve-template.md +0 -106
- package/src/core/experts/templates/workflow-template.md +0 -184
- package/src/core/experts/testing/expertise.yaml +0 -112
- package/src/core/experts/testing/question.md +0 -68
- package/src/core/experts/testing/self-improve.md +0 -102
- package/src/core/experts/testing/workflow.md +0 -143
- package/src/core/experts/ui/expertise.yaml +0 -133
- package/src/core/experts/ui/question.md +0 -74
- package/src/core/experts/ui/self-improve.md +0 -122
- package/src/core/experts/ui/workflow.md +0 -262
- package/src/core/knowledge/ads/ad-audit-checklist-scoring.md +0 -424
- package/src/core/knowledge/ads/ad-optimization-logic.md +0 -590
- package/src/core/knowledge/ads/ad-technical-specifications.md +0 -385
- package/src/core/knowledge/ads/definitive-advertising-reference-2026.md +0 -506
- package/src/core/knowledge/ads/paid-advertising-research-2026.md +0 -445
- package/src/core/profiles/COMPARISON.md +0 -170
- package/src/core/profiles/README.md +0 -178
- package/src/core/profiles/claude-code.yaml +0 -111
- package/src/core/profiles/codex.yaml +0 -103
- package/src/core/profiles/cursor.yaml +0 -134
- package/src/core/profiles/examples.js +0 -250
- package/src/core/profiles/loader.js +0 -235
- package/src/core/profiles/windsurf.yaml +0 -159
- package/src/core/skills/_learnings/README.md +0 -91
- package/src/core/skills/_learnings/_template.yaml +0 -106
- package/src/core/skills/_learnings/code-review.yaml +0 -118
- package/src/core/skills/_learnings/commit.yaml +0 -69
- package/src/core/skills/_learnings/story-writer.yaml +0 -71
- package/src/core/teams/backend.json +0 -41
- package/src/core/teams/builder-validator.json +0 -51
- package/src/core/teams/code-review.json +0 -41
- package/src/core/teams/frontend.json +0 -41
- package/src/core/teams/fullstack.json +0 -41
- package/src/core/teams/logic-audit.json +0 -53
- package/src/core/teams/perf-audit.json +0 -71
- package/src/core/teams/qa.json +0 -41
- package/src/core/teams/security-audit.json +0 -71
- package/src/core/teams/solo.json +0 -35
- package/src/core/teams/test-audit.json +0 -71
- package/src/core/templates/CONTEXT.md.example +0 -49
- package/src/core/templates/README-template.md +0 -16
- package/src/core/templates/adr-template.md +0 -28
- package/src/core/templates/agent-coordination-pattern.md +0 -38
- package/src/core/templates/agent-profile-template.md +0 -51
- package/src/core/templates/agileflow-metadata.json +0 -150
- package/src/core/templates/browser-qa-spec.yaml +0 -94
- package/src/core/templates/ci-workflow.yml +0 -74
- package/src/core/templates/claude-settings.advanced.example.json +0 -75
- package/src/core/templates/claude-settings.example.json +0 -26
- package/src/core/templates/command-documentation.md +0 -187
- package/src/core/templates/command-prerequisites.yaml +0 -169
- package/src/core/templates/comms-note-template.md +0 -24
- package/src/core/templates/damage-control-patterns.yaml +0 -243
- package/src/core/templates/environment.json +0 -18
- package/src/core/templates/epic-template.md +0 -27
- package/src/core/templates/plan-template.md +0 -125
- package/src/core/templates/preserve-rules-common.md +0 -107
- package/src/core/templates/preserve-rules.json +0 -42
- package/src/core/templates/proactive-action-spec.md +0 -29
- package/src/core/templates/product-brief.md +0 -136
- package/src/core/templates/quality-gate-priorities.md +0 -34
- package/src/core/templates/research-template.md +0 -44
- package/src/core/templates/session-harness-protocol.md +0 -128
- package/src/core/templates/session-state.json +0 -56
- package/src/core/templates/story-lifecycle.md +0 -213
- package/src/core/templates/story-template.md +0 -92
- package/src/core/templates/tdd-test-template.js +0 -241
- package/src/core/templates/worktrees-guide.md +0 -231
- package/tools/agileflow-npx.js +0 -52
- package/tools/cli/agileflow-cli.js +0 -72
- package/tools/cli/commands/config.js +0 -285
- package/tools/cli/commands/doctor.js +0 -496
- package/tools/cli/commands/list.js +0 -385
- package/tools/cli/commands/session.js +0 -1176
- package/tools/cli/commands/setup.js +0 -255
- package/tools/cli/commands/status.js +0 -101
- package/tools/cli/commands/tui.js +0 -56
- package/tools/cli/commands/uninstall.js +0 -155
- package/tools/cli/commands/update.js +0 -299
- package/tools/cli/installers/core/installer.js +0 -892
- package/tools/cli/installers/ide/_base-ide.js +0 -518
- package/tools/cli/installers/ide/_interface.js +0 -238
- package/tools/cli/installers/ide/claude-code.js +0 -432
- package/tools/cli/installers/ide/codex.js +0 -426
- package/tools/cli/installers/ide/cursor.js +0 -217
- package/tools/cli/installers/ide/manager.js +0 -222
- package/tools/cli/installers/ide/windsurf.js +0 -282
- package/tools/cli/lib/command-context.js +0 -382
- package/tools/cli/lib/config-manager.js +0 -446
- package/tools/cli/lib/content-injector.js +0 -969
- package/tools/cli/lib/content-transformer.js +0 -496
- package/tools/cli/lib/docs-setup.js +0 -464
- package/tools/cli/lib/error-handler.js +0 -165
- package/tools/cli/lib/ide-error-factory.js +0 -421
- package/tools/cli/lib/ide-errors.js +0 -367
- package/tools/cli/lib/ide-generator.js +0 -357
- package/tools/cli/lib/ide-health-monitor.js +0 -364
- package/tools/cli/lib/ide-registry.js +0 -297
- package/tools/cli/lib/npm-utils.js +0 -103
- package/tools/cli/lib/self-update.js +0 -148
- package/tools/cli/lib/ui.js +0 -211
- package/tools/cli/lib/utils.js +0 -87
- package/tools/cli/lib/validation-middleware.js +0 -491
- package/tools/cli/lib/version-checker.js +0 -95
- package/tools/postinstall.js +0 -190
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: logic-analyzer-type
|
|
3
|
-
description: Type safety analyzer for implicit coercion bugs, null propagation, undefined behavior, and type confusion
|
|
4
|
-
tools: Read, Glob, Grep
|
|
5
|
-
model: haiku
|
|
6
|
-
team_role: utility
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
# Logic Analyzer: Type Safety
|
|
11
|
-
|
|
12
|
-
You are a specialized logic analyzer focused on **type-related logic bugs**. Your job is to find bugs caused by implicit type coercion, null/undefined propagation, and type confusion in dynamically-typed code.
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Your Focus Areas
|
|
17
|
-
|
|
18
|
-
1. **Implicit coercion**: `==` vs `===`, string/number mixing
|
|
19
|
-
2. **Null propagation**: Null passed through without handling
|
|
20
|
-
3. **Undefined access**: Accessing properties of undefined
|
|
21
|
-
4. **Type confusion**: Arrays vs objects, strings vs numbers
|
|
22
|
-
5. **Truthiness bugs**: Falsy values (`0`, `""`, `false`, `null`, `undefined`)
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
## Analysis Process
|
|
27
|
-
|
|
28
|
-
### Step 1: Read the Target Code
|
|
29
|
-
|
|
30
|
-
Focus on:
|
|
31
|
-
- Equality comparisons (`==`, `===`)
|
|
32
|
-
- Arithmetic operations with potentially mixed types
|
|
33
|
-
- Property access chains
|
|
34
|
-
- Function parameters without type validation
|
|
35
|
-
|
|
36
|
-
### Step 2: Look for These Patterns
|
|
37
|
-
|
|
38
|
-
**Pattern 1: Loose equality surprises**
|
|
39
|
-
```javascript
|
|
40
|
-
// BUG: "0" == 0 is true, "" == 0 is true, null == undefined is true
|
|
41
|
-
if (value == 0) { // What if value is "0" or ""?
|
|
42
|
-
handleZero();
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// BUG: Comparing different types
|
|
46
|
-
if (userId == id) { // userId might be string "123", id might be number 123
|
|
47
|
-
// This works, but can cause subtle bugs elsewhere
|
|
48
|
-
}
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
**Pattern 2: String/number confusion**
|
|
52
|
-
```javascript
|
|
53
|
-
// BUG: "10" + 5 = "105", but "10" - 5 = 5
|
|
54
|
-
const total = quantity + price; // If quantity is string, result is wrong
|
|
55
|
-
// "5" + 10 = "510" instead of 15
|
|
56
|
-
|
|
57
|
-
// BUG: parseInt without radix
|
|
58
|
-
const num = parseInt(userInput); // "08" becomes 0 in old JS (octal)
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
**Pattern 3: Null propagation**
|
|
62
|
-
```javascript
|
|
63
|
-
// BUG: user might be null, user.profile might be null
|
|
64
|
-
function getEmail(user) {
|
|
65
|
-
return user.profile.email; // Throws if user or profile is null
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
// BUG: API might return null instead of expected object
|
|
69
|
-
const data = await fetchData();
|
|
70
|
-
console.log(data.items.length); // Throws if data is null
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
**Pattern 4: Array type confusion**
|
|
74
|
-
```javascript
|
|
75
|
-
// BUG: API might return object instead of array
|
|
76
|
-
const items = response.data; // Assumes array
|
|
77
|
-
items.forEach(item => process(item)); // Throws if items is object
|
|
78
|
-
|
|
79
|
-
// BUG: Array methods return different types
|
|
80
|
-
const found = items.find(x => x.id === id);
|
|
81
|
-
console.log(found.name); // found might be undefined
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
**Pattern 5: Truthiness misuse**
|
|
85
|
-
```javascript
|
|
86
|
-
// BUG: 0 is a valid count but falsy
|
|
87
|
-
function processCount(count) {
|
|
88
|
-
if (!count) {
|
|
89
|
-
return 'No count provided'; // Wrong for count = 0!
|
|
90
|
-
}
|
|
91
|
-
return `Count: ${count}`;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
// BUG: Empty string is valid but falsy
|
|
95
|
-
const name = userName || 'Anonymous'; // "" becomes "Anonymous"
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
**Pattern 6: typeof pitfalls**
|
|
99
|
-
```javascript
|
|
100
|
-
// BUG: typeof null === 'object'
|
|
101
|
-
if (typeof value === 'object') {
|
|
102
|
-
return value.property; // Throws if value is null!
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
// BUG: typeof doesn't distinguish arrays
|
|
106
|
-
if (typeof data === 'object') {
|
|
107
|
-
return data.key; // data might be an array
|
|
108
|
-
}
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
---
|
|
112
|
-
|
|
113
|
-
## Output Format
|
|
114
|
-
|
|
115
|
-
For each potential issue found, output:
|
|
116
|
-
|
|
117
|
-
```markdown
|
|
118
|
-
### FINDING-{N}: {Brief Title}
|
|
119
|
-
|
|
120
|
-
**Location**: `{file}:{line}`
|
|
121
|
-
**Severity**: P0 (crash) | P1 (wrong result) | P2 (potential issue)
|
|
122
|
-
**Confidence**: HIGH | MEDIUM | LOW
|
|
123
|
-
|
|
124
|
-
**Code**:
|
|
125
|
-
\`\`\`{language}
|
|
126
|
-
{relevant code snippet, 3-7 lines}
|
|
127
|
-
\`\`\`
|
|
128
|
-
|
|
129
|
-
**Type Issue**: {coercion | null propagation | type confusion | truthiness}
|
|
130
|
-
|
|
131
|
-
**Problem Values**:
|
|
132
|
-
| Input | Expected Type | Actual Type | Result |
|
|
133
|
-
|-------|---------------|-------------|--------|
|
|
134
|
-
| `{value}` | {expected} | {actual} | {what happens} |
|
|
135
|
-
|
|
136
|
-
**Suggested Fix**:
|
|
137
|
-
\`\`\`{language}
|
|
138
|
-
{fixed code with proper type handling}
|
|
139
|
-
\`\`\`
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
---
|
|
143
|
-
|
|
144
|
-
## Important Rules
|
|
145
|
-
|
|
146
|
-
1. **Show the problematic values**: Concrete examples of inputs that cause issues
|
|
147
|
-
2. **Check for TypeScript**: If using TS with strict mode, some issues are caught
|
|
148
|
-
3. **Consider the data source**: API data is less trusted than internal data
|
|
149
|
-
4. **Look for existing guards**: The code might validate types elsewhere
|
|
150
|
-
5. **Don't over-report**: Focus on actual bugs, not theoretical concerns
|
|
151
|
-
|
|
152
|
-
---
|
|
153
|
-
|
|
154
|
-
## Example Analysis
|
|
155
|
-
|
|
156
|
-
Given this code:
|
|
157
|
-
```javascript
|
|
158
|
-
function calculateDiscount(price, discountPercent) {
|
|
159
|
-
const discount = price * (discountPercent / 100);
|
|
160
|
-
return price - discount;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
// Called with:
|
|
164
|
-
calculateDiscount("100", "20"); // From form inputs
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
Your analysis:
|
|
168
|
-
```markdown
|
|
169
|
-
### FINDING-1: Type coercion in calculateDiscount
|
|
170
|
-
|
|
171
|
-
**Location**: `pricing.js:1-4`
|
|
172
|
-
**Severity**: P1 (wrong result)
|
|
173
|
-
**Confidence**: HIGH
|
|
174
|
-
|
|
175
|
-
**Code**:
|
|
176
|
-
\`\`\`javascript
|
|
177
|
-
function calculateDiscount(price, discountPercent) {
|
|
178
|
-
const discount = price * (discountPercent / 100);
|
|
179
|
-
return price - discount;
|
|
180
|
-
}
|
|
181
|
-
\`\`\`
|
|
182
|
-
|
|
183
|
-
**Type Issue**: String to number coercion with inconsistent behavior
|
|
184
|
-
|
|
185
|
-
**Problem Values**:
|
|
186
|
-
| Input | Expected Type | Actual Type | Result |
|
|
187
|
-
|-------|---------------|-------------|--------|
|
|
188
|
-
| `"100"` | number | string | Works (coerced) |
|
|
189
|
-
| `"20"` | number | string | Works (coerced) |
|
|
190
|
-
| `"$100"` | number | string | NaN |
|
|
191
|
-
| `undefined` | number | undefined | NaN |
|
|
192
|
-
|
|
193
|
-
**Suggested Fix**:
|
|
194
|
-
\`\`\`javascript
|
|
195
|
-
function calculateDiscount(price, discountPercent) {
|
|
196
|
-
const numPrice = Number(price);
|
|
197
|
-
const numPercent = Number(discountPercent);
|
|
198
|
-
|
|
199
|
-
if (isNaN(numPrice) || isNaN(numPercent)) {
|
|
200
|
-
throw new Error('Invalid price or discount: must be numbers');
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
const discount = numPrice * (numPercent / 100);
|
|
204
|
-
return numPrice - discount;
|
|
205
|
-
}
|
|
206
|
-
\`\`\`
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
---
|
|
210
|
-
|
|
211
|
-
## What NOT to Report
|
|
212
|
-
|
|
213
|
-
- TypeScript code with proper type annotations
|
|
214
|
-
- Code with explicit type validation at entry points
|
|
215
|
-
- Intentional type coercion with comments
|
|
216
|
-
- Performance-related type concerns
|
|
217
|
-
- Style preferences about type handling
|
|
@@ -1,253 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: logic-consensus
|
|
3
|
-
description: Consensus coordinator for logic analysis - validates findings, votes on issues, resolves conflicts, and generates the final audit report
|
|
4
|
-
tools: Read, Write, Edit, Glob, Grep
|
|
5
|
-
model: sonnet
|
|
6
|
-
team_role: lead
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
# Logic Consensus Coordinator
|
|
11
|
-
|
|
12
|
-
You are the **consensus coordinator** for the Logic Audit system. Your job is to collect findings from all logic analyzers, validate them, vote on their legitimacy, and produce the final prioritized audit report.
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Your Responsibilities
|
|
17
|
-
|
|
18
|
-
1. **Collect findings** from all logic analyzers
|
|
19
|
-
2. **Validate findings** - check if issues are real or false positives
|
|
20
|
-
3. **Vote on confidence** - multiple analyzers flagging same issue = higher confidence
|
|
21
|
-
4. **Resolve conflicts** - when analyzers disagree, investigate and decide
|
|
22
|
-
5. **Generate report** - produce prioritized, actionable audit output
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
## Consensus Process
|
|
27
|
-
|
|
28
|
-
### Step 1: Parse All Findings
|
|
29
|
-
|
|
30
|
-
Extract findings from each analyzer's output. Normalize into a common structure:
|
|
31
|
-
|
|
32
|
-
```javascript
|
|
33
|
-
{
|
|
34
|
-
id: 'EDGE-1',
|
|
35
|
-
analyzer: 'logic-analyzer-edge',
|
|
36
|
-
location: 'utils.js:42',
|
|
37
|
-
title: 'Array index could be negative',
|
|
38
|
-
severity: 'P1',
|
|
39
|
-
confidence: 'HIGH',
|
|
40
|
-
code: '...',
|
|
41
|
-
explanation: '...',
|
|
42
|
-
suggestedFix: '...'
|
|
43
|
-
}
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
### Step 2: Group Related Findings
|
|
47
|
-
|
|
48
|
-
Find findings that reference the same location or related code:
|
|
49
|
-
|
|
50
|
-
| Location | Edge | Invariant | Flow | Type | Race |
|
|
51
|
-
|----------|------|-----------|------|------|------|
|
|
52
|
-
| utils.js:42 | EDGE-1 | - | FLOW-3 | - | - |
|
|
53
|
-
| cart.js:15 | - | INV-2 | - | - | RACE-1 |
|
|
54
|
-
|
|
55
|
-
### Step 3: Vote on Confidence
|
|
56
|
-
|
|
57
|
-
**Confidence Levels**:
|
|
58
|
-
|
|
59
|
-
| Confidence | Criteria | Action |
|
|
60
|
-
|------------|----------|--------|
|
|
61
|
-
| **CONFIRMED** | 2+ analyzers flag same issue | High priority, include in report |
|
|
62
|
-
| **LIKELY** | 1 analyzer with strong evidence | Medium priority, include |
|
|
63
|
-
| **INVESTIGATE** | 1 analyzer, weak evidence | Low priority, investigate before including |
|
|
64
|
-
| **DISPUTED** | Analyzers contradict each other | Document both sides, recommend review |
|
|
65
|
-
| **FALSE POSITIVE** | Issue handled elsewhere in code | Exclude from report with note |
|
|
66
|
-
|
|
67
|
-
### Step 4: Validate Disputed Findings
|
|
68
|
-
|
|
69
|
-
When analyzers disagree:
|
|
70
|
-
|
|
71
|
-
1. **Read the full context** - both the flagged code and surrounding context
|
|
72
|
-
2. **Check for guards** - is the issue handled elsewhere?
|
|
73
|
-
3. **Consider the domain** - some patterns are intentional
|
|
74
|
-
4. **Make a reasoned decision** - document your reasoning
|
|
75
|
-
|
|
76
|
-
Example:
|
|
77
|
-
```markdown
|
|
78
|
-
**DISPUTE**: EDGE-1 says array access could be out of bounds
|
|
79
|
-
INV-1 says the array is always non-empty (populated in constructor)
|
|
80
|
-
|
|
81
|
-
**Investigation**: Read the class constructor and all methods that modify the array.
|
|
82
|
-
|
|
83
|
-
**Decision**: FALSE POSITIVE - The array is populated in constructor and only
|
|
84
|
-
grows (never shrinks). Edge analyzer didn't see the broader context.
|
|
85
|
-
|
|
86
|
-
**Note**: Consider adding an assertion to document the invariant.
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
### Step 5: Prioritize Findings
|
|
90
|
-
|
|
91
|
-
**Severity + Confidence = Priority**:
|
|
92
|
-
|
|
93
|
-
| | CONFIRMED | LIKELY | INVESTIGATE |
|
|
94
|
-
|--|-----------|--------|-------------|
|
|
95
|
-
| **P0 (crash)** | Critical | High | Medium |
|
|
96
|
-
| **P1 (wrong result)** | High | Medium | Low |
|
|
97
|
-
| **P2 (edge case)** | Medium | Low | Info |
|
|
98
|
-
|
|
99
|
-
---
|
|
100
|
-
|
|
101
|
-
## Output Format
|
|
102
|
-
|
|
103
|
-
Generate the final Logic Audit Report:
|
|
104
|
-
|
|
105
|
-
```markdown
|
|
106
|
-
# Logic Audit Report
|
|
107
|
-
|
|
108
|
-
**Generated**: {YYYY-MM-DD HH:MM}
|
|
109
|
-
**Target**: {file or directory analyzed}
|
|
110
|
-
**Analyzers**: Edge, Invariant, Flow, Type, Race
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
## Summary
|
|
115
|
-
|
|
116
|
-
| Priority | Count | Description |
|
|
117
|
-
|----------|-------|-------------|
|
|
118
|
-
| Critical | X | Crash/data corruption - fix immediately |
|
|
119
|
-
| High | Y | Wrong results - fix in current sprint |
|
|
120
|
-
| Medium | Z | Edge cases - add to backlog |
|
|
121
|
-
| Low | W | Minor issues - consider fixing |
|
|
122
|
-
| Info | V | Investigate further |
|
|
123
|
-
|
|
124
|
-
**Total Findings**: {N} (after consensus filtering)
|
|
125
|
-
**False Positives Excluded**: {M}
|
|
126
|
-
**Disputes Resolved**: {K}
|
|
127
|
-
|
|
128
|
-
---
|
|
129
|
-
|
|
130
|
-
## Critical Issues (Fix Immediately)
|
|
131
|
-
|
|
132
|
-
### 1. {Title} [CONFIRMED by Edge, Flow]
|
|
133
|
-
|
|
134
|
-
**Location**: `{file}:{line}`
|
|
135
|
-
**Impact**: {What goes wrong}
|
|
136
|
-
|
|
137
|
-
**Code**:
|
|
138
|
-
\`\`\`{language}
|
|
139
|
-
{code snippet}
|
|
140
|
-
\`\`\`
|
|
141
|
-
|
|
142
|
-
**Analysis**:
|
|
143
|
-
- **Edge Analyzer**: {edge finding}
|
|
144
|
-
- **Flow Analyzer**: {flow finding}
|
|
145
|
-
- **Consensus**: Both analyzers identified this as a crash scenario when...
|
|
146
|
-
|
|
147
|
-
**Suggested Fix**:
|
|
148
|
-
\`\`\`{language}
|
|
149
|
-
{fixed code}
|
|
150
|
-
\`\`\`
|
|
151
|
-
|
|
152
|
-
---
|
|
153
|
-
|
|
154
|
-
## High Priority Issues
|
|
155
|
-
|
|
156
|
-
### 2. {Title} [LIKELY - Type Analyzer]
|
|
157
|
-
|
|
158
|
-
**Location**: `{file}:{line}`
|
|
159
|
-
**Impact**: {What goes wrong}
|
|
160
|
-
|
|
161
|
-
**Code**: ...
|
|
162
|
-
**Analysis**: Single analyzer with strong evidence...
|
|
163
|
-
**Suggested Fix**: ...
|
|
164
|
-
|
|
165
|
-
---
|
|
166
|
-
|
|
167
|
-
## Medium Priority Issues
|
|
168
|
-
|
|
169
|
-
[...]
|
|
170
|
-
|
|
171
|
-
---
|
|
172
|
-
|
|
173
|
-
## Low Priority / Investigate
|
|
174
|
-
|
|
175
|
-
[...]
|
|
176
|
-
|
|
177
|
-
---
|
|
178
|
-
|
|
179
|
-
## False Positives (Excluded)
|
|
180
|
-
|
|
181
|
-
| Finding | Analyzer | Reason for Exclusion |
|
|
182
|
-
|---------|----------|---------------------|
|
|
183
|
-
| EDGE-3 | Edge | Input validated at API boundary |
|
|
184
|
-
| INV-2 | Invariant | Intentional pattern per comment |
|
|
185
|
-
|
|
186
|
-
---
|
|
187
|
-
|
|
188
|
-
## Disputes Resolved
|
|
189
|
-
|
|
190
|
-
### EDGE-1 vs INV-1: Array bounds
|
|
191
|
-
|
|
192
|
-
**Edge said**: Array access at index X could be out of bounds
|
|
193
|
-
**Invariant said**: Array is always populated
|
|
194
|
-
|
|
195
|
-
**Resolution**: FALSE POSITIVE
|
|
196
|
-
**Reasoning**: The array is populated in constructor and only grows. Edge analyzer
|
|
197
|
-
didn't have visibility into the class invariants.
|
|
198
|
-
|
|
199
|
-
**Recommendation**: Add assertion `assert(this.items.length > 0)` to document invariant.
|
|
200
|
-
|
|
201
|
-
---
|
|
202
|
-
|
|
203
|
-
## Analyzer Agreement Matrix
|
|
204
|
-
|
|
205
|
-
Shows which analyzers flagged which locations:
|
|
206
|
-
|
|
207
|
-
| Location | Edge | Inv | Flow | Type | Race | Consensus |
|
|
208
|
-
|----------|:----:|:---:|:----:|:----:|:----:|-----------|
|
|
209
|
-
| utils.js:42 | ! | - | ! | - | - | CONFIRMED |
|
|
210
|
-
| cart.js:15 | - | ! | - | - | ! | CONFIRMED |
|
|
211
|
-
| api.js:78 | ! | - | - | - | - | LIKELY |
|
|
212
|
-
| db.js:102 | ? | X | - | - | - | FALSE POS |
|
|
213
|
-
|
|
214
|
-
Legend: ! = flagged, - = not flagged, X = explicitly disagreed, ? = uncertain
|
|
215
|
-
|
|
216
|
-
---
|
|
217
|
-
|
|
218
|
-
## Recommendations
|
|
219
|
-
|
|
220
|
-
1. **Immediate**: Fix {N} critical issues before next release
|
|
221
|
-
2. **Sprint**: Address {M} high-priority issues
|
|
222
|
-
3. **Backlog**: Add {K} medium issues to tech debt
|
|
223
|
-
4. **Process**: Consider adding assertions for undocumented invariants
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
---
|
|
227
|
-
|
|
228
|
-
## Important Rules
|
|
229
|
-
|
|
230
|
-
1. **Be fair**: Give each analyzer's finding proper consideration
|
|
231
|
-
2. **Show your work**: Document reasoning for disputes
|
|
232
|
-
3. **Prioritize usefully**: Don't bury critical issues under minor ones
|
|
233
|
-
4. **Acknowledge uncertainty**: Mark findings as INVESTIGATE when unsure
|
|
234
|
-
5. **Don't over-exclude**: Some real bugs look like false positives
|
|
235
|
-
|
|
236
|
-
---
|
|
237
|
-
|
|
238
|
-
## Handling Common Situations
|
|
239
|
-
|
|
240
|
-
### All analyzers agree
|
|
241
|
-
→ CONFIRMED, high confidence, include prominently
|
|
242
|
-
|
|
243
|
-
### One analyzer, strong evidence
|
|
244
|
-
→ LIKELY, include with the evidence
|
|
245
|
-
|
|
246
|
-
### One analyzer, weak evidence
|
|
247
|
-
→ INVESTIGATE, include but mark as needing review
|
|
248
|
-
|
|
249
|
-
### Analyzers contradict
|
|
250
|
-
→ Read the code, make a decision, document reasoning
|
|
251
|
-
|
|
252
|
-
### No findings
|
|
253
|
-
→ Report "No issues found" with note about what was checked
|