pan-wizard 3.35.0 → 3.37.0
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 +3645 -0
- package/README.md +46 -52
- package/agents/pan-conductor.md +2 -3
- package/agents/pan-counterfactual.md +1 -2
- package/agents/pan-debugger.md +14 -3
- package/agents/pan-design-checker.md +1 -2
- package/agents/pan-designer.md +2 -3
- package/agents/pan-document_code.md +1 -2
- package/agents/pan-executor.md +25 -0
- package/agents/pan-hardener.md +4 -3
- package/agents/pan-integration-checker.md +1 -2
- package/agents/pan-knowledge.md +1 -2
- package/agents/pan-meta-reviewer.md +3 -3
- package/agents/pan-optimizer.md +4 -4
- package/agents/pan-phase-researcher.md +80 -475
- package/agents/pan-plan-checker.md +40 -3
- package/agents/pan-planner.md +21 -7
- package/agents/pan-previewer.md +3 -2
- package/agents/pan-project-researcher.md +72 -493
- package/agents/pan-release.md +1 -1
- package/agents/pan-reviewer.md +14 -3
- package/agents/pan-roadmapper.md +12 -7
- package/agents/pan-verifier.md +9 -4
- package/bin/install-lib.cjs +134 -14
- package/bin/install.js +59 -12
- package/commands/pan/army.md +1 -1
- package/commands/pan/autodev.md +76 -0
- package/commands/pan/cost.md +21 -1
- package/commands/pan/exec-phase.md +3 -4
- package/commands/pan/focus-auto.md +14 -7
- package/commands/pan/focus-design.md +4 -5
- package/commands/pan/focus-docs.md +24 -0
- package/commands/pan/learn.md +13 -6
- package/commands/pan/milestone-audit.md +8 -1
- package/commands/pan/milestone-done.md +10 -5
- package/commands/pan/milestone-new.md +2 -2
- package/commands/pan/new-project.md +15 -12
- package/commands/pan/plan-phase.md +15 -9
- package/commands/pan/preview.md +1 -1
- package/commands/pan/quick.md +1 -1
- package/commands/pan/review-deep.md +11 -5
- package/commands/pan/settings.md +6 -0
- package/commands/pan/verify-phase.md +6 -2
- package/docs/AGENTS.md +917 -0
- package/docs/ARCHITECTURE.md +1054 -0
- package/docs/CLI-REFERENCE.md +4582 -0
- package/docs/COMPARISON.md +116 -0
- package/docs/DEVELOPMENT.md +490 -0
- package/docs/ECOSYSTEM-REVIEW-2026-06.md +107 -0
- package/docs/ECOSYSTEM-REVIEW-2026-08.md +349 -0
- package/docs/EXAMPLES.md +584 -0
- package/docs/FAQ.md +254 -0
- package/docs/FIELD-HARVEST-2026-07.md +88 -0
- package/docs/FIELD-REPORT-army-2026-06.md +121 -0
- package/docs/HOOKS.md +638 -0
- package/docs/IMPROVEMENT-TODO.md +246 -0
- package/docs/INTERNALS.md +485 -0
- package/docs/MIGRATION-v2-to-v3.md +258 -0
- package/docs/SECURITY-HARDENING.md +230 -0
- package/docs/SKILLS-ENHANCEMENT-PLAN-V2.md +122 -0
- package/docs/SKILLS-FULL-TEXT.md +9685 -0
- package/docs/SKILLS-REFERENCE.md +1037 -0
- package/docs/TROUBLESHOOTING.md +1084 -0
- package/docs/USER-GUIDE.md +1437 -0
- package/docs/archive/SKILLS-ENHANCEMENT-PLAN.md +230 -0
- package/docs/audits/AUDIT-2026-08-e2e-ROADMAP.md +117 -0
- package/docs/audits/AUDIT-2026-08-e2e-VERIFICATION.md +693 -0
- package/docs/audits/AUDIT-2026-08-e2e.md +1546 -0
- package/docs/audits/OUTSTANDING-2026-08.md +275 -0
- package/docs/audits/STABILITY-TEST-2026-08.md +640 -0
- package/docs/branding/README-brand-draft.md +119 -0
- package/docs/branding/handoff/IMPLEMENTATION.md +205 -0
- package/docs/branding/handoff/README-brand-draft.md +119 -0
- package/docs/branding/handoff/image-prompts.md +46 -0
- package/docs/branding/image-prompts.md +46 -0
- package/docs/branding/nano-banana-prompts.txt +60 -0
- package/docs/context-monitor.md +13 -0
- package/docs/decisions/ADR-0001-strategic-feature-prioritization.md +83 -0
- package/docs/decisions/ADR-0002-copilot-cli-runtime.md +71 -0
- package/docs/decisions/ADR-0003-smart-execution.md +84 -0
- package/docs/decisions/ADR-0004-copilot-cli-interaction.md +89 -0
- package/docs/decisions/ADR-0005-command-naming.md +80 -0
- package/docs/decisions/ADR-0006-focus-commands.md +101 -0
- package/docs/decisions/ADR-0007-ship-v1.md +73 -0
- package/docs/decisions/ADR-0008-map-codebase-mermaid-togaf.md +80 -0
- package/docs/decisions/ADR-0009-production-deployment-checklist.md +68 -0
- package/docs/decisions/ADR-0010-standards-integration.md +79 -0
- package/docs/decisions/ADR-0011-help-commands-rewrite.md +64 -0
- package/docs/decisions/ADR-0012-contributors-attribution-index.md +42 -0
- package/docs/decisions/ADR-0013-strategic-feature-additions.md +53 -0
- package/docs/decisions/ADR-0014-internal-cleanup-code-quality.md +53 -0
- package/docs/decisions/ADR-0015-focus-auto-runner.md +296 -0
- package/docs/decisions/ADR-0016-enhanced-doc-sync.md +54 -0
- package/docs/decisions/ADR-0017-enhanced-focus-design.md +69 -0
- package/docs/decisions/ADR-0018-user-reality-testing.md +84 -0
- package/docs/decisions/ADR-0019-end-to-end-user-acceptance-testing.md +113 -0
- package/docs/decisions/ADR-0020-ai-drift-prevention.md +55 -0
- package/docs/decisions/ADR-0021-codebase-mapper-v2.md +76 -0
- package/docs/decisions/ADR-0022-lifecycle-completeness.md +63 -0
- package/docs/decisions/ADR-0023-opus-4-7-adoption.md +89 -0
- package/docs/decisions/ADR-0024-spec-b-v2-completion.md +137 -0
- package/docs/decisions/ADR-0025-behavioral-guardrails-layer.md +129 -0
- package/docs/decisions/ADR-0026-self-improvement-loop.md +171 -0
- package/docs/decisions/ADR-0027-doc-code-link-graph.md +164 -0
- package/docs/decisions/ADR-0028-unified-agents-skills-target.md +46 -0
- package/docs/decisions/ADR-0029-experiment-evaluator.md +76 -0
- package/docs/decisions/ADR-0030-planning-concurrency.md +37 -0
- package/docs/decisions/ADR-0031-focus-auto-backlog-source.md +47 -0
- package/docs/decisions/ADR-0032-squad-model.md +64 -0
- package/docs/decisions/ADR-0033-army-campaign.md +40 -0
- package/docs/decisions/ADR-0034-scheduled-campaigns.md +57 -0
- package/docs/decisions/ADR-0035-army-hud-dashboard.md +40 -0
- package/docs/decisions/ADR-0036-agentic-memory-architecture.md +106 -0
- package/docs/decisions/ADR-0037-pin-security-agents-to-opus.md +51 -0
- package/docs/decisions/ADR-0038-skill-aligned-decomposition.md +41 -0
- package/docs/decisions/ADR-0039-worktree-as-project-variant.md +37 -0
- package/docs/decisions/ADR-0040-memory-injection-defense.md +55 -0
- package/docs/decisions/ADR-0041-mcp-dual-era-bridge.md +47 -0
- package/docs/decisions/ADR-0042-design-parity-both-flows.md +45 -0
- package/docs/decisions/ADR-0043-addressable-planning-roots.md +56 -0
- package/docs/decisions/ADR-0044-bound-the-cached-context.md +104 -0
- package/docs/decisions/ADR-0045-agent-plugins-bundle.md +76 -0
- package/docs/decisions/ADR-0046-subagent-frontmatter-decisions.md +39 -0
- package/docs/decisions/ADR-0047-pan-harness.md +76 -0
- package/docs/decisions/ADR-0048-one-core-per-project.md +43 -0
- package/docs/decisions/ADR-0049-machine-verdicts-and-findings-ledger.md +116 -0
- package/docs/specs/ai_drift_prevention_featureai.md +286 -0
- package/docs/specs/codebase_mapper_v2_featureai.md +930 -0
- package/docs/specs/command_naming_optimization_featureai.md +930 -0
- package/docs/specs/comp_analysis_markdown_v1.md +149 -0
- package/docs/specs/continuous_autonomous_execution_featureai.md +304 -0
- package/docs/specs/contributors_attribution_index_featureai.md +476 -0
- package/docs/specs/copilot_cli_interaction_featureai.md +868 -0
- package/docs/specs/copilot_cli_runtime_featureai.md +647 -0
- package/docs/specs/custom-skills-assessment.md +461 -0
- package/docs/specs/deployment_audit_findings_featureai.md +243 -0
- package/docs/specs/doc_code_link_graph_featureai.md +253 -0
- package/docs/specs/documentation_alignment_cleanup_featureai.md +69 -0
- package/docs/specs/e2e_visual_testing_featureai.md +615 -0
- package/docs/specs/end_to_end_user_acceptance_testing_featureai.md +810 -0
- package/docs/specs/evidence-loop-plan.md +76 -0
- package/docs/specs/evidence_loop_featureai.md +497 -0
- package/docs/specs/focus-auto-optimize-category.md +449 -0
- package/docs/specs/focus-auto-optimize-superplan.md +188 -0
- package/docs/specs/focus_auto_runner_featureai.md +1102 -0
- package/docs/specs/focus_design_v2_featureai.md +197 -0
- package/docs/specs/focus_sync_v2_featureai.md +202 -0
- package/docs/specs/git_integration_overhaul_featureai.md +326 -0
- package/docs/specs/glm_zai_provider_featureai.md +200 -0
- package/docs/specs/googlecli_adoption_featureai.md +661 -0
- package/docs/specs/help_commands_rewrite_featureai.md +860 -0
- package/docs/specs/industry_analysis_strategic_additions_featureai.md +231 -0
- package/docs/specs/industry_comparison_and_feature_gaps_featureai.md +674 -0
- package/docs/specs/internal_cleanup_code_quality_featureai.md +486 -0
- package/docs/specs/investigations/README.md +31 -0
- package/docs/specs/investigations/digests/2026-09-28.md +47 -0
- package/docs/specs/investigations/digests/2026-10-08.md +62 -0
- package/docs/specs/investigations/digests/2026-10-10.md +61 -0
- package/docs/specs/investigations/features/debugger-red-loop-first.md +55 -0
- package/docs/specs/investigations/features/harness-cross-host-behaviour.md +93 -0
- package/docs/specs/investigations/features/optimize-apply-regression-gate.md +66 -0
- package/docs/specs/investigations/features/reviewer-smell-baseline.md +57 -0
- package/docs/specs/investigations/features/trace-failure-capture.md +69 -0
- package/docs/specs/lifecycle_completeness_featureai.md +754 -0
- package/docs/specs/local-first-ci.md +42 -0
- package/docs/specs/map_codebase_mermaid_togaf_featureai.md +805 -0
- package/docs/specs/market-delta-2026-09-superplan.md +310 -0
- package/docs/specs/market-ideas-2026-09.md +131 -0
- package/docs/specs/market-ideas-2026-10.md +428 -0
- package/docs/specs/market-ideas-ledger.md +177 -0
- package/docs/specs/memory-optimization-2026-10.md +285 -0
- package/docs/specs/multi-track-planning-roots.md +143 -0
- package/docs/specs/multi_model_routing_featureai.md +687 -0
- package/docs/specs/multi_model_routing_superplan.md +197 -0
- package/docs/specs/opus_47_existing_enhancements_featureai.md +247 -0
- package/docs/specs/opus_47_extended_features_featureai.md +363 -0
- package/docs/specs/opus_47_extended_features_v2_featureai.md +397 -0
- package/docs/specs/pan_focus_commands_featureai.md +2336 -0
- package/docs/specs/pan_zcode_mcp_bridge_featureai.md +120 -0
- package/docs/specs/product-excellence-superplan.md +315 -0
- package/docs/specs/product_excellence_program_2026_q4_featureai.md +365 -0
- package/docs/specs/production_deployment_readiness_featureai.md +433 -0
- package/docs/specs/production_readiness_ship_v1_featureai.md +698 -0
- package/docs/specs/real_test_enforcement_featureai.md +213 -0
- package/docs/specs/reality-check-2026-09-superplan.md +362 -0
- package/docs/specs/right-sized-ceremony.md +74 -0
- package/docs/specs/roadmap_and_competition_2026_q4_featureai.md +390 -0
- package/docs/specs/self_improvement_loop_featureai.md +875 -0
- package/docs/specs/skill-aligned-decomposition.md +155 -0
- package/docs/specs/standards_integration_featureai.md +833 -0
- package/docs/specs/testing-system-redesign-2026-09.md +267 -0
- package/docs/specs/user_reality_testing_system_featureai.md +788 -0
- package/docs/specs/watch-triggers.json +22 -0
- package/docs/specs/workflow-integration-redesign.md +742 -0
- package/docs/specs/workflow_state_consistency_featureai.md +183 -0
- package/hooks/dist/pan-context-monitor.js +9 -2
- package/hooks/dist/pan-cost-logger.js +5 -0
- package/hooks/dist/pan-guard.js +28 -5
- package/hooks/dist/pan-stop-guard.js +9 -9
- package/hooks/dist/pan-trace-logger.js +5 -0
- package/package.json +10 -2
- package/pan-wizard-core/bin/lib/agents-md.cjs +57 -8
- package/pan-wizard-core/bin/lib/autodev-report.cjs +180 -0
- package/pan-wizard-core/bin/lib/autodev.cjs +642 -0
- package/pan-wizard-core/bin/lib/ci.cjs +143 -0
- package/pan-wizard-core/bin/lib/commands.cjs +1 -1
- package/pan-wizard-core/bin/lib/config.cjs +41 -5
- package/pan-wizard-core/bin/lib/constants.cjs +27 -1
- package/pan-wizard-core/bin/lib/core.cjs +31 -14
- package/pan-wizard-core/bin/lib/cost.cjs +160 -4
- package/pan-wizard-core/bin/lib/cross-family.cjs +164 -0
- package/pan-wizard-core/bin/lib/debug-cases.cjs +104 -0
- package/pan-wizard-core/bin/lib/doc-lint.cjs +5 -3
- package/pan-wizard-core/bin/lib/failure-class.cjs +81 -0
- package/pan-wizard-core/bin/lib/findings.cjs +148 -9
- package/pan-wizard-core/bin/lib/focus.cjs +1 -1
- package/pan-wizard-core/bin/lib/git.cjs +1 -1
- package/pan-wizard-core/bin/lib/hosts.cjs +88 -0
- package/pan-wizard-core/bin/lib/init.cjs +7 -2
- package/pan-wizard-core/bin/lib/knowledge.cjs +2 -0
- package/pan-wizard-core/bin/lib/merge.cjs +50 -0
- package/pan-wizard-core/bin/lib/mutate.cjs +268 -0
- package/pan-wizard-core/bin/lib/next-action.cjs +112 -0
- package/pan-wizard-core/bin/lib/optimize.cjs +2 -2
- package/pan-wizard-core/bin/lib/phase-gate.cjs +15 -9
- package/pan-wizard-core/bin/lib/phase-remove.cjs +91 -11
- package/pan-wizard-core/bin/lib/phase.cjs +85 -13
- package/pan-wizard-core/bin/lib/plan-lint.cjs +310 -0
- package/pan-wizard-core/bin/lib/preview.cjs +26 -4
- package/pan-wizard-core/bin/lib/requirements-lint.cjs +130 -0
- package/pan-wizard-core/bin/lib/research-lint.cjs +268 -0
- package/pan-wizard-core/bin/lib/review-deep.cjs +14 -22
- package/pan-wizard-core/bin/lib/review-vote.cjs +105 -0
- package/pan-wizard-core/bin/lib/roadmap.cjs +1 -0
- package/pan-wizard-core/bin/lib/runner.cjs +2 -16
- package/pan-wizard-core/bin/lib/sizing.cjs +356 -0
- package/pan-wizard-core/bin/lib/squads.cjs +1 -1
- package/pan-wizard-core/bin/lib/state-write.cjs +247 -0
- package/pan-wizard-core/bin/lib/test-gate.cjs +433 -0
- package/pan-wizard-core/bin/lib/uat.cjs +149 -0
- package/pan-wizard-core/bin/lib/usage.cjs +104 -0
- package/pan-wizard-core/bin/lib/verdict.cjs +26 -3
- package/pan-wizard-core/bin/lib/verify-plan-set.cjs +30 -1
- package/pan-wizard-core/bin/lib/verify-preflight.cjs +2 -2
- package/pan-wizard-core/bin/lib/verify-red.cjs +174 -0
- package/pan-wizard-core/bin/lib/verify-retro.cjs +3 -2
- package/pan-wizard-core/bin/lib/verify-scope.cjs +143 -2
- package/pan-wizard-core/bin/lib/verify.cjs +86 -31
- package/pan-wizard-core/bin/lib/worktree.cjs +70 -0
- package/pan-wizard-core/bin/pan-tools.cjs +257 -28
- package/pan-wizard-core/learnings/universal/autonomous-loop.md +2 -2
- package/pan-wizard-core/mcp/orchestrator.cjs +4 -1
- package/pan-wizard-core/references/continuation-format.md +3 -3
- package/pan-wizard-core/references/design-methodology.md +1 -1
- package/pan-wizard-core/references/guardrails.md +1 -1
- package/pan-wizard-core/references/handoff-decisions.md +1 -1
- package/pan-wizard-core/references/model-profiles.md +2 -3
- package/pan-wizard-core/references/questioning.md +24 -0
- package/pan-wizard-core/references/ui-brand.md +4 -6
- package/pan-wizard-core/references/verdict-contract.md +2 -1
- package/pan-wizard-core/templates/config.json +10 -2
- package/pan-wizard-core/templates/debug.md +1 -0
- package/pan-wizard-core/templates/design.md +5 -4
- package/pan-wizard-core/templates/discovery.md +2 -2
- package/pan-wizard-core/templates/phase-prompt.md +7 -0
- package/pan-wizard-core/templates/requirements.md +9 -0
- package/pan-wizard-core/templates/research.md +10 -0
- package/pan-wizard-core/templates/summary-complex.md +5 -1
- package/pan-wizard-core/templates/summary-minimal.md +4 -0
- package/pan-wizard-core/templates/summary-standard.md +5 -1
- package/pan-wizard-core/templates/summary.md +8 -1
- package/pan-wizard-core/workflows/add-phase.md +4 -6
- package/pan-wizard-core/workflows/assumptions.md +19 -1
- package/pan-wizard-core/workflows/diagnose-issues.md +2 -0
- package/pan-wizard-core/workflows/discuss-phase.md +4 -2
- package/pan-wizard-core/workflows/exec-lean.md +69 -0
- package/pan-wizard-core/workflows/exec-phase.md +79 -15
- package/pan-wizard-core/workflows/execute-plan.md +3 -1
- package/{commands/pan → pan-wizard-core/workflows}/focus-doc-audit.md +13 -29
- package/{commands/pan → pan-wizard-core/workflows}/focus-drift-walking.md +3 -18
- package/{commands/pan → pan-wizard-core/workflows}/focus-exec.md +8 -23
- package/{commands/pan → pan-wizard-core/workflows}/focus-plan.md +6 -20
- package/{commands/pan → pan-wizard-core/workflows}/focus-scan.md +3 -16
- package/{commands/pan → pan-wizard-core/workflows}/focus-sync.md +7 -21
- package/pan-wizard-core/workflows/health.md +6 -0
- package/pan-wizard-core/workflows/help.md +114 -77
- package/pan-wizard-core/workflows/insert-phase.md +4 -6
- package/pan-wizard-core/workflows/learn.md +3 -3
- package/pan-wizard-core/workflows/milestone-audit.md +2 -2
- package/pan-wizard-core/workflows/milestone-new.md +38 -95
- package/pan-wizard-core/workflows/new-project.md +96 -258
- package/pan-wizard-core/workflows/optimize.md +107 -5
- package/pan-wizard-core/workflows/phase-tests.md +10 -0
- package/pan-wizard-core/workflows/plan-phase.md +106 -45
- package/pan-wizard-core/workflows/profile.md +50 -0
- package/pan-wizard-core/workflows/progress.md +10 -0
- package/pan-wizard-core/workflows/quick.md +34 -43
- package/pan-wizard-core/workflows/remove-phase.md +11 -1
- package/pan-wizard-core/workflows/research-phase.md +118 -40
- package/pan-wizard-core/workflows/resume-project.md +18 -2
- package/pan-wizard-core/workflows/settings.md +33 -19
- package/pan-wizard-core/workflows/todo-check.md +6 -2
- package/pan-wizard-core/workflows/transition.md +22 -4
- package/pan-wizard-core/workflows/uat-walkthrough.md +90 -0
- package/pan-wizard-core/workflows/update.md +1 -1
- package/pan-wizard-core/workflows/verify-phase.md +39 -46
- package/scripts/build-agent-plugin.js +35 -15
- package/scripts/build-help.cjs +106 -0
- package/scripts/build-plugin.js +10 -1
- package/scripts/deprecate-old-versions.js +70 -3
- package/scripts/generate-skills-docs.py +1 -1
- package/scripts/git-hooks/pre-push +27 -0
- package/scripts/install-git-hooks.js +7 -5
- package/scripts/install-pre-push.cjs +38 -0
- package/scripts/land.cjs +151 -0
- package/scripts/local-ci.cjs +501 -0
- package/scripts/local-schedule.cjs +277 -0
- package/scripts/mutation-probe.cjs +7 -80
- package/scripts/prompt-lint.cjs +32 -0
- package/scripts/prompt-rules.cjs +156 -0
- package/scripts/run-tests.cjs +7 -1
- package/scripts/test-quality-lint.cjs +3 -3
- package/scripts/test-surface.cjs +175 -6
- package/agents/pan-research-synthesizer.md +0 -246
- package/commands/pan/audit-deployment.md +0 -386
- package/commands/pan/dashboard.md +0 -22
- package/commands/pan/discord.md +0 -19
- package/commands/pan/mcp-bridge.md +0 -143
- package/commands/pan/milestone-cleanup.md +0 -19
- package/commands/pan/milestone-gaps.md +0 -35
- package/commands/pan/optimize.md +0 -115
- package/commands/pan/profile.md +0 -76
- package/commands/pan/research-phase.md +0 -189
- package/pan-wizard-core/bin/lib/bridge.cjs +0 -269
- package/pan-wizard-core/templates/research-project/architecture.md +0 -204
- package/pan-wizard-core/templates/research-project/features.md +0 -147
- package/pan-wizard-core/templates/research-project/pitfalls.md +0 -200
- package/pan-wizard-core/templates/research-project/stack.md +0 -120
- package/pan-wizard-core/templates/research-project/summary.md +0 -170
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
# Feature Spec: focus-design v2 — Autonomous Investigation & Best-in-Industry Enhancement
|
|
2
|
+
|
|
3
|
+
**Generated by:** /pan:focus-design --full
|
|
4
|
+
**Date:** 2026-03-04
|
|
5
|
+
**ADR:** ADR-0017
|
|
6
|
+
**Status:** Proposed
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Problem & Evidence
|
|
11
|
+
|
|
12
|
+
PAN's `/pan:focus-design` is already the most comprehensive AI feature specification workflow in the ecosystem — no competitor combines strategic analysis (Blue Ocean, Wardley, Moat), security threat modeling, ADR generation, test planning, AND multi-mode scaling. However, competitive analysis reveals three critical gaps that prevent it from being best-in-industry:
|
|
13
|
+
|
|
14
|
+
1. **No autonomous codebase investigation** before spec creation (Cline's `/deep-planning` leads here with silent grep/read before asking)
|
|
15
|
+
2. **No impact analysis** showing what existing modules are affected (nobody does this — opportunity to lead)
|
|
16
|
+
3. **Clarification questions are generic templates**, not grounded in discovered code patterns (Cline's informed questions are the benchmark)
|
|
17
|
+
|
|
18
|
+
Additionally, the older `/featureAI` command (730 lines) contains stale hardcoded counts and should be deprecated.
|
|
19
|
+
|
|
20
|
+
### Demand Evidence
|
|
21
|
+
|
|
22
|
+
| Evidence Type | Source | Finding |
|
|
23
|
+
|--------------|--------|---------|
|
|
24
|
+
| User-stated | This conversation | "Full review of the focus-design.md agent, what to make sure it is the best one in the industry" |
|
|
25
|
+
| Competitor parity | Cline `/deep-planning` | Autonomous silent codebase investigation — called "game changer" in community |
|
|
26
|
+
| Competitor parity | Amazon Kiro | Requirements → Design → Tasks three-phase spec workflow |
|
|
27
|
+
| Competitor parity | Windsurf megaplan | Structured clarification before plan generation |
|
|
28
|
+
| Community critique | Martin Fowler / Scott Logic | SDD tools create specs but don't ground them in code reality |
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Competitive Position
|
|
33
|
+
|
|
34
|
+
### What PAN focus-design Already Leads In (No Other Tool Has ALL Of These)
|
|
35
|
+
|
|
36
|
+
1. **Strategic Analysis Pipeline** — Blue Ocean + Wardley + Moat scoring
|
|
37
|
+
2. **Security Threat Modeling** — STRIDE-lite + path safety + output sanitization
|
|
38
|
+
3. **ADR Generation** — Formal architecture decision records
|
|
39
|
+
4. **Test Pyramid Enforcement** — Unit >= 5, integration >= 5, E2E >= 2
|
|
40
|
+
5. **4-Mode Scaling** — full/internal/outward/spike for different scope sizes
|
|
41
|
+
6. **5-Runtime Support** — Claude Code, OpenCode, Gemini CLI, Codex, Copilot CLI
|
|
42
|
+
7. **Zero Dependencies** — Pure markdown command file
|
|
43
|
+
|
|
44
|
+
### What Competitors Lead In (Gaps to Close)
|
|
45
|
+
|
|
46
|
+
| Gap | Leader | PAN v2 Response |
|
|
47
|
+
|-----|--------|----------------|
|
|
48
|
+
| Autonomous codebase investigation | Cline `/deep-planning` | New Phase 0.8 |
|
|
49
|
+
| Informed clarification questions | Cline | New Phase 1.5 |
|
|
50
|
+
| Before/After state specification | Copilot Workspace (defunct) | New Phase 0.2.5 |
|
|
51
|
+
| Structured requirements elicitation | Windsurf megaplan, Kiro | Enhanced Phase 0.4 |
|
|
52
|
+
| Living spec maintenance | Windsurf plan.md | Deferred to v2 (integrate with focus-sync) |
|
|
53
|
+
|
|
54
|
+
### What Nobody Does Yet (PAN v2 Will Lead)
|
|
55
|
+
|
|
56
|
+
1. **Impact Analysis** — Surface blast radius before any design work begins
|
|
57
|
+
2. **Dynamic Competitor Selection** — Domain-aware competitor research, not hardcoded 6 tools
|
|
58
|
+
3. **Investigation + Strategic Analysis + Security** — The full trilogy in a single pipeline
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Design: 10 Changes
|
|
63
|
+
|
|
64
|
+
### Change 1: Phase 0.8 — Autonomous Codebase Investigation (NEW)
|
|
65
|
+
|
|
66
|
+
Insert between Phase 0 and Phase 1. Three sub-phases:
|
|
67
|
+
- **0.8.1 Silent Discovery**: Grep for imports, search for similar functionality, read 2-3 existing implementations, discover test patterns, identify integration points
|
|
68
|
+
- **0.8.2 Impact Analysis**: Table of affected modules with risk levels
|
|
69
|
+
- **0.8.3 Informed Context**: Use discoveries to ground all subsequent phases
|
|
70
|
+
|
|
71
|
+
### Change 2: Phase 0.2.5 — Before/After State Specification
|
|
72
|
+
|
|
73
|
+
For feature enhancements: explicitly document current behavior, desired behavior, and delta. Adopted from Copilot Workspace's topic→current→desired pattern.
|
|
74
|
+
|
|
75
|
+
### Change 3: Phase 0.4 — Structured Acceptance Criteria
|
|
76
|
+
|
|
77
|
+
Replace freeform success criteria with table format including verification method and pass condition. At least 2 criteria must be automatically verifiable.
|
|
78
|
+
|
|
79
|
+
### Change 4: Remove All Hardcoded Counts
|
|
80
|
+
|
|
81
|
+
Replace "31 commands", "604+ tests", "14 modules", "32 commands" with dynamic language ("all existing commands and agents", "existing tests").
|
|
82
|
+
|
|
83
|
+
### Change 5: Scope Calibration Guidance
|
|
84
|
+
|
|
85
|
+
Auto-mode-selection table: bug fix → spike, new command → internal, user-facing feature → full, strategic question → outward.
|
|
86
|
+
|
|
87
|
+
### Change 6: Dynamic Competitor Selection (Phase 2.1)
|
|
88
|
+
|
|
89
|
+
Replace hardcoded 6-tool table with domain-aware guidance. Default set of 8 AI coding tools + instruction to use domain-relevant tools for non-AI features.
|
|
90
|
+
|
|
91
|
+
### Change 7: Phase 1.5 — Informed Clarification Questions (NEW)
|
|
92
|
+
|
|
93
|
+
2-4 questions that MUST reference specific files, line numbers, or patterns discovered in Phase 0.8. Never generic. Only in --full mode.
|
|
94
|
+
|
|
95
|
+
### Change 8: MCP/context7 Tools in Frontmatter
|
|
96
|
+
|
|
97
|
+
Add `mcp__context7__resolve-library-id` and `mcp__context7__get-library-docs` to allowed-tools.
|
|
98
|
+
|
|
99
|
+
### Change 9: Updated Convention Enforcement Checklist
|
|
100
|
+
|
|
101
|
+
Replace generic checklist with PAN-specific function names: `readStateSafe()`, `output()`, `error()`, `toPosix()`, `fileAccessible()`, `getArgValue()`, `cmd<Module><Action>()` naming.
|
|
102
|
+
|
|
103
|
+
### Change 10: Enhanced Phase 10 Report Summary
|
|
104
|
+
|
|
105
|
+
Add investigation depth, competitive position, informed questions asked, and machine-checkable acceptance criteria count to the final report.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Strategic Assessment
|
|
110
|
+
|
|
111
|
+
### Blue Ocean Framework
|
|
112
|
+
|
|
113
|
+
| Action | Decisions |
|
|
114
|
+
|--------|-----------|
|
|
115
|
+
| **ELIMINATE** | Hardcoded competitor lists, hardcoded counts, generic questions |
|
|
116
|
+
| **REDUCE** | Template verbosity in spike mode, boilerplate in Phase 0 |
|
|
117
|
+
| **RAISE** | Investigation depth, question quality, impact awareness |
|
|
118
|
+
| **CREATE** | Impact analysis, informed clarification, scope calibration |
|
|
119
|
+
|
|
120
|
+
### Wardley Position
|
|
121
|
+
|
|
122
|
+
Currently at Product maturity (structured pipeline, modes, artifacts). Enhancement moves investigation capability from Genesis to Custom-Built level, matching Cline while maintaining PAN's unique Product-level strategic analysis.
|
|
123
|
+
|
|
124
|
+
### Moat Score: 27/30
|
|
125
|
+
|
|
126
|
+
| Moat | Score |
|
|
127
|
+
|------|-------|
|
|
128
|
+
| Context Engineering | 5/5 |
|
|
129
|
+
| Cross-Platform | 5/5 |
|
|
130
|
+
| Developer Experience | 4/5 |
|
|
131
|
+
| Zero Dependencies | 5/5 |
|
|
132
|
+
| State Persistence | 4/5 |
|
|
133
|
+
| Verification Quality | 4/5 |
|
|
134
|
+
|
|
135
|
+
### Cognitive Load: neutral (0)
|
|
136
|
+
|
|
137
|
+
No new commands — enhancement to existing. Two new concepts (impact analysis, informed questions) are embedded in the workflow, not exposed as new user-facing abstractions.
|
|
138
|
+
|
|
139
|
+
### Recommendation
|
|
140
|
+
|
|
141
|
+
**Build.** focus-design is already the industry's most comprehensive spec workflow. Adding investigation depth closes the only gap competitors exploit while maintaining PAN's unique strategic analysis, security modeling, and multi-runtime advantages. Zero code changes needed.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Feature Ladder
|
|
146
|
+
|
|
147
|
+
| Version | Scope | Effort |
|
|
148
|
+
|---------|-------|--------|
|
|
149
|
+
| **v0 (MVP)** | Fix stale counts + Phase 0.8 investigation + impact analysis + informed questions + MCP tools | S |
|
|
150
|
+
| **v1 (Complete)** | + Before/After state + structured AC + scope calibration + dynamic competitors + convention updates | M |
|
|
151
|
+
| **v2 (Enhanced)** | + Spec-code drift detection (focus-sync integration) + spec evolution tracking | L |
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Implementation Tasks
|
|
156
|
+
|
|
157
|
+
| Order | Task | Files | Estimate |
|
|
158
|
+
|-------|------|-------|----------|
|
|
159
|
+
| 1 | Add Phase 0.8 (Investigation + Impact Analysis) | commands/pan/focus-design.md | S |
|
|
160
|
+
| 2 | Add Phase 1.5 (Informed Clarification) + Before/After State | commands/pan/focus-design.md | S |
|
|
161
|
+
| 3 | Fix stale content (counts, conventions, competitors, tools) | commands/pan/focus-design.md | S |
|
|
162
|
+
| 4 | Add scope calibration + structured AC + enhanced report | commands/pan/focus-design.md | S |
|
|
163
|
+
| 5 | Propagate to all runtimes | 3 runtime-specific copies | XS |
|
|
164
|
+
| 6 | Deprecate /featureAI | .claude/commands/featureAI.md | XS |
|
|
165
|
+
|
|
166
|
+
Tasks 1-4 are independent. Task 5 depends on 1-4. Task 6 depends on 5.
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Security Assessment
|
|
171
|
+
|
|
172
|
+
- **Attack surface:** Minimal — reads project files (trusted), writes to docs/ (controlled), web search results (untrusted, synthesized not embedded)
|
|
173
|
+
- **Path safety:** Not needed — no user-supplied path arguments
|
|
174
|
+
- **Output sanitization:** Specs use relative paths, no env vars, no stack traces
|
|
175
|
+
- **Web content:** Competitive research via WebSearch — synthesize findings, don't embed raw HTML
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Adoption
|
|
180
|
+
|
|
181
|
+
- **Discovery:** Existing command — no discovery needed
|
|
182
|
+
- **Learning curve:** Zero — same invocation, better output
|
|
183
|
+
- **Workflow change:** None — drop-in enhancement
|
|
184
|
+
- **Aha moment:** First time focus-design references an actual code pattern in a clarification question
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Documents
|
|
189
|
+
|
|
190
|
+
- Spec: `docs/specs/focus_design_v2_featureai.md` (this file)
|
|
191
|
+
- ADR: `docs/decisions/ADR-0017-enhanced-focus-design.md`
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Next Step
|
|
196
|
+
|
|
197
|
+
Implement Tasks 1-4 to update `commands/pan/focus-design.md`, then propagate to runtimes.
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
# Feature Specification: Enhanced Documentation Sync (focus-sync v2)
|
|
2
|
+
|
|
3
|
+
**Mode:** `--internal` | **Date:** 2026-03-04 | **Status:** Proposed
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Problem Statement
|
|
8
|
+
|
|
9
|
+
PAN Wizard has 14+ documentation files containing cross-referenced counts, command lists, feature descriptions, and version numbers that must stay synchronized. The current `focus sync` command only checks README.md for 3 entity count patterns (commands, agents, modules). An end-to-end audit revealed 20+ staleness issues across 8 files that focus-sync completely misses: stale test counts, old command names from the v1.0.0 rename, wrong runtime prefixes, missing command entries in tables, and placeholder URLs.
|
|
10
|
+
|
|
11
|
+
## Demand Evidence
|
|
12
|
+
|
|
13
|
+
| Evidence Type | Source | Finding |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| User-stated pain | This conversation | User explicitly requested end-to-end doc review |
|
|
16
|
+
| Repeated manual work | Sessions 22-26 | Every session included manual doc sync |
|
|
17
|
+
| Demonstrated miss | v2.3.0 focus-auto | 37->38 count stale in 3 files after adding a command |
|
|
18
|
+
|
|
19
|
+
## Scope
|
|
20
|
+
|
|
21
|
+
### In Scope
|
|
22
|
+
- Enhance `checkDocStaleness()` to scan all doc files
|
|
23
|
+
- Add old command name detection using v1.0.0 rename map
|
|
24
|
+
- Add command table completeness checking
|
|
25
|
+
- Add version cross-reference (package.json vs CHANGELOG)
|
|
26
|
+
- Add COMMAND_RENAME_MAP to constants.cjs
|
|
27
|
+
|
|
28
|
+
### Out of Scope
|
|
29
|
+
- Auto-fix (stays in command .md orchestrator)
|
|
30
|
+
- Content/style rewriting
|
|
31
|
+
- New agents or hooks
|
|
32
|
+
|
|
33
|
+
## Success Criteria
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
SC-1: focus sync detects count staleness in ALL doc files, not just README
|
|
37
|
+
SC-2: focus sync detects old command names from v1.0.0 rename
|
|
38
|
+
SC-3: focus sync reports commands missing from listing tables
|
|
39
|
+
SC-4: focus sync verifies package.json version matches CHANGELOG
|
|
40
|
+
SC-5: Zero regressions in existing test suite
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Current Implementation
|
|
44
|
+
|
|
45
|
+
`checkDocStaleness()` in focus.cjs (lines 397-431):
|
|
46
|
+
1. Counts actual commands, agents, modules from disk
|
|
47
|
+
2. Reads only README.md
|
|
48
|
+
3. Uses `checkCount()` regex: `(\d+)\s+{entity}`
|
|
49
|
+
4. Returns `{ stale, current, actuals }`
|
|
50
|
+
|
|
51
|
+
## Enhanced Implementation Design
|
|
52
|
+
|
|
53
|
+
### New checks added to `checkDocStaleness()`:
|
|
54
|
+
|
|
55
|
+
| Check | Description | Files Scanned |
|
|
56
|
+
|-------|-------------|---------------|
|
|
57
|
+
| Multi-file counts | Existing count regex applied to all docs | README, ARCHITECTURE, DEVELOPMENT, CONTRIBUTING, USER-GUIDE, CLI-REFERENCE |
|
|
58
|
+
| Old name detection | Scan for COMMAND_RENAME_MAP keys | All docs/*.md |
|
|
59
|
+
| Command table completeness | Parse tables with `/pan:` entries | README, USER-GUIDE |
|
|
60
|
+
| Version consistency | Compare package.json vs CHANGELOG header | package.json, CHANGELOG.md |
|
|
61
|
+
| Workflow count | Count workflow .md files, check against docs | ARCHITECTURE.md |
|
|
62
|
+
| Test count | Match `N tests` patterns | DEVELOPMENT.md |
|
|
63
|
+
|
|
64
|
+
### New constant: COMMAND_RENAME_MAP
|
|
65
|
+
|
|
66
|
+
```js
|
|
67
|
+
const COMMAND_RENAME_MAP = {
|
|
68
|
+
'execute-phase': 'exec-phase',
|
|
69
|
+
'verify-work': 'verify-phase',
|
|
70
|
+
'list-phase-assumptions': 'assumptions',
|
|
71
|
+
'add-tests': 'phase-tests',
|
|
72
|
+
'context-budget': 'phase-budget',
|
|
73
|
+
'pause-work': 'pause',
|
|
74
|
+
'resume-work': 'resume',
|
|
75
|
+
'set-profile': 'profile',
|
|
76
|
+
'new-milestone': 'milestone-new',
|
|
77
|
+
'complete-milestone': 'milestone-done',
|
|
78
|
+
'audit-milestone': 'milestone-audit',
|
|
79
|
+
'plan-milestone-gaps': 'milestone-gaps',
|
|
80
|
+
'cleanup': 'milestone-cleanup',
|
|
81
|
+
'add-todo': 'todo-add',
|
|
82
|
+
'check-todos': 'todo-check',
|
|
83
|
+
'join-discord': 'discord',
|
|
84
|
+
'reapply-patches': 'patches',
|
|
85
|
+
};
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Enhanced output contract (additive):
|
|
89
|
+
|
|
90
|
+
```json
|
|
91
|
+
{
|
|
92
|
+
"actuals": {
|
|
93
|
+
"commands": 38,
|
|
94
|
+
"agents": 11,
|
|
95
|
+
"modules": 15,
|
|
96
|
+
"workflows": 30,
|
|
97
|
+
"version": "2.3.0"
|
|
98
|
+
},
|
|
99
|
+
"stale": [
|
|
100
|
+
{ "file": "docs/DEVELOPMENT.md", "entity": "commands", "documented": 37, "actual": 38 }
|
|
101
|
+
],
|
|
102
|
+
"current": [
|
|
103
|
+
{ "file": "README.md", "entity": "commands", "count": 38 }
|
|
104
|
+
],
|
|
105
|
+
"old_names": [
|
|
106
|
+
{ "file": "docs/EXAMPLES.md", "old_name": "resume-work", "current_name": "resume" }
|
|
107
|
+
],
|
|
108
|
+
"missing_commands": [
|
|
109
|
+
{ "file": "docs/USER-GUIDE.md", "command": "focus-auto" }
|
|
110
|
+
],
|
|
111
|
+
"version_match": true,
|
|
112
|
+
"stale_count": 5,
|
|
113
|
+
"old_name_count": 4,
|
|
114
|
+
"missing_count": 1,
|
|
115
|
+
"needs_sync": true,
|
|
116
|
+
"check_only": true
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Document Gap Audit (2026-03-04)
|
|
121
|
+
|
|
122
|
+
### Category A: Stale Counts
|
|
123
|
+
|
|
124
|
+
| # | File | Entity | Documented | Actual |
|
|
125
|
+
|---|------|--------|------------|--------|
|
|
126
|
+
| A1 | DEVELOPMENT.md:13 | commands | 37 | 38 |
|
|
127
|
+
| A2 | DEVELOPMENT.md:46 | tests | 1277 | 1314 |
|
|
128
|
+
| A3 | DEVELOPMENT.md:57 | tests | 1277 | 1314 |
|
|
129
|
+
| A4 | DEVELOPMENT.md:249 | tests (release) | 1180 | 1314 |
|
|
130
|
+
| A5 | CONTRIBUTING.md:65 | commands | 37 | 38 |
|
|
131
|
+
|
|
132
|
+
### Category B: Missing Entries
|
|
133
|
+
|
|
134
|
+
| # | File | Missing |
|
|
135
|
+
|---|------|---------|
|
|
136
|
+
| B1 | DEVELOPMENT.md | focus-auto not mentioned |
|
|
137
|
+
|
|
138
|
+
### Category C: Incorrect References
|
|
139
|
+
|
|
140
|
+
| # | File | Issue | Fix |
|
|
141
|
+
|---|------|-------|-----|
|
|
142
|
+
| C1 | FAQ.md:13 | Copilot CLI prefix `/pan:*` | `/pan-*` |
|
|
143
|
+
| C2 | FAQ.md:13 | Copilot CLI config `~/.github/` | `~/.copilot/` |
|
|
144
|
+
| C3 | FAQ.md:67-77 | Missing --gemini and --copilot uninstall | Add entries |
|
|
145
|
+
| C4 | HOOKS.md:153-160 | Copilot CLI missing from hook support table | Add row |
|
|
146
|
+
| C5 | EXAMPLES.md:483-486 | Old command names in Quick Reference | Update 4 names |
|
|
147
|
+
| C7 | FAQ.md:106 | `verify-work` (old name) | `verify-phase` |
|
|
148
|
+
| C8 | TROUBLESHOOTING.md:839 | `your-org/pan-wizard` placeholder | `oharms/PanWizard` |
|
|
149
|
+
| C9 | EXAMPLES.md:51 | discuss-phase output → "state.md" | "context.md" |
|
|
150
|
+
| C10 | EXAMPLES.md:73 | Wrong plan path format | Correct to phases/XX-name/ format |
|
|
151
|
+
|
|
152
|
+
### Category D: Structural Issues
|
|
153
|
+
|
|
154
|
+
| # | File | Issue |
|
|
155
|
+
|---|------|-------|
|
|
156
|
+
| D1 | DEVELOPMENT.md:104 | Test example uses `it()` not `test()` |
|
|
157
|
+
| D2 | COMPARISON.md:4 | "Last verified: February 2026" |
|
|
158
|
+
| D3 | INTERNALS.md:206-214 | Model profile table inconsistent with AGENTS.md |
|
|
159
|
+
|
|
160
|
+
## Implementation Tasks
|
|
161
|
+
|
|
162
|
+
### Task 1: Fix all known doc gaps (P0 + P1)
|
|
163
|
+
- Files: FAQ.md, EXAMPLES.md, TROUBLESHOOTING.md, DEVELOPMENT.md, CONTRIBUTING.md, HOOKS.md, INTERNALS.md, COMPARISON.md
|
|
164
|
+
- Effort: S | Priority: P0
|
|
165
|
+
|
|
166
|
+
### Task 2: Add COMMAND_RENAME_MAP to constants.cjs
|
|
167
|
+
- Files: pan-wizard-core/bin/lib/constants.cjs
|
|
168
|
+
- Effort: XS | Priority: P1
|
|
169
|
+
|
|
170
|
+
### Task 3: Enhance checkDocStaleness() in focus.cjs
|
|
171
|
+
- Files: pan-wizard-core/bin/lib/focus.cjs
|
|
172
|
+
- Effort: S-M | Priority: P1
|
|
173
|
+
- Depends on: Task 2
|
|
174
|
+
|
|
175
|
+
### Task 4: Add tests for enhanced sync
|
|
176
|
+
- Files: tests/focus.test.cjs
|
|
177
|
+
- Effort: S | Priority: P1
|
|
178
|
+
- Depends on: Task 3
|
|
179
|
+
|
|
180
|
+
### Task 5: Update focus-sync.md command file
|
|
181
|
+
- Files: .claude/commands/pan/focus-sync.md, commands/pan/focus-sync.md
|
|
182
|
+
- Effort: XS | Priority: P2
|
|
183
|
+
- Depends on: Task 3
|
|
184
|
+
|
|
185
|
+
## Test Plan
|
|
186
|
+
|
|
187
|
+
### Unit tests (8+)
|
|
188
|
+
- checkOldNames: finds old names, ignores partial matches, handles multiple
|
|
189
|
+
- checkCommandTableCompleteness: detects missing, handles full table
|
|
190
|
+
- checkVersionConsistency: match, mismatch, missing files
|
|
191
|
+
- Multi-file checkCount: stale in DEVELOPMENT, current in README
|
|
192
|
+
|
|
193
|
+
### Integration tests (5+)
|
|
194
|
+
- cmdFocusSync returns old_names field
|
|
195
|
+
- cmdFocusSync returns missing_commands field
|
|
196
|
+
- cmdFocusSync returns version_match field
|
|
197
|
+
- Full output shape validation
|
|
198
|
+
- Backward compatibility (existing stale/current fields unchanged)
|
|
199
|
+
|
|
200
|
+
### E2E tests (2+)
|
|
201
|
+
- Run focus sync on PAN Wizard's own codebase
|
|
202
|
+
- Verify all check categories present in output
|