hub-launch 1.0.3
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 +144 -0
- package/README.md +195 -0
- package/bin/hublaunch +20 -0
- package/dist/commands/checkout.d.ts +7 -0
- package/dist/commands/checkout.d.ts.map +1 -0
- package/dist/commands/checkout.js +164 -0
- package/dist/commands/checkout.js.map +1 -0
- package/dist/commands/clean.d.ts +7 -0
- package/dist/commands/clean.d.ts.map +1 -0
- package/dist/commands/clean.js +206 -0
- package/dist/commands/clean.js.map +1 -0
- package/dist/commands/close.d.ts +7 -0
- package/dist/commands/close.d.ts.map +1 -0
- package/dist/commands/close.js +109 -0
- package/dist/commands/close.js.map +1 -0
- package/dist/commands/create.d.ts +7 -0
- package/dist/commands/create.d.ts.map +1 -0
- package/dist/commands/create.js +367 -0
- package/dist/commands/create.js.map +1 -0
- package/dist/commands/diff.d.ts +7 -0
- package/dist/commands/diff.d.ts.map +1 -0
- package/dist/commands/diff.js +98 -0
- package/dist/commands/diff.js.map +1 -0
- package/dist/commands/execute.d.ts +7 -0
- package/dist/commands/execute.d.ts.map +1 -0
- package/dist/commands/execute.js +376 -0
- package/dist/commands/execute.js.map +1 -0
- package/dist/commands/init.d.ts +8 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +1243 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/interactive.d.ts +12 -0
- package/dist/commands/interactive.d.ts.map +1 -0
- package/dist/commands/interactive.js +1071 -0
- package/dist/commands/interactive.js.map +1 -0
- package/dist/commands/launch.d.ts +16 -0
- package/dist/commands/launch.d.ts.map +1 -0
- package/dist/commands/launch.js +684 -0
- package/dist/commands/launch.js.map +1 -0
- package/dist/commands/login.d.ts +40 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +469 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logs.d.ts +22 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +105 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/merge.d.ts +7 -0
- package/dist/commands/merge.d.ts.map +1 -0
- package/dist/commands/merge.js +240 -0
- package/dist/commands/merge.js.map +1 -0
- package/dist/commands/preview.d.ts +7 -0
- package/dist/commands/preview.d.ts.map +1 -0
- package/dist/commands/preview.js +160 -0
- package/dist/commands/preview.js.map +1 -0
- package/dist/commands/project.d.ts +18 -0
- package/dist/commands/project.d.ts.map +1 -0
- package/dist/commands/project.js +352 -0
- package/dist/commands/project.js.map +1 -0
- package/dist/commands/respond.d.ts +7 -0
- package/dist/commands/respond.d.ts.map +1 -0
- package/dist/commands/respond.js +112 -0
- package/dist/commands/respond.js.map +1 -0
- package/dist/commands/setPriority.d.ts +7 -0
- package/dist/commands/setPriority.d.ts.map +1 -0
- package/dist/commands/setPriority.js +112 -0
- package/dist/commands/setPriority.js.map +1 -0
- package/dist/commands/track.d.ts +7 -0
- package/dist/commands/track.d.ts.map +1 -0
- package/dist/commands/track.js +140 -0
- package/dist/commands/track.js.map +1 -0
- package/dist/commands/upload.d.ts +21 -0
- package/dist/commands/upload.d.ts.map +1 -0
- package/dist/commands/upload.js +145 -0
- package/dist/commands/upload.js.map +1 -0
- package/dist/commands/view.d.ts +7 -0
- package/dist/commands/view.d.ts.map +1 -0
- package/dist/commands/view.js +168 -0
- package/dist/commands/view.js.map +1 -0
- package/dist/commands/watch.d.ts +7 -0
- package/dist/commands/watch.d.ts.map +1 -0
- package/dist/commands/watch.js +438 -0
- package/dist/commands/watch.js.map +1 -0
- package/dist/commands/worktree.d.ts +7 -0
- package/dist/commands/worktree.d.ts.map +1 -0
- package/dist/commands/worktree.js +122 -0
- package/dist/commands/worktree.js.map +1 -0
- package/dist/config/command-names.d.ts +16 -0
- package/dist/config/command-names.d.ts.map +1 -0
- package/dist/config/command-names.js +17 -0
- package/dist/config/command-names.js.map +1 -0
- package/dist/config/constants.d.ts +12 -0
- package/dist/config/constants.d.ts.map +1 -0
- package/dist/config/constants.js +12 -0
- package/dist/config/constants.js.map +1 -0
- package/dist/config/index.d.ts +47 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +175 -0
- package/dist/config/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +148 -0
- package/dist/index.js.map +1 -0
- package/dist/services/api/HulaApiClient.d.ts +170 -0
- package/dist/services/api/HulaApiClient.d.ts.map +1 -0
- package/dist/services/api/HulaApiClient.js +233 -0
- package/dist/services/api/HulaApiClient.js.map +1 -0
- package/dist/services/diff/DiffService.d.ts +44 -0
- package/dist/services/diff/DiffService.d.ts.map +1 -0
- package/dist/services/diff/DiffService.js +126 -0
- package/dist/services/diff/DiffService.js.map +1 -0
- package/dist/services/editor/EditorService.d.ts +53 -0
- package/dist/services/editor/EditorService.d.ts.map +1 -0
- package/dist/services/editor/EditorService.js +161 -0
- package/dist/services/editor/EditorService.js.map +1 -0
- package/dist/services/git/GitService.d.ts +124 -0
- package/dist/services/git/GitService.d.ts.map +1 -0
- package/dist/services/git/GitService.js +423 -0
- package/dist/services/git/GitService.js.map +1 -0
- package/dist/services/git/WorktreeService.d.ts +144 -0
- package/dist/services/git/WorktreeService.d.ts.map +1 -0
- package/dist/services/git/WorktreeService.js +505 -0
- package/dist/services/git/WorktreeService.js.map +1 -0
- package/dist/services/github/ActionsService.d.ts +66 -0
- package/dist/services/github/ActionsService.d.ts.map +1 -0
- package/dist/services/github/ActionsService.js +114 -0
- package/dist/services/github/ActionsService.js.map +1 -0
- package/dist/services/github/AssetUploadService.d.ts +103 -0
- package/dist/services/github/AssetUploadService.d.ts.map +1 -0
- package/dist/services/github/AssetUploadService.js +299 -0
- package/dist/services/github/AssetUploadService.js.map +1 -0
- package/dist/services/github/BatchCopilotDetectionService.d.ts +58 -0
- package/dist/services/github/BatchCopilotDetectionService.d.ts.map +1 -0
- package/dist/services/github/BatchCopilotDetectionService.js +321 -0
- package/dist/services/github/BatchCopilotDetectionService.js.map +1 -0
- package/dist/services/github/CopilotDetectionService.d.ts +40 -0
- package/dist/services/github/CopilotDetectionService.d.ts.map +1 -0
- package/dist/services/github/CopilotDetectionService.js +280 -0
- package/dist/services/github/CopilotDetectionService.js.map +1 -0
- package/dist/services/github/CopilotService.d.ts +27 -0
- package/dist/services/github/CopilotService.d.ts.map +1 -0
- package/dist/services/github/CopilotService.js +249 -0
- package/dist/services/github/CopilotService.js.map +1 -0
- package/dist/services/github/DeploymentDetectionService.d.ts +38 -0
- package/dist/services/github/DeploymentDetectionService.d.ts.map +1 -0
- package/dist/services/github/DeploymentDetectionService.js +104 -0
- package/dist/services/github/DeploymentDetectionService.js.map +1 -0
- package/dist/services/github/GithubAppService.d.ts +40 -0
- package/dist/services/github/GithubAppService.d.ts.map +1 -0
- package/dist/services/github/GithubAppService.js +187 -0
- package/dist/services/github/GithubAppService.js.map +1 -0
- package/dist/services/github/IssueService.d.ts +65 -0
- package/dist/services/github/IssueService.d.ts.map +1 -0
- package/dist/services/github/IssueService.js +231 -0
- package/dist/services/github/IssueService.js.map +1 -0
- package/dist/services/github/LabelService.d.ts +36 -0
- package/dist/services/github/LabelService.d.ts.map +1 -0
- package/dist/services/github/LabelService.js +122 -0
- package/dist/services/github/LabelService.js.map +1 -0
- package/dist/services/github/PRService.d.ts +77 -0
- package/dist/services/github/PRService.d.ts.map +1 -0
- package/dist/services/github/PRService.js +287 -0
- package/dist/services/github/PRService.js.map +1 -0
- package/dist/services/github/ProjectService.d.ts +144 -0
- package/dist/services/github/ProjectService.d.ts.map +1 -0
- package/dist/services/github/ProjectService.js +804 -0
- package/dist/services/github/ProjectService.js.map +1 -0
- package/dist/services/hooks/HookExecutor.d.ts +66 -0
- package/dist/services/hooks/HookExecutor.d.ts.map +1 -0
- package/dist/services/hooks/HookExecutor.js +227 -0
- package/dist/services/hooks/HookExecutor.js.map +1 -0
- package/dist/services/hooks/index.d.ts +2 -0
- package/dist/services/hooks/index.d.ts.map +1 -0
- package/dist/services/hooks/index.js +2 -0
- package/dist/services/hooks/index.js.map +1 -0
- package/dist/services/logs/LogFormatterService.d.ts +17 -0
- package/dist/services/logs/LogFormatterService.d.ts.map +1 -0
- package/dist/services/logs/LogFormatterService.js +35 -0
- package/dist/services/logs/LogFormatterService.js.map +1 -0
- package/dist/services/logs/TempFileService.d.ts +27 -0
- package/dist/services/logs/TempFileService.d.ts.map +1 -0
- package/dist/services/logs/TempFileService.js +90 -0
- package/dist/services/logs/TempFileService.js.map +1 -0
- package/dist/services/logs/index.d.ts +3 -0
- package/dist/services/logs/index.d.ts.map +1 -0
- package/dist/services/logs/index.js +4 -0
- package/dist/services/logs/index.js.map +1 -0
- package/dist/services/plan/PlanService.d.ts +70 -0
- package/dist/services/plan/PlanService.d.ts.map +1 -0
- package/dist/services/plan/PlanService.js +211 -0
- package/dist/services/plan/PlanService.js.map +1 -0
- package/dist/services/polling/GitHubDirectPollingAdapter.d.ts +16 -0
- package/dist/services/polling/GitHubDirectPollingAdapter.d.ts.map +1 -0
- package/dist/services/polling/GitHubDirectPollingAdapter.js +87 -0
- package/dist/services/polling/GitHubDirectPollingAdapter.js.map +1 -0
- package/dist/services/polling/HulaServerPollingAdapter.d.ts +23 -0
- package/dist/services/polling/HulaServerPollingAdapter.d.ts.map +1 -0
- package/dist/services/polling/HulaServerPollingAdapter.js +78 -0
- package/dist/services/polling/HulaServerPollingAdapter.js.map +1 -0
- package/dist/services/polling/IStatusPollingAdapter.d.ts +29 -0
- package/dist/services/polling/IStatusPollingAdapter.d.ts.map +1 -0
- package/dist/services/polling/IStatusPollingAdapter.js +2 -0
- package/dist/services/polling/IStatusPollingAdapter.js.map +1 -0
- package/dist/services/polling/StatusPollingAdapterFactory.d.ts +14 -0
- package/dist/services/polling/StatusPollingAdapterFactory.d.ts.map +1 -0
- package/dist/services/polling/StatusPollingAdapterFactory.js +41 -0
- package/dist/services/polling/StatusPollingAdapterFactory.js.map +1 -0
- package/dist/services/polling/index.d.ts +5 -0
- package/dist/services/polling/index.d.ts.map +1 -0
- package/dist/services/polling/index.js +5 -0
- package/dist/services/polling/index.js.map +1 -0
- package/dist/services/preview/PreviewService.d.ts +86 -0
- package/dist/services/preview/PreviewService.d.ts.map +1 -0
- package/dist/services/preview/PreviewService.js +439 -0
- package/dist/services/preview/PreviewService.js.map +1 -0
- package/dist/services/tracking/ProjectTrackingAdapter.d.ts +41 -0
- package/dist/services/tracking/ProjectTrackingAdapter.d.ts.map +1 -0
- package/dist/services/tracking/ProjectTrackingAdapter.js +230 -0
- package/dist/services/tracking/ProjectTrackingAdapter.js.map +1 -0
- package/dist/services/tracking/RemoteTrackingAdapter.d.ts +62 -0
- package/dist/services/tracking/RemoteTrackingAdapter.d.ts.map +1 -0
- package/dist/services/tracking/RemoteTrackingAdapter.js +242 -0
- package/dist/services/tracking/RemoteTrackingAdapter.js.map +1 -0
- package/dist/services/tracking/TrackingAdapterFactory.d.ts +25 -0
- package/dist/services/tracking/TrackingAdapterFactory.d.ts.map +1 -0
- package/dist/services/tracking/TrackingAdapterFactory.js +55 -0
- package/dist/services/tracking/TrackingAdapterFactory.js.map +1 -0
- package/dist/services/tracking/TrackingService.d.ts +104 -0
- package/dist/services/tracking/TrackingService.d.ts.map +1 -0
- package/dist/services/tracking/TrackingService.js +256 -0
- package/dist/services/tracking/TrackingService.js.map +1 -0
- package/dist/services/tracking/UntrackedIssuesService.d.ts +20 -0
- package/dist/services/tracking/UntrackedIssuesService.d.ts.map +1 -0
- package/dist/services/tracking/UntrackedIssuesService.js +148 -0
- package/dist/services/tracking/UntrackedIssuesService.js.map +1 -0
- package/dist/services/tracking/local-file-migration.d.ts +16 -0
- package/dist/services/tracking/local-file-migration.d.ts.map +1 -0
- package/dist/services/tracking/local-file-migration.js +86 -0
- package/dist/services/tracking/local-file-migration.js.map +1 -0
- package/dist/templates/planning-instructions.md +752 -0
- package/dist/templates/proceed-instructions.md +453 -0
- package/dist/templates/scripts/hula-fix-commit.sh +110 -0
- package/dist/templates/scripts/hula-fix-setup.sh +145 -0
- package/dist/templates/scripts/hula-launch-run.sh +89 -0
- package/dist/templates/scripts/hula-merge-local.sh +138 -0
- package/dist/templates/scripts/hula-merge-remote.sh +74 -0
- package/dist/templates/scripts/hula-read-config.sh +38 -0
- package/dist/templates/scripts/hula-verify-gather.sh +135 -0
- package/dist/templates/scripts/hula-verify-post.sh +84 -0
- package/dist/templates/skills/hula-confirm/SKILL.md +361 -0
- package/dist/templates/skills/hula-create/SKILL.md +211 -0
- package/dist/templates/skills/hula-fix/SKILL.md +224 -0
- package/dist/templates/skills/hula-launch/SKILL.md +159 -0
- package/dist/templates/skills/hula-log/SKILL.md +105 -0
- package/dist/templates/skills/hula-merge/SKILL.md +387 -0
- package/dist/templates/skills/hula-plan/SKILL.md +148 -0
- package/dist/templates/skills/hula-upload/SKILL.md +115 -0
- package/dist/templates/skills/hula-verify/SKILL.md +754 -0
- package/dist/types/common.schema.d.ts +46 -0
- package/dist/types/common.schema.d.ts.map +1 -0
- package/dist/types/common.schema.js +60 -0
- package/dist/types/common.schema.js.map +1 -0
- package/dist/types/config.schema.d.ts +443 -0
- package/dist/types/config.schema.d.ts.map +1 -0
- package/dist/types/config.schema.js +126 -0
- package/dist/types/config.schema.js.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +7 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/issue.schema.d.ts +136 -0
- package/dist/types/issue.schema.d.ts.map +1 -0
- package/dist/types/issue.schema.js +49 -0
- package/dist/types/issue.schema.js.map +1 -0
- package/dist/types/pr.schema.d.ts +118 -0
- package/dist/types/pr.schema.d.ts.map +1 -0
- package/dist/types/pr.schema.js +40 -0
- package/dist/types/pr.schema.js.map +1 -0
- package/dist/types/tracking.schema.d.ts +340 -0
- package/dist/types/tracking.schema.d.ts.map +1 -0
- package/dist/types/tracking.schema.js +56 -0
- package/dist/types/tracking.schema.js.map +1 -0
- package/dist/utils/browser-launcher.d.ts +60 -0
- package/dist/utils/browser-launcher.d.ts.map +1 -0
- package/dist/utils/browser-launcher.js +263 -0
- package/dist/utils/browser-launcher.js.map +1 -0
- package/dist/utils/cache.d.ts +44 -0
- package/dist/utils/cache.d.ts.map +1 -0
- package/dist/utils/cache.js +94 -0
- package/dist/utils/cache.js.map +1 -0
- package/dist/utils/config-parser.d.ts +16 -0
- package/dist/utils/config-parser.d.ts.map +1 -0
- package/dist/utils/config-parser.js +210 -0
- package/dist/utils/config-parser.js.map +1 -0
- package/dist/utils/editor.d.ts +21 -0
- package/dist/utils/editor.d.ts.map +1 -0
- package/dist/utils/editor.js +213 -0
- package/dist/utils/editor.js.map +1 -0
- package/dist/utils/git-utils.d.ts +5 -0
- package/dist/utils/git-utils.d.ts.map +1 -0
- package/dist/utils/git-utils.js +18 -0
- package/dist/utils/git-utils.js.map +1 -0
- package/dist/utils/github-cli.d.ts +62 -0
- package/dist/utils/github-cli.d.ts.map +1 -0
- package/dist/utils/github-cli.js +492 -0
- package/dist/utils/github-cli.js.map +1 -0
- package/dist/utils/logger.d.ts +45 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +118 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/open-url.d.ts +19 -0
- package/dist/utils/open-url.d.ts.map +1 -0
- package/dist/utils/open-url.js +37 -0
- package/dist/utils/open-url.js.map +1 -0
- package/dist/utils/project-resolver.d.ts +13 -0
- package/dist/utils/project-resolver.d.ts.map +1 -0
- package/dist/utils/project-resolver.js +35 -0
- package/dist/utils/project-resolver.js.map +1 -0
- package/dist/utils/prompts.d.ts +80 -0
- package/dist/utils/prompts.d.ts.map +1 -0
- package/dist/utils/prompts.js +326 -0
- package/dist/utils/prompts.js.map +1 -0
- package/dist/utils/shell.d.ts +54 -0
- package/dist/utils/shell.d.ts.map +1 -0
- package/dist/utils/shell.js +152 -0
- package/dist/utils/shell.js.map +1 -0
- package/dist/utils/validators.d.ts +32 -0
- package/dist/utils/validators.d.ts.map +1 -0
- package/dist/utils/validators.js +64 -0
- package/dist/utils/validators.js.map +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1,754 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: hula-verify
|
|
3
|
+
description: Verify that a PR implementation matches the plan acceptance criteria. Use when asked to verify, review, or check a PR against its plan.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
argument-hint: "[issue-number]"
|
|
6
|
+
allowed-tools: Bash Read
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
You are an expert code reviewer for the HubLaunch project, responsible for verifying that Copilot (remote or local) has properly implemented all changes specified in an issue's plan.
|
|
10
|
+
|
|
11
|
+
## Instructions
|
|
12
|
+
|
|
13
|
+
Your job is to:
|
|
14
|
+
|
|
15
|
+
1. **Auto-detect issue number** from chat context (or use explicit number)
|
|
16
|
+
2. **Fetch issue details** and read the plan from issue body
|
|
17
|
+
3. **Find the associated PR** (most recent PR linked to this issue)
|
|
18
|
+
4. **Parse the plan** to extract acceptance criteria and implementation steps
|
|
19
|
+
5. **Analyze PR changes** (files, tests, documentation)
|
|
20
|
+
6. **Compare plan vs. implementation** and generate verification checklist
|
|
21
|
+
7. **Display report in chat** with option to post to PR
|
|
22
|
+
|
|
23
|
+
## Input Format
|
|
24
|
+
|
|
25
|
+
User will provide:
|
|
26
|
+
```
|
|
27
|
+
/hula-verify
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Or with explicit issue number:
|
|
31
|
+
```
|
|
32
|
+
/hula-verify 42
|
|
33
|
+
/hula-verify <owner>/<repo>#42
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Examples:
|
|
37
|
+
- `/hula-verify` (auto-detect from chat)
|
|
38
|
+
- `/hula-verify 42`
|
|
39
|
+
- `/hula-verify <owner>/<repo>#42`
|
|
40
|
+
|
|
41
|
+
User input: $ARGUMENTS
|
|
42
|
+
|
|
43
|
+
## Workflow
|
|
44
|
+
|
|
45
|
+
### Step 1: Detect Issue Number
|
|
46
|
+
|
|
47
|
+
**Priority 1: Check user input for explicit issue number**
|
|
48
|
+
- Look for pattern: `<owner>/<repo>#\d+` or `#\d+` or just `\d+` in user input
|
|
49
|
+
- If found, extract and use this issue number
|
|
50
|
+
|
|
51
|
+
**Priority 2: Check chat history for automatic detection**
|
|
52
|
+
- Look for previous `/hula-create` output in THIS chat
|
|
53
|
+
- Parse text like: "Created issue YizYah/hub-launch#42"
|
|
54
|
+
- Also check HTML comment: `<!-- hula-issue: 42 -->`
|
|
55
|
+
|
|
56
|
+
**If no issue found**:
|
|
57
|
+
```
|
|
58
|
+
â No issue number found.
|
|
59
|
+
|
|
60
|
+
Usage: /hula-verify [issue-number]
|
|
61
|
+
|
|
62
|
+
Examples:
|
|
63
|
+
- /hula-verify (auto-detect from chat)
|
|
64
|
+
- /hula-verify 42
|
|
65
|
+
- /hula-verify YizYah/hub-launch#42
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Stop execution here. Do not proceed.
|
|
69
|
+
|
|
70
|
+
### Step 2: Gather Verification Data (Script)
|
|
71
|
+
|
|
72
|
+
Run the gather script â it fetches issue details, finds the linked PR, and downloads file changes and diff in one terminal approval:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
bash .github/scripts/hula-verify-gather.sh <issue-number>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
The script outputs JSON with `status`, `issueTitle`, `issueState`, `issueUrl`, `prNumber`, `prTitle`, `prUrl`, `prState`, `prBranch`, `prIsDraft`, `diffFile`, `filesChanged`, and `lines`.
|
|
79
|
+
|
|
80
|
+
Parse the JSON output:
|
|
81
|
+
- If `status` is `"error"`, display the `message` and stop.
|
|
82
|
+
- If `status` is `"success"`, extract all fields for later steps.
|
|
83
|
+
|
|
84
|
+
Display based on output:
|
|
85
|
+
```
|
|
86
|
+
đ Verifying Issue #42: <issueTitle>
|
|
87
|
+
|
|
88
|
+
đ Issue URL: <issueUrl>
|
|
89
|
+
Status: <issueState>
|
|
90
|
+
|
|
91
|
+
đ Found PR #<prNumber>: <prTitle>
|
|
92
|
+
|
|
93
|
+
đ PR URL: <prUrl>
|
|
94
|
+
Status: <prState>
|
|
95
|
+
Branch: <prBranch>
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**If `prIsDraft` is `true`**:
|
|
99
|
+
```
|
|
100
|
+
â ī¸ Warning: This PR is in DRAFT state.
|
|
101
|
+
|
|
102
|
+
Copilot may still be working on the implementation. The verification results might be incomplete.
|
|
103
|
+
|
|
104
|
+
Do you want to continue with verification anyway? (y/n)
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Wait for user response. If no, stop execution.
|
|
108
|
+
|
|
109
|
+
Display the file summary from `filesChanged` and `lines`:
|
|
110
|
+
```
|
|
111
|
+
đ PR Changes Summary:
|
|
112
|
+
|
|
113
|
+
Files Changed: <filesChanged.total>
|
|
114
|
+
- Code files: <filesChanged.code>
|
|
115
|
+
- Test files: <filesChanged.test>
|
|
116
|
+
- Documentation files: <filesChanged.doc>
|
|
117
|
+
- Configuration files: <filesChanged.config>
|
|
118
|
+
|
|
119
|
+
Lines: +<lines.additions> -<lines.deletions>
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Step 3: Parse Plan from Issue Body
|
|
123
|
+
|
|
124
|
+
The issue body (from the gather script result) contains the full plan. Parse it to extract:
|
|
125
|
+
|
|
126
|
+
1. **Acceptance Criteria** - Look for sections like:
|
|
127
|
+
- "## Acceptance Criteria"
|
|
128
|
+
- "## Success Criteria"
|
|
129
|
+
- Markdown checkboxes: `- [ ]` or `- [x]`
|
|
130
|
+
|
|
131
|
+
2. **Implementation Steps** - Look for sections like:
|
|
132
|
+
- "## Implementation Steps"
|
|
133
|
+
- "## Detailed Requirements"
|
|
134
|
+
- Organized phases or numbered lists
|
|
135
|
+
|
|
136
|
+
3. **Testing Requirements** - Look for sections like:
|
|
137
|
+
- "## Testing Strategy"
|
|
138
|
+
- "## Testing Requirements"
|
|
139
|
+
- Mentions of unit tests, integration tests, etc.
|
|
140
|
+
|
|
141
|
+
4. **Documentation Updates** - Look for sections like:
|
|
142
|
+
- "## Documentation Updates"
|
|
143
|
+
- "## Documentation"
|
|
144
|
+
- Mentions of README, CHANGELOG, etc.
|
|
145
|
+
|
|
146
|
+
**If no plan structure found in issue body**:
|
|
147
|
+
```
|
|
148
|
+
â ī¸ No plan structure found in issue body.
|
|
149
|
+
|
|
150
|
+
The issue may not have a detailed plan, or it might be in a different format.
|
|
151
|
+
|
|
152
|
+
Options:
|
|
153
|
+
1. Provide plan file path manually: /hula-verify --plan <path>
|
|
154
|
+
2. Continue with basic verification (checking files and tests only)
|
|
155
|
+
|
|
156
|
+
How would you like to proceed?
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
If user provides plan path, read the plan from that file instead.
|
|
160
|
+
If user wants basic verification, skip to Step 5 with simplified checks.
|
|
161
|
+
|
|
162
|
+
### Step 4: Analyze Implementation vs. Plan
|
|
163
|
+
|
|
164
|
+
For each acceptance criterion in the plan:
|
|
165
|
+
|
|
166
|
+
1. **Check if evidence exists in PR changes**
|
|
167
|
+
- Do file changes align with the criterion?
|
|
168
|
+
- Are there tests for this functionality?
|
|
169
|
+
- Is documentation updated if needed?
|
|
170
|
+
|
|
171
|
+
2. **Determine status**:
|
|
172
|
+
- â
**Met**: Clear evidence that criterion is addressed
|
|
173
|
+
- â ī¸ **Partial**: Some evidence but incomplete or unclear
|
|
174
|
+
- â **Missing**: No evidence found in PR changes
|
|
175
|
+
- âšī¸ **Info**: Additional notes or context
|
|
176
|
+
|
|
177
|
+
3. **Provide evidence**:
|
|
178
|
+
- Specific files changed
|
|
179
|
+
- Test files added/modified
|
|
180
|
+
- Documentation updates
|
|
181
|
+
|
|
182
|
+
### Step 5: Generate Verification Report
|
|
183
|
+
|
|
184
|
+
Create a detailed markdown report with the following sections:
|
|
185
|
+
|
|
186
|
+
#### Header
|
|
187
|
+
```markdown
|
|
188
|
+
## đ Verification Report for Issue #<number>
|
|
189
|
+
|
|
190
|
+
**Issue**: <issue-title>
|
|
191
|
+
**PR**: #<pr-number> - <pr-title>
|
|
192
|
+
**Status**: <PR-status> (<draft|ready|merged>)
|
|
193
|
+
**Plan**: Found in issue body
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
#### Acceptance Criteria Section
|
|
199
|
+
```markdown
|
|
200
|
+
### Acceptance Criteria
|
|
201
|
+
|
|
202
|
+
â
**AC1**: <criterion-description>
|
|
203
|
+
- Evidence: Changes in `<file-paths>`
|
|
204
|
+
- Tests: Added `<test-files>`
|
|
205
|
+
- Notes: <additional-context>
|
|
206
|
+
|
|
207
|
+
â **AC2**: <criterion-description>
|
|
208
|
+
- Missing: <what-is-missing>
|
|
209
|
+
- Recommendation: <suggested-action>
|
|
210
|
+
|
|
211
|
+
â ī¸ **AC3**: <criterion-description>
|
|
212
|
+
- Partial: <what-was-found>
|
|
213
|
+
- Needs: <what-is-still-needed>
|
|
214
|
+
- Recommendation: <suggested-action>
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
#### Implementation Steps Section (if available)
|
|
220
|
+
```markdown
|
|
221
|
+
### Implementation Steps Verification
|
|
222
|
+
|
|
223
|
+
**Phase 1: <phase-name>**
|
|
224
|
+
â
Step 1: <step-description>
|
|
225
|
+
â
Step 2: <step-description>
|
|
226
|
+
â Step 3: <step-description> - Not found in PR changes
|
|
227
|
+
|
|
228
|
+
**Phase 2: <phase-name>**
|
|
229
|
+
â ī¸ Step 1: <step-description> - Partially implemented
|
|
230
|
+
â
Step 2: <step-description>
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
#### Files Changed Section
|
|
236
|
+
```markdown
|
|
237
|
+
### Files Changed Analysis
|
|
238
|
+
|
|
239
|
+
**Code Files** (<count> files):
|
|
240
|
+
- `<file-path>` (+<additions> -<deletions>)
|
|
241
|
+
- `<file-path>` (+<additions> -<deletions>)
|
|
242
|
+
|
|
243
|
+
**Test Files** (<count> files):
|
|
244
|
+
- `<test-file-path>` (+<additions> -<deletions>)
|
|
245
|
+
- `<test-file-path>` (+<additions> -<deletions>)
|
|
246
|
+
|
|
247
|
+
**Documentation Files** (<count> files):
|
|
248
|
+
- `<doc-file-path>` (+<additions> -<deletions>)
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
#### Summary Section
|
|
254
|
+
```markdown
|
|
255
|
+
### Summary
|
|
256
|
+
|
|
257
|
+
- **Acceptance Criteria**: <met-count>/<total-count> met, <partial-count> partial, <missing-count> missing
|
|
258
|
+
- **Implementation Steps**: <completed-count>/<total-count> complete
|
|
259
|
+
- **Files Changed**: <total-files> files (<code> code, <test> test, <doc> doc)
|
|
260
|
+
- **Tests Added**: <test-count> test files
|
|
261
|
+
- **Documentation**: <status>
|
|
262
|
+
|
|
263
|
+
### Overall Status
|
|
264
|
+
|
|
265
|
+
<Choose one:>
|
|
266
|
+
â
**READY TO MERGE** - All acceptance criteria met
|
|
267
|
+
â ī¸ **NEEDS ATTENTION** - Some criteria missing or incomplete
|
|
268
|
+
â **NOT READY** - Major gaps in implementation
|
|
269
|
+
|
|
270
|
+
### Recommendations
|
|
271
|
+
|
|
272
|
+
<numbered list of specific actions to take>
|
|
273
|
+
1. <recommendation>
|
|
274
|
+
2. <recommendation>
|
|
275
|
+
3. <recommendation>
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### Step 6: Display Report and Offer PR Comment
|
|
281
|
+
|
|
282
|
+
Display the complete verification report in the chat.
|
|
283
|
+
|
|
284
|
+
Then ask:
|
|
285
|
+
```
|
|
286
|
+
đ Post this verification to PR as a comment for @copilot to review? (y/n)
|
|
287
|
+
|
|
288
|
+
This will add the report as a comment on PR #<pr-number> and mention @copilot.
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
Wait for user response.
|
|
292
|
+
|
|
293
|
+
**If user says yes (y)**:
|
|
294
|
+
|
|
295
|
+
Save the verification report to a temporary file, then run the post script (one terminal approval):
|
|
296
|
+
|
|
297
|
+
```bash
|
|
298
|
+
bash .github/scripts/hula-verify-post.sh <pr-number> /tmp/hula-verify-report-<pr-number>.md
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
The script outputs JSON with `status`, `prNumber`, and `commentUrl`.
|
|
302
|
+
|
|
303
|
+
Parse the JSON output:
|
|
304
|
+
- If `status` is `"error"`, display the `message`.
|
|
305
|
+
- If `status` is `"success"`, display:
|
|
306
|
+
```
|
|
307
|
+
â
Verification report posted to PR #<pr-number>
|
|
308
|
+
|
|
309
|
+
@copilot has been notified and can now review and address any gaps.
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
**If user says no (n)**:
|
|
313
|
+
```
|
|
314
|
+
âšī¸ Verification complete. Report displayed in chat only.
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
## Advanced Options
|
|
318
|
+
|
|
319
|
+
### Manual Plan Path
|
|
320
|
+
|
|
321
|
+
If user provides a plan file path:
|
|
322
|
+
```
|
|
323
|
+
/hula-verify 42 --plan .hublaunch/plans/2025-12-22-feature.md
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
Read the plan from the specified file instead of the issue body.
|
|
327
|
+
|
|
328
|
+
### Skip PR Comment Prompt
|
|
329
|
+
|
|
330
|
+
If user wants to automatically post to PR:
|
|
331
|
+
```
|
|
332
|
+
/hula-verify 42 --post
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
Skip the "post to PR?" prompt and automatically post the comment.
|
|
336
|
+
|
|
337
|
+
### Basic Verification Mode
|
|
338
|
+
|
|
339
|
+
If no plan is found:
|
|
340
|
+
```
|
|
341
|
+
/hula-verify 42 --basic
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
Perform basic verification:
|
|
345
|
+
- List files changed
|
|
346
|
+
- Check for test files
|
|
347
|
+
- Check for documentation updates
|
|
348
|
+
- Provide summary without acceptance criteria mapping
|
|
349
|
+
|
|
350
|
+
## Error Handling
|
|
351
|
+
|
|
352
|
+
| Scenario | Error Message |
|
|
353
|
+
|----------|---------------|
|
|
354
|
+
| No issue number | "â No issue number found. Usage: `/hula-verify [issue-number]`" |
|
|
355
|
+
| Issue not found | "â Issue #X not found. Please check the issue number." |
|
|
356
|
+
| No PR found | "â No PR found for issue #X. Implementation may not have started." |
|
|
357
|
+
| No plan in issue | "â ī¸ No plan structure found in issue body. Provide plan path or use basic mode." |
|
|
358
|
+
| GitHub CLI error | "â Failed to fetch data from GitHub: <error>" |
|
|
359
|
+
| PR comment fails | "â Failed to post comment to PR: <error>. You can copy the report manually." |
|
|
360
|
+
|
|
361
|
+
## Example Interaction 1: Full Verification with Auto-Detection
|
|
362
|
+
|
|
363
|
+
**User** (after creating issue with `/hula-create`): `/hula-verify`
|
|
364
|
+
|
|
365
|
+
**You**:
|
|
366
|
+
```
|
|
367
|
+
đ Auto-detected issue from chat: #42
|
|
368
|
+
|
|
369
|
+
đ Verifying Issue #42: Add user authentication system
|
|
370
|
+
|
|
371
|
+
đ Issue URL: <github-issue-url>
|
|
372
|
+
Status: open
|
|
373
|
+
|
|
374
|
+
đ Found PR #123: Implement user authentication
|
|
375
|
+
|
|
376
|
+
đ PR URL: <github-pr-url>
|
|
377
|
+
Status: open (ready for review)
|
|
378
|
+
Branch: copilot/issue-42
|
|
379
|
+
|
|
380
|
+
đ PR Changes Summary:
|
|
381
|
+
|
|
382
|
+
Files Changed: 12
|
|
383
|
+
- Code files: 8
|
|
384
|
+
- Test files: 3
|
|
385
|
+
- Documentation files: 1
|
|
386
|
+
- Configuration files: 0
|
|
387
|
+
|
|
388
|
+
Lines: +457 -23
|
|
389
|
+
|
|
390
|
+
---
|
|
391
|
+
|
|
392
|
+
## đ Verification Report for Issue #42
|
|
393
|
+
|
|
394
|
+
**Issue**: Add user authentication system
|
|
395
|
+
**PR**: #123 - Implement user authentication
|
|
396
|
+
**Status**: open (ready for review)
|
|
397
|
+
**Plan**: Found in issue body
|
|
398
|
+
|
|
399
|
+
---
|
|
400
|
+
|
|
401
|
+
### Acceptance Criteria
|
|
402
|
+
|
|
403
|
+
â
**AC1**: Users can sign up with email and password
|
|
404
|
+
- Evidence: Changes in `src/auth/signup.ts`, `src/services/AuthService.ts`
|
|
405
|
+
- Tests: Added `src/auth/signup.test.ts`
|
|
406
|
+
- Notes: Includes email validation and password strength checks
|
|
407
|
+
|
|
408
|
+
â
**AC2**: Users can log in with credentials
|
|
409
|
+
- Evidence: Changes in `src/auth/login.ts`, `src/services/AuthService.ts`
|
|
410
|
+
- Tests: Added `src/auth/login.test.ts`
|
|
411
|
+
- Notes: Includes session management
|
|
412
|
+
|
|
413
|
+
â **AC3**: Password reset functionality
|
|
414
|
+
- Missing: No password reset implementation found in PR
|
|
415
|
+
- Recommendation: Add password reset flow (forgot password link, email with reset token, reset page)
|
|
416
|
+
|
|
417
|
+
â ī¸ **AC4**: README includes authentication setup instructions
|
|
418
|
+
- Partial: README.md was modified but changes are minimal
|
|
419
|
+
- Needs: Detailed setup instructions for authentication
|
|
420
|
+
- Recommendation: Add section to README with configuration steps and usage examples
|
|
421
|
+
|
|
422
|
+
---
|
|
423
|
+
|
|
424
|
+
### Implementation Steps Verification
|
|
425
|
+
|
|
426
|
+
**Phase 1: Core Authentication**
|
|
427
|
+
â
Create AuthService class
|
|
428
|
+
â
Add signup method
|
|
429
|
+
â
Add login method
|
|
430
|
+
â Add password reset method - Not found in PR
|
|
431
|
+
|
|
432
|
+
**Phase 2: Testing**
|
|
433
|
+
â
Unit tests for signup
|
|
434
|
+
â
Unit tests for login
|
|
435
|
+
â Tests for password reset
|
|
436
|
+
|
|
437
|
+
**Phase 3: Documentation**
|
|
438
|
+
â ī¸ README updated - needs more detail
|
|
439
|
+
â CHANGELOG not updated
|
|
440
|
+
|
|
441
|
+
---
|
|
442
|
+
|
|
443
|
+
### Files Changed Analysis
|
|
444
|
+
|
|
445
|
+
**Code Files** (8 files):
|
|
446
|
+
- `src/services/AuthService.ts` (+234 -12)
|
|
447
|
+
- `src/auth/signup.ts` (+89 -0)
|
|
448
|
+
- `src/auth/login.ts` (+67 -0)
|
|
449
|
+
- `src/auth/session.ts` (+45 -0)
|
|
450
|
+
- `src/types/auth.ts` (+32 -0)
|
|
451
|
+
- `src/utils/password.ts` (+28 -0)
|
|
452
|
+
- `src/utils/validators.ts` (+15 -5)
|
|
453
|
+
- `src/index.ts` (+8 -6)
|
|
454
|
+
|
|
455
|
+
**Test Files** (3 files):
|
|
456
|
+
- `src/auth/signup.test.ts` (+78 -0)
|
|
457
|
+
- `src/auth/login.test.ts` (+65 -0)
|
|
458
|
+
- `src/services/AuthService.test.ts` (+52 -0)
|
|
459
|
+
|
|
460
|
+
**Documentation Files** (1 file):
|
|
461
|
+
- `README.md` (+12 -0)
|
|
462
|
+
|
|
463
|
+
---
|
|
464
|
+
|
|
465
|
+
### Summary
|
|
466
|
+
|
|
467
|
+
- **Acceptance Criteria**: 2/4 met, 1 partial, 1 missing
|
|
468
|
+
- **Implementation Steps**: 5/8 complete
|
|
469
|
+
- **Files Changed**: 12 files (8 code, 3 test, 1 doc)
|
|
470
|
+
- **Tests Added**: 3 test files (195 test lines)
|
|
471
|
+
- **Documentation**: Partial (README updated, CHANGELOG missing)
|
|
472
|
+
|
|
473
|
+
### Overall Status
|
|
474
|
+
|
|
475
|
+
â ī¸ **NEEDS ATTENTION** - Some criteria missing or incomplete
|
|
476
|
+
|
|
477
|
+
### Recommendations
|
|
478
|
+
|
|
479
|
+
1. Add password reset functionality (AC3):
|
|
480
|
+
- Create reset token generation and validation
|
|
481
|
+
- Add password reset page/endpoint
|
|
482
|
+
- Add email template for reset link
|
|
483
|
+
- Add tests for reset flow
|
|
484
|
+
|
|
485
|
+
2. Expand README documentation (AC4):
|
|
486
|
+
- Add "Authentication" section to README
|
|
487
|
+
- Include configuration steps
|
|
488
|
+
- Provide usage examples
|
|
489
|
+
- Document environment variables needed
|
|
490
|
+
|
|
491
|
+
3. Update CHANGELOG.md:
|
|
492
|
+
- Add entry for authentication feature
|
|
493
|
+
- Follow existing changelog format
|
|
494
|
+
|
|
495
|
+
4. Consider adding integration tests for complete auth flow
|
|
496
|
+
|
|
497
|
+
---
|
|
498
|
+
|
|
499
|
+
đ Post this verification to PR as a comment for @copilot to review? (y/n)
|
|
500
|
+
|
|
501
|
+
This will add the report as a comment on PR #123 and mention @copilot.
|
|
502
|
+
```
|
|
503
|
+
|
|
504
|
+
**User**: `y`
|
|
505
|
+
|
|
506
|
+
**You**:
|
|
507
|
+
```
|
|
508
|
+
â
Verification report posted to PR #123
|
|
509
|
+
|
|
510
|
+
@copilot has been notified and can now review and address any gaps.
|
|
511
|
+
|
|
512
|
+
PR comment: <github-pr-comment-url>
|
|
513
|
+
```
|
|
514
|
+
|
|
515
|
+
## Example Interaction 2: Explicit Issue Number (Fresh Chat)
|
|
516
|
+
|
|
517
|
+
**User** (new chat session): `/hula-verify 42`
|
|
518
|
+
|
|
519
|
+
**You**:
|
|
520
|
+
```
|
|
521
|
+
đ Using explicit issue number: #42
|
|
522
|
+
|
|
523
|
+
đ Verifying Issue #42: Fix button validation logic
|
|
524
|
+
|
|
525
|
+
đ Issue URL: <github-issue-url>
|
|
526
|
+
Status: closed
|
|
527
|
+
|
|
528
|
+
đ Found PR #124: Fix button validation
|
|
529
|
+
|
|
530
|
+
đ PR URL: <github-pr-url>
|
|
531
|
+
Status: merged
|
|
532
|
+
Branch: copilot/issue-42
|
|
533
|
+
|
|
534
|
+
âšī¸ Note: This PR has already been merged.
|
|
535
|
+
|
|
536
|
+
đ PR Changes Summary:
|
|
537
|
+
|
|
538
|
+
Files Changed: 3
|
|
539
|
+
- Code files: 2
|
|
540
|
+
- Test files: 1
|
|
541
|
+
- Documentation files: 0
|
|
542
|
+
|
|
543
|
+
Lines: +45 -12
|
|
544
|
+
|
|
545
|
+
---
|
|
546
|
+
|
|
547
|
+
## đ Verification Report for Issue #42
|
|
548
|
+
|
|
549
|
+
**Issue**: Fix button validation logic
|
|
550
|
+
**PR**: #124 - Fix button validation
|
|
551
|
+
**Status**: merged
|
|
552
|
+
**Plan**: Found in issue body
|
|
553
|
+
|
|
554
|
+
---
|
|
555
|
+
|
|
556
|
+
### Acceptance Criteria
|
|
557
|
+
|
|
558
|
+
â
**AC1**: Button validates input before submission
|
|
559
|
+
- Evidence: Changes in `src/components/Button.tsx`
|
|
560
|
+
- Tests: Updated `src/components/Button.test.ts`
|
|
561
|
+
- Notes: Added null check and format validation
|
|
562
|
+
|
|
563
|
+
â
**AC2**: Clear error messages displayed
|
|
564
|
+
- Evidence: Changes in `src/components/Button.tsx`, `src/utils/messages.ts`
|
|
565
|
+
- Tests: Added tests in `src/components/Button.test.ts`
|
|
566
|
+
|
|
567
|
+
â
**AC3**: All existing tests pass
|
|
568
|
+
- Evidence: Test file updated with new cases
|
|
569
|
+
- Tests: 8 tests in `src/components/Button.test.ts`
|
|
570
|
+
|
|
571
|
+
---
|
|
572
|
+
|
|
573
|
+
### Summary
|
|
574
|
+
|
|
575
|
+
- **Acceptance Criteria**: 3/3 met
|
|
576
|
+
- **Implementation Steps**: 3/3 complete
|
|
577
|
+
- **Files Changed**: 3 files (2 code, 1 test, 0 doc)
|
|
578
|
+
- **Tests Added**: 1 test file updated (3 new tests)
|
|
579
|
+
|
|
580
|
+
### Overall Status
|
|
581
|
+
|
|
582
|
+
â
**READY TO MERGE** - All acceptance criteria met
|
|
583
|
+
|
|
584
|
+
(PR was already merged)
|
|
585
|
+
|
|
586
|
+
---
|
|
587
|
+
|
|
588
|
+
đ Post this verification to PR as a comment for @copilot to review? (y/n)
|
|
589
|
+
|
|
590
|
+
This will add the report as a comment on PR #124 and mention @copilot.
|
|
591
|
+
```
|
|
592
|
+
|
|
593
|
+
## Example Interaction 3: No Plan Found
|
|
594
|
+
|
|
595
|
+
**User**: `/hula-verify 45`
|
|
596
|
+
|
|
597
|
+
**You**:
|
|
598
|
+
```
|
|
599
|
+
đ Using explicit issue number: #45
|
|
600
|
+
|
|
601
|
+
đ Verifying Issue #45: Update dependencies
|
|
602
|
+
|
|
603
|
+
đ Issue URL: <github-issue-url>
|
|
604
|
+
Status: open
|
|
605
|
+
|
|
606
|
+
đ Found PR #126: Update dependencies
|
|
607
|
+
|
|
608
|
+
đ PR URL: <github-pr-url>
|
|
609
|
+
Status: open (draft)
|
|
610
|
+
Branch: copilot/issue-45
|
|
611
|
+
|
|
612
|
+
â ī¸ Warning: This PR is in DRAFT state.
|
|
613
|
+
|
|
614
|
+
Copilot may still be working on the implementation. The verification results might be incomplete.
|
|
615
|
+
|
|
616
|
+
Do you want to continue with verification anyway? (y/n)
|
|
617
|
+
```
|
|
618
|
+
|
|
619
|
+
**User**: `y`
|
|
620
|
+
|
|
621
|
+
**You**:
|
|
622
|
+
```
|
|
623
|
+
â ī¸ No plan structure found in issue body.
|
|
624
|
+
|
|
625
|
+
The issue may not have a detailed plan, or it might be in a different format.
|
|
626
|
+
|
|
627
|
+
Options:
|
|
628
|
+
1. Provide plan file path manually
|
|
629
|
+
2. Continue with basic verification (checking files and tests only)
|
|
630
|
+
|
|
631
|
+
Proceeding with basic verification...
|
|
632
|
+
|
|
633
|
+
đ PR Changes Summary:
|
|
634
|
+
|
|
635
|
+
Files Changed: 2
|
|
636
|
+
- Code files: 0
|
|
637
|
+
- Test files: 0
|
|
638
|
+
- Documentation files: 0
|
|
639
|
+
- Configuration files: 2
|
|
640
|
+
|
|
641
|
+
Lines: +15 -15
|
|
642
|
+
|
|
643
|
+
---
|
|
644
|
+
|
|
645
|
+
## đ Basic Verification Report for Issue #45
|
|
646
|
+
|
|
647
|
+
**Issue**: Update dependencies
|
|
648
|
+
**PR**: #126 - Update dependencies
|
|
649
|
+
**Status**: open (draft)
|
|
650
|
+
**Plan**: No structured plan found
|
|
651
|
+
|
|
652
|
+
---
|
|
653
|
+
|
|
654
|
+
### Files Changed Analysis
|
|
655
|
+
|
|
656
|
+
**Configuration Files** (2 files):
|
|
657
|
+
- `package.json` (+12 -12)
|
|
658
|
+
- `package-lock.json` (+3 -3)
|
|
659
|
+
|
|
660
|
+
---
|
|
661
|
+
|
|
662
|
+
### Summary
|
|
663
|
+
|
|
664
|
+
- **Files Changed**: 2 files (0 code, 0 test, 0 doc, 2 config)
|
|
665
|
+
- **Tests Added**: 0 test files
|
|
666
|
+
- **Documentation**: No documentation changes
|
|
667
|
+
|
|
668
|
+
### Overall Status
|
|
669
|
+
|
|
670
|
+
âšī¸ **BASIC VERIFICATION** - No acceptance criteria to verify
|
|
671
|
+
|
|
672
|
+
### Observations
|
|
673
|
+
|
|
674
|
+
1. Dependencies were updated in package.json
|
|
675
|
+
2. No code changes were made
|
|
676
|
+
3. No tests were added (may not be needed for dependency updates)
|
|
677
|
+
4. No documentation was updated
|
|
678
|
+
|
|
679
|
+
### Recommendations
|
|
680
|
+
|
|
681
|
+
1. Consider updating CHANGELOG.md to document dependency changes
|
|
682
|
+
2. Verify that all tests pass with updated dependencies
|
|
683
|
+
3. Check for any breaking changes in updated packages
|
|
684
|
+
|
|
685
|
+
---
|
|
686
|
+
|
|
687
|
+
đ Post this verification to PR as a comment for @copilot to review? (y/n)
|
|
688
|
+
```
|
|
689
|
+
|
|
690
|
+
## Important Notes
|
|
691
|
+
|
|
692
|
+
### Plan Parsing Strategy
|
|
693
|
+
|
|
694
|
+
Plans may have various formats. Be flexible when parsing:
|
|
695
|
+
|
|
696
|
+
- Look for common section headers (case-insensitive)
|
|
697
|
+
- Handle both `## Acceptance Criteria` and `### Acceptance Criteria`
|
|
698
|
+
- Parse checkboxes: `- [ ]`, `- [x]`, `* [ ]`, `* [x]`
|
|
699
|
+
- Extract numbered lists: `1.`, `2.`, etc.
|
|
700
|
+
- Handle nested lists and sub-items
|
|
701
|
+
|
|
702
|
+
### Evidence Gathering
|
|
703
|
+
|
|
704
|
+
When checking if a criterion is met:
|
|
705
|
+
|
|
706
|
+
1. **Read the criterion carefully** - understand what it's asking for
|
|
707
|
+
2. **Look for direct evidence** - files, tests, or changes that directly address it
|
|
708
|
+
3. **Check related files** - service files, utils, types that support the feature
|
|
709
|
+
4. **Verify tests exist** - look for test files or test cases
|
|
710
|
+
5. **Check documentation** - README, CHANGELOG, inline comments
|
|
711
|
+
|
|
712
|
+
### Status Determination
|
|
713
|
+
|
|
714
|
+
Use clear, consistent criteria:
|
|
715
|
+
|
|
716
|
+
- â
**Met**: Unambiguous evidence that criterion is fully addressed
|
|
717
|
+
- â ī¸ **Partial**: Some evidence but incomplete, unclear, or needs review
|
|
718
|
+
- â **Missing**: No evidence found in PR changes
|
|
719
|
+
- âšī¸ **Info**: Use for additional context or observations
|
|
720
|
+
|
|
721
|
+
### Copilot Activity Detection
|
|
722
|
+
|
|
723
|
+
Check for signs that Copilot is still working:
|
|
724
|
+
|
|
725
|
+
- PR is in draft state
|
|
726
|
+
- Recent commits in the last hour
|
|
727
|
+
- PR description mentions "work in progress"
|
|
728
|
+
- Comments from Copilot indicating ongoing work
|
|
729
|
+
|
|
730
|
+
Warn users if verification might be premature.
|
|
731
|
+
|
|
732
|
+
### PR Comment Formatting
|
|
733
|
+
|
|
734
|
+
When posting to PR, ensure:
|
|
735
|
+
|
|
736
|
+
- Use proper markdown formatting
|
|
737
|
+
- Include @copilot mention at the top
|
|
738
|
+
- Keep the format clean and readable
|
|
739
|
+
- Use emoji sparingly (GitHub renders them in comments)
|
|
740
|
+
- Include links to specific files when possible
|
|
741
|
+
|
|
742
|
+
## Success Criteria
|
|
743
|
+
|
|
744
|
+
- â
Auto-detection finds issue number from chat or user input
|
|
745
|
+
- â
Issue details fetched successfully from GitHub
|
|
746
|
+
- â
PR found and linked to issue
|
|
747
|
+
- â
Plan parsed from issue body (or fallback to basic mode)
|
|
748
|
+
- â
PR changes analyzed and categorized
|
|
749
|
+
- â
Acceptance criteria mapped to evidence
|
|
750
|
+
- â
Comprehensive verification report generated
|
|
751
|
+
- â
Report displayed in chat with clear formatting
|
|
752
|
+
- â
Option to post to PR as comment (with @copilot mention)
|
|
753
|
+
- â
Graceful error handling for all failure scenarios
|
|
754
|
+
- â
Clear, actionable recommendations provided
|