fraim-framework 2.0.26 → 2.0.30
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/.github/workflows/deploy-fraim.yml +1 -1
- package/dist/registry/scripts/build-scripts-generator.js +205 -0
- package/dist/registry/scripts/cleanup-branch.js +258 -0
- package/dist/registry/scripts/evaluate-code-quality.js +66 -0
- package/dist/registry/scripts/exec-with-timeout.js +142 -0
- package/dist/registry/scripts/fraim-config.js +61 -0
- package/dist/registry/scripts/generate-engagement-emails.js +630 -0
- package/dist/registry/scripts/generic-issues-api.js +100 -0
- package/dist/registry/scripts/newsletter-helpers.js +731 -0
- package/dist/registry/scripts/openapi-generator.js +664 -0
- package/dist/registry/scripts/performance/profile-server.js +390 -0
- package/dist/registry/scripts/run-thank-you-workflow.js +92 -0
- package/dist/registry/scripts/send-newsletter-simple.js +85 -0
- package/dist/registry/scripts/send-thank-you-emails.js +54 -0
- package/dist/registry/scripts/validate-openapi-limits.js +311 -0
- package/dist/registry/scripts/validate-test-coverage.js +262 -0
- package/dist/registry/scripts/verify-test-coverage.js +66 -0
- package/dist/src/cli/commands/init.js +14 -12
- package/dist/src/cli/commands/sync.js +19 -2
- package/dist/src/cli/fraim.js +24 -22
- package/dist/src/cli/setup/first-run.js +13 -6
- package/dist/src/fraim/config-loader.js +0 -8
- package/dist/src/fraim/db-service.js +26 -15
- package/dist/src/fraim/issues.js +67 -0
- package/dist/src/fraim/setup-wizard.js +1 -69
- package/dist/src/fraim/types.js +0 -11
- package/dist/src/fraim-mcp-server.js +272 -18
- package/dist/src/utils/git-utils.js +1 -1
- package/dist/src/utils/version-utils.js +32 -0
- package/dist/tests/debug-tools.js +79 -0
- package/dist/tests/esm-compat.js +11 -0
- package/dist/tests/test-chalk-esm-issue.js +159 -0
- package/dist/tests/test-chalk-real-world.js +265 -0
- package/dist/tests/test-chalk-regression.js +327 -0
- package/dist/tests/test-chalk-resolution-issue.js +304 -0
- package/dist/tests/test-cli.js +0 -2
- package/dist/tests/test-fraim-install-chalk-issue.js +254 -0
- package/dist/tests/test-fraim-issues.js +59 -0
- package/dist/tests/test-genericization.js +1 -3
- package/dist/tests/test-mcp-connection.js +166 -0
- package/dist/tests/test-mcp-issue-integration.js +144 -0
- package/dist/tests/test-mcp-lifecycle-methods.js +312 -0
- package/dist/tests/test-node-compatibility.js +71 -0
- package/dist/tests/test-npm-install.js +66 -0
- package/dist/tests/test-npm-resolution-diagnostic.js +140 -0
- package/dist/tests/test-session-rehydration.js +145 -0
- package/dist/tests/test-standalone.js +2 -8
- package/dist/tests/test-sync-version-update.js +93 -0
- package/dist/tests/test-telemetry.js +190 -0
- package/package.json +10 -8
- package/registry/agent-guardrails.md +62 -54
- package/registry/rules/agent-success-criteria.md +52 -0
- package/registry/rules/agent-testing-guidelines.md +502 -502
- package/registry/rules/communication.md +121 -121
- package/registry/rules/continuous-learning.md +54 -54
- package/registry/rules/ephemeral-execution.md +10 -5
- package/registry/rules/hitl-ppe-record-analysis.md +302 -302
- package/registry/rules/local-development.md +251 -251
- package/registry/rules/software-development-lifecycle.md +104 -104
- package/registry/rules/successful-debugging-patterns.md +482 -478
- package/registry/rules/telemetry.md +67 -0
- package/registry/scripts/build-scripts-generator.ts +216 -215
- package/registry/scripts/cleanup-branch.ts +303 -284
- package/registry/scripts/code-quality-check.sh +559 -559
- package/registry/scripts/detect-tautological-tests.sh +38 -38
- package/registry/scripts/evaluate-code-quality.ts +1 -1
- package/registry/scripts/generate-engagement-emails.ts +744 -744
- package/registry/scripts/generic-issues-api.ts +110 -150
- package/registry/scripts/newsletter-helpers.ts +874 -874
- package/registry/scripts/openapi-generator.ts +695 -693
- package/registry/scripts/performance/profile-server.ts +5 -3
- package/registry/scripts/prep-issue.sh +468 -455
- package/registry/scripts/validate-openapi-limits.ts +366 -365
- package/registry/scripts/validate-test-coverage.ts +280 -280
- package/registry/scripts/verify-pr-comments.sh +70 -70
- package/registry/scripts/verify-test-coverage.ts +1 -1
- package/registry/templates/bootstrap/ARCHITECTURE-TEMPLATE.md +53 -53
- package/registry/templates/evidence/Implementation-BugEvidence.md +85 -85
- package/registry/templates/evidence/Implementation-FeatureEvidence.md +120 -120
- package/registry/templates/marketing/HBR-ARTICLE-TEMPLATE.md +66 -0
- package/registry/workflows/bootstrap/create-architecture.md +2 -2
- package/registry/workflows/bootstrap/evaluate-code-quality.md +3 -3
- package/registry/workflows/bootstrap/verify-test-coverage.md +2 -2
- package/registry/workflows/customer-development/insight-analysis.md +156 -156
- package/registry/workflows/customer-development/interview-preparation.md +421 -421
- package/registry/workflows/customer-development/strategic-brainstorming.md +146 -146
- package/registry/workflows/customer-development/thank-customers.md +193 -191
- package/registry/workflows/customer-development/weekly-newsletter.md +362 -352
- package/registry/workflows/improve-fraim/contribute.md +32 -0
- package/registry/workflows/improve-fraim/file-issue.md +32 -0
- package/registry/workflows/marketing/hbr-article.md +73 -0
- package/registry/workflows/performance/analyze-performance.md +63 -59
- package/registry/workflows/product-building/design.md +3 -2
- package/registry/workflows/product-building/implement.md +4 -3
- package/registry/workflows/product-building/prep-issue.md +28 -17
- package/registry/workflows/product-building/resolve.md +3 -2
- package/registry/workflows/product-building/retrospect.md +3 -2
- package/registry/workflows/product-building/spec.md +5 -4
- package/registry/workflows/product-building/test.md +3 -2
- package/registry/workflows/quality-assurance/iterative-improvement-cycle.md +562 -562
- package/registry/workflows/replicate/website-discovery-analysis.md +3 -3
- package/registry/workflows/reviewer/review-implementation-vs-design-spec.md +632 -632
- package/registry/workflows/reviewer/review-implementation-vs-feature-spec.md +669 -669
- package/tsconfig.json +2 -1
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# verify-pr-comments.sh
|
|
3
|
-
# Ensures agents properly retrieve and address PR comments
|
|
4
|
-
|
|
5
|
-
set -e
|
|
6
|
-
|
|
7
|
-
PR_NUMBER=$1
|
|
8
|
-
|
|
9
|
-
# Load repository config from
|
|
10
|
-
CONFIG_FILE=".fraim/config.json"
|
|
11
|
-
if [ ! -f "$CONFIG_FILE" ]; then
|
|
12
|
-
echo "Error: Config file not found at $CONFIG_FILE" >&2
|
|
13
|
-
exit 1
|
|
14
|
-
fi
|
|
15
|
-
|
|
16
|
-
if ! command -v node &> /dev/null; then
|
|
17
|
-
echo "Error: node is required but not installed." >&2
|
|
18
|
-
exit 1
|
|
19
|
-
fi
|
|
20
|
-
|
|
21
|
-
# Extract values using node reading from stdin
|
|
22
|
-
NODE_SCRIPT="
|
|
23
|
-
const fs = require('fs');
|
|
24
|
-
try {
|
|
25
|
-
const input = fs.readFileSync(0, 'utf-8');
|
|
26
|
-
const config = JSON.parse(input);
|
|
27
|
-
const repo = config.git;
|
|
28
|
-
if (!repo || !repo.repoOwner || !repo.repoName) {
|
|
29
|
-
process.exit(1);
|
|
30
|
-
}
|
|
31
|
-
console.log(\`\${repo.repoOwner}:\${repo.repoName}\`);
|
|
32
|
-
} catch (e) {
|
|
33
|
-
process.exit(1);
|
|
34
|
-
}
|
|
35
|
-
"
|
|
36
|
-
|
|
37
|
-
REPO_INFO=$(cat "$CONFIG_FILE" | node -e "$NODE_SCRIPT")
|
|
38
|
-
if [ $? -ne 0 ]; then
|
|
39
|
-
echo "Error: Failed to parse repository config from $CONFIG_FILE" >&2
|
|
40
|
-
echo "Required: git.repoOwner, git.repoName" >&2
|
|
41
|
-
exit 1
|
|
42
|
-
fi
|
|
43
|
-
|
|
44
|
-
IFS=':' read -r REPO_OWNER REPO_NAME <<< "$REPO_INFO"
|
|
45
|
-
|
|
46
|
-
if [ -z "$PR_NUMBER" ]; then
|
|
47
|
-
echo "❌ ERROR: PR number required"
|
|
48
|
-
echo "Usage: $0 <PR_NUMBER>"
|
|
49
|
-
exit 1
|
|
50
|
-
fi
|
|
51
|
-
|
|
52
|
-
echo "🔍 Verifying PR comment processing for #$PR_NUMBER ($REPO_OWNER/$REPO_NAME)"
|
|
53
|
-
|
|
54
|
-
# Get all comments
|
|
55
|
-
gh api "repos/$REPO_OWNER/$REPO_NAME/pulls/$PR_NUMBER/comments?per_page=100" \
|
|
56
|
-
--jq '.[] | "[\(.id)] \(.path // "pr"):\(.line // "general") - \(.body)"' \
|
|
57
|
-
> pr-comments-verification.txt
|
|
58
|
-
|
|
59
|
-
COMMENT_COUNT=$(wc -l < pr-comments-verification.txt)
|
|
60
|
-
echo "📋 Found $COMMENT_COUNT comments"
|
|
61
|
-
echo "📄 Comments saved to pr-comments-verification.txt"
|
|
62
|
-
|
|
63
|
-
if [ "$COMMENT_COUNT" -eq 0 ]; then
|
|
64
|
-
echo "✅ No comments found - agent can proceed"
|
|
65
|
-
exit 0
|
|
66
|
-
fi
|
|
67
|
-
|
|
68
|
-
echo ""
|
|
69
|
-
echo "⚠️ Agent MUST address each comment before claiming completion"
|
|
70
|
-
echo "📝 Agent must provide evidence table showing resolution of all $COMMENT_COUNT comments"
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# verify-pr-comments.sh
|
|
3
|
+
# Ensures agents properly retrieve and address PR comments
|
|
4
|
+
|
|
5
|
+
set -e
|
|
6
|
+
|
|
7
|
+
PR_NUMBER=$1
|
|
8
|
+
|
|
9
|
+
# Load repository config from config.json
|
|
10
|
+
CONFIG_FILE=".fraim/config.json"
|
|
11
|
+
if [ ! -f "$CONFIG_FILE" ]; then
|
|
12
|
+
echo "Error: Config file not found at $CONFIG_FILE" >&2
|
|
13
|
+
exit 1
|
|
14
|
+
fi
|
|
15
|
+
|
|
16
|
+
if ! command -v node &> /dev/null; then
|
|
17
|
+
echo "Error: node is required but not installed." >&2
|
|
18
|
+
exit 1
|
|
19
|
+
fi
|
|
20
|
+
|
|
21
|
+
# Extract values using node reading from stdin
|
|
22
|
+
NODE_SCRIPT="
|
|
23
|
+
const fs = require('fs');
|
|
24
|
+
try {
|
|
25
|
+
const input = fs.readFileSync(0, 'utf-8');
|
|
26
|
+
const config = JSON.parse(input);
|
|
27
|
+
const repo = config.git;
|
|
28
|
+
if (!repo || !repo.repoOwner || !repo.repoName) {
|
|
29
|
+
process.exit(1);
|
|
30
|
+
}
|
|
31
|
+
console.log(\`\${repo.repoOwner}:\${repo.repoName}\`);
|
|
32
|
+
} catch (e) {
|
|
33
|
+
process.exit(1);
|
|
34
|
+
}
|
|
35
|
+
"
|
|
36
|
+
|
|
37
|
+
REPO_INFO=$(cat "$CONFIG_FILE" | node -e "$NODE_SCRIPT")
|
|
38
|
+
if [ $? -ne 0 ]; then
|
|
39
|
+
echo "Error: Failed to parse repository config from $CONFIG_FILE" >&2
|
|
40
|
+
echo "Required: git.repoOwner, git.repoName" >&2
|
|
41
|
+
exit 1
|
|
42
|
+
fi
|
|
43
|
+
|
|
44
|
+
IFS=':' read -r REPO_OWNER REPO_NAME <<< "$REPO_INFO"
|
|
45
|
+
|
|
46
|
+
if [ -z "$PR_NUMBER" ]; then
|
|
47
|
+
echo "❌ ERROR: PR number required"
|
|
48
|
+
echo "Usage: $0 <PR_NUMBER>"
|
|
49
|
+
exit 1
|
|
50
|
+
fi
|
|
51
|
+
|
|
52
|
+
echo "🔍 Verifying PR comment processing for #$PR_NUMBER ($REPO_OWNER/$REPO_NAME)"
|
|
53
|
+
|
|
54
|
+
# Get all comments
|
|
55
|
+
gh api "repos/$REPO_OWNER/$REPO_NAME/pulls/$PR_NUMBER/comments?per_page=100" \
|
|
56
|
+
--jq '.[] | "[\(.id)] \(.path // "pr"):\(.line // "general") - \(.body)"' \
|
|
57
|
+
> pr-comments-verification.txt
|
|
58
|
+
|
|
59
|
+
COMMENT_COUNT=$(wc -l < pr-comments-verification.txt)
|
|
60
|
+
echo "📋 Found $COMMENT_COUNT comments"
|
|
61
|
+
echo "📄 Comments saved to pr-comments-verification.txt"
|
|
62
|
+
|
|
63
|
+
if [ "$COMMENT_COUNT" -eq 0 ]; then
|
|
64
|
+
echo "✅ No comments found - agent can proceed"
|
|
65
|
+
exit 0
|
|
66
|
+
fi
|
|
67
|
+
|
|
68
|
+
echo ""
|
|
69
|
+
echo "⚠️ Agent MUST address each comment before claiming completion"
|
|
70
|
+
echo "📝 Agent must provide evidence table showing resolution of all $COMMENT_COUNT comments"
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Verifies test coverage against validation plans and outputs data to the console.
|
|
6
6
|
* Used by the verify-test-coverage bootstrapping workflow.
|
|
7
7
|
*
|
|
8
|
-
* Usage: npx tsx
|
|
8
|
+
* Usage: npx tsx <this-script>
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import * as path from 'path';
|
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
# Architecture Documentation: <project-name>
|
|
2
|
-
|
|
3
|
-
## 1. Overview
|
|
4
|
-
<Briefly describe the purpose and goals of the project.>
|
|
5
|
-
|
|
6
|
-
## 2. Tech Stack Choices
|
|
7
|
-
|
|
8
|
-
| Category | Choice | Rationale |
|
|
9
|
-
| :--- | :--- | :--- |
|
|
10
|
-
| **Language** | <e.g. TypeScript> | <e.g. Type safety and developer productivity> |
|
|
11
|
-
| **Runtime** | <e.g. Node.js> | <e.g. Ubiquity and ecosystem> |
|
|
12
|
-
| **Frameworks** | <e.g. Express, Fastify, React> | <e.g. Robustness and community support> |
|
|
13
|
-
| **Database** | <e.g. MongoDB, PostgreSQL> | <e.g. Data structure requirements> |
|
|
14
|
-
| **Testing** | <e.g. Vitest, Playwright> | <e.g. Modern toolchain and speed> |
|
|
15
|
-
|
|
16
|
-
## 3. Architectural Layers
|
|
17
|
-
|
|
18
|
-
Describe the layers of the system and their responsibilities.
|
|
19
|
-
|
|
20
|
-
### 3.1. [Layer Name, e.g., API/Interface Layer]
|
|
21
|
-
- **Responsibility**: <e.g., Handling HTTP requests, validation, and CLI entry points.>
|
|
22
|
-
- **Key Modules**: <e.g., `src/server.ts`, `src/cli/`>
|
|
23
|
-
|
|
24
|
-
### 3.2. [Layer Name, e.g., Application/Business Logic Layer]
|
|
25
|
-
- **Responsibility**: <e.g., Core business rules and orchestrating domain services.>
|
|
26
|
-
- **Key Modules**: <e.g., `src/services/`, `src/orchestrator/`>
|
|
27
|
-
|
|
28
|
-
### 3.3. [Layer Name, e.g., Data/Infrastructure Layer]
|
|
29
|
-
- **Responsibility**: <e.g., Persistence, external API integrations, and low-level utilities.>
|
|
30
|
-
- **Key Modules**: <e.g., `src/db/`, `src/clients/`>
|
|
31
|
-
|
|
32
|
-
## 4. Key Components & Modules
|
|
33
|
-
|
|
34
|
-
<mermaid>
|
|
35
|
-
graph TD
|
|
36
|
-
A[Component A] --> B[Component B]
|
|
37
|
-
B --> C[External API]
|
|
38
|
-
B --> D[Database]
|
|
39
|
-
</mermaid>
|
|
40
|
-
|
|
41
|
-
### 4.1 [Component Name]
|
|
42
|
-
<Description of the component's role and internal structure.>
|
|
43
|
-
|
|
44
|
-
## 5. Data Flow
|
|
45
|
-
<Describe how information moves through the system from an input (e.g., user request) to output/persistence.>
|
|
46
|
-
|
|
47
|
-
## 6. Design Patterns & Principles
|
|
48
|
-
- **Pattern 1**: <e.g., Dependency Injection for testability.>
|
|
49
|
-
- **Pattern 2**: <e.g., Event-driven architecture for async processing.>
|
|
50
|
-
|
|
51
|
-
## 7. Configuration & Environment
|
|
52
|
-
- **FRAIM Config**: Located at
|
|
53
|
-
- **Environment Variables**: <List critical variables here.>
|
|
1
|
+
# Architecture Documentation: <project-name>
|
|
2
|
+
|
|
3
|
+
## 1. Overview
|
|
4
|
+
<Briefly describe the purpose and goals of the project.>
|
|
5
|
+
|
|
6
|
+
## 2. Tech Stack Choices
|
|
7
|
+
|
|
8
|
+
| Category | Choice | Rationale |
|
|
9
|
+
| :--- | :--- | :--- |
|
|
10
|
+
| **Language** | <e.g. TypeScript> | <e.g. Type safety and developer productivity> |
|
|
11
|
+
| **Runtime** | <e.g. Node.js> | <e.g. Ubiquity and ecosystem> |
|
|
12
|
+
| **Frameworks** | <e.g. Express, Fastify, React> | <e.g. Robustness and community support> |
|
|
13
|
+
| **Database** | <e.g. MongoDB, PostgreSQL> | <e.g. Data structure requirements> |
|
|
14
|
+
| **Testing** | <e.g. Vitest, Playwright> | <e.g. Modern toolchain and speed> |
|
|
15
|
+
|
|
16
|
+
## 3. Architectural Layers
|
|
17
|
+
|
|
18
|
+
Describe the layers of the system and their responsibilities.
|
|
19
|
+
|
|
20
|
+
### 3.1. [Layer Name, e.g., API/Interface Layer]
|
|
21
|
+
- **Responsibility**: <e.g., Handling HTTP requests, validation, and CLI entry points.>
|
|
22
|
+
- **Key Modules**: <e.g., `src/server.ts`, `src/cli/`>
|
|
23
|
+
|
|
24
|
+
### 3.2. [Layer Name, e.g., Application/Business Logic Layer]
|
|
25
|
+
- **Responsibility**: <e.g., Core business rules and orchestrating domain services.>
|
|
26
|
+
- **Key Modules**: <e.g., `src/services/`, `src/orchestrator/`>
|
|
27
|
+
|
|
28
|
+
### 3.3. [Layer Name, e.g., Data/Infrastructure Layer]
|
|
29
|
+
- **Responsibility**: <e.g., Persistence, external API integrations, and low-level utilities.>
|
|
30
|
+
- **Key Modules**: <e.g., `src/db/`, `src/clients/`>
|
|
31
|
+
|
|
32
|
+
## 4. Key Components & Modules
|
|
33
|
+
|
|
34
|
+
<mermaid>
|
|
35
|
+
graph TD
|
|
36
|
+
A[Component A] --> B[Component B]
|
|
37
|
+
B --> C[External API]
|
|
38
|
+
B --> D[Database]
|
|
39
|
+
</mermaid>
|
|
40
|
+
|
|
41
|
+
### 4.1 [Component Name]
|
|
42
|
+
<Description of the component's role and internal structure.>
|
|
43
|
+
|
|
44
|
+
## 5. Data Flow
|
|
45
|
+
<Describe how information moves through the system from an input (e.g., user request) to output/persistence.>
|
|
46
|
+
|
|
47
|
+
## 6. Design Patterns & Principles
|
|
48
|
+
- **Pattern 1**: <e.g., Dependency Injection for testability.>
|
|
49
|
+
- **Pattern 2**: <e.g., Event-driven architecture for async processing.>
|
|
50
|
+
|
|
51
|
+
## 7. Configuration & Environment
|
|
52
|
+
- **FRAIM Config**: Located at `config.json`.
|
|
53
|
+
- **Environment Variables**: <List critical variables here.>
|
|
@@ -1,86 +1,86 @@
|
|
|
1
|
-
# Bug: <Title>
|
|
2
|
-
Issue: #<issue>
|
|
3
|
-
Bug Spec: <Link to Bug Spec>
|
|
4
|
-
PR: <Link to PR>
|
|
5
|
-
|
|
6
|
-
## Completeness Evidence
|
|
7
|
-
- Issue tagged with label `phase:impl`: Yes/No
|
|
8
|
-
- Issue tagged with label `status:needs-review`: Yes/No
|
|
9
|
-
- All files committed/synced to branch: Yes/No
|
|
10
|
-
- Table with following columns
|
|
11
|
-
- PR Comment
|
|
12
|
-
- How Addressed
|
|
13
|
-
|
|
14
|
-
## Implementation Quality Checkpoints
|
|
15
|
-
- [ ] Code complexity reviewed (no overengineering)
|
|
16
|
-
- [ ] No resource waste (excessive retries, delays, workarounds)
|
|
17
|
-
- [ ] Solution based on proven approach from design phase
|
|
18
|
-
- [ ] All new files/functions are actually used
|
|
19
|
-
|
|
20
|
-
## Validation Evidence
|
|
21
|
-
- Complete valiation performed as suggested in bug spec: Yes/No
|
|
22
|
-
- **MANDATORY**: Evidence must reflect actual validation status, not assumptions
|
|
23
|
-
- **MANDATORY**: Cannot mark automated validations as "pending" without attempting them first
|
|
24
|
-
- Table with following columns
|
|
25
|
-
- Validation Step (manual vs automated)
|
|
26
|
-
- Validation Result (pass vs fail)
|
|
27
|
-
- Evidence (actual command/output or explanation why not applicable)
|
|
28
|
-
- Failure Analysis (if fail)
|
|
29
|
-
|
|
30
|
-
## New Files/Functions Created
|
|
31
|
-
- Table with the following columns
|
|
32
|
-
- File/Function Name
|
|
33
|
-
- Purpose
|
|
34
|
-
- Who is using/importing/calling it
|
|
35
|
-
- Is it actually used? (Yes/No - if No, explain why it exists)
|
|
36
|
-
|
|
37
|
-
## New Tests Added
|
|
38
|
-
- Required if existing test cases did not repro the bug, Optional if bug fix made previously failing test cases pass
|
|
39
|
-
- **MANDATORY**: For each new test case added, you MUST:
|
|
40
|
-
- Show actual test execution command run
|
|
41
|
-
- Show actual test output (exit code and results)
|
|
42
|
-
- Document whether it passed/failed
|
|
43
|
-
- Cannot claim tests "need fixes" without attempting execution first
|
|
44
|
-
|
|
45
|
-
## Test Execution Log
|
|
46
|
-
**MANDATORY**: Include actual test execution results below:
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
# Example: Running test file
|
|
50
|
-
$ npm run test -- test-XXX-fix.ts
|
|
51
|
-
# [Include actual output here]
|
|
52
|
-
# Exit code: 0 (success) or non-zero (failure)
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
**For each test file**:
|
|
56
|
-
- Command executed: `[command]`
|
|
57
|
-
- Exit code: `[0 or non-zero]`
|
|
58
|
-
- Passed tests: `[count]`
|
|
59
|
-
- Failed tests: `[count]`
|
|
60
|
-
- Output excerpt: `[relevant lines]`
|
|
61
|
-
|
|
62
|
-
## Existing Test Suites Run
|
|
63
|
-
- Table with following columns
|
|
64
|
-
- Test Suite
|
|
65
|
-
- Was it Run (if not, why not - it's ok to not run a suite if there is no impact of your work to it as covered in agent-testing-guidelines.md)
|
|
66
|
-
- Failing Tests
|
|
67
|
-
- Failure Analysis (if any tests fail)
|
|
68
|
-
|
|
69
|
-
## Pre-Completion Reflection
|
|
70
|
-
|
|
71
|
-
[Include reflection analysis here following
|
|
72
|
-
|
|
73
|
-
✅ Reflection Phase 1 (Claim Verification) completed: YES/NO
|
|
74
|
-
✅ Reflection Phase 2 (Risk Analysis) completed: YES/NO
|
|
75
|
-
✅ Reflection Phase 3 (Validation Plan Check) completed: YES/NO
|
|
76
|
-
✅ Reflection Phase 4 (Self-Audit) completed: YES/NO
|
|
77
|
-
✅ All blockers from reflection addressed: YES/NO
|
|
78
|
-
✅ Confidence level: X% (must be ≥ 90% to proceed)
|
|
79
|
-
|
|
80
|
-
**Reflection Summary:**
|
|
81
|
-
[Brief summary of key findings from reflection]
|
|
82
|
-
|
|
83
|
-
## Continous Learning
|
|
84
|
-
- Table with following columns
|
|
85
|
-
- Learning
|
|
1
|
+
# Bug: <Title>
|
|
2
|
+
Issue: #<issue>
|
|
3
|
+
Bug Spec: <Link to Bug Spec>
|
|
4
|
+
PR: <Link to PR>
|
|
5
|
+
|
|
6
|
+
## Completeness Evidence
|
|
7
|
+
- Issue tagged with label `phase:impl`: Yes/No
|
|
8
|
+
- Issue tagged with label `status:needs-review`: Yes/No
|
|
9
|
+
- All files committed/synced to branch: Yes/No
|
|
10
|
+
- Table with following columns
|
|
11
|
+
- PR Comment
|
|
12
|
+
- How Addressed
|
|
13
|
+
|
|
14
|
+
## Implementation Quality Checkpoints
|
|
15
|
+
- [ ] Code complexity reviewed (no overengineering)
|
|
16
|
+
- [ ] No resource waste (excessive retries, delays, workarounds)
|
|
17
|
+
- [ ] Solution based on proven approach from design phase
|
|
18
|
+
- [ ] All new files/functions are actually used
|
|
19
|
+
|
|
20
|
+
## Validation Evidence
|
|
21
|
+
- Complete valiation performed as suggested in bug spec: Yes/No
|
|
22
|
+
- **MANDATORY**: Evidence must reflect actual validation status, not assumptions
|
|
23
|
+
- **MANDATORY**: Cannot mark automated validations as "pending" without attempting them first
|
|
24
|
+
- Table with following columns
|
|
25
|
+
- Validation Step (manual vs automated)
|
|
26
|
+
- Validation Result (pass vs fail)
|
|
27
|
+
- Evidence (actual command/output or explanation why not applicable)
|
|
28
|
+
- Failure Analysis (if fail)
|
|
29
|
+
|
|
30
|
+
## New Files/Functions Created
|
|
31
|
+
- Table with the following columns
|
|
32
|
+
- File/Function Name
|
|
33
|
+
- Purpose
|
|
34
|
+
- Who is using/importing/calling it
|
|
35
|
+
- Is it actually used? (Yes/No - if No, explain why it exists)
|
|
36
|
+
|
|
37
|
+
## New Tests Added
|
|
38
|
+
- Required if existing test cases did not repro the bug, Optional if bug fix made previously failing test cases pass
|
|
39
|
+
- **MANDATORY**: For each new test case added, you MUST:
|
|
40
|
+
- Show actual test execution command run
|
|
41
|
+
- Show actual test output (exit code and results)
|
|
42
|
+
- Document whether it passed/failed
|
|
43
|
+
- Cannot claim tests "need fixes" without attempting execution first
|
|
44
|
+
|
|
45
|
+
## Test Execution Log
|
|
46
|
+
**MANDATORY**: Include actual test execution results below:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# Example: Running test file
|
|
50
|
+
$ npm run test -- test-XXX-fix.ts
|
|
51
|
+
# [Include actual output here]
|
|
52
|
+
# Exit code: 0 (success) or non-zero (failure)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**For each test file**:
|
|
56
|
+
- Command executed: `[command]`
|
|
57
|
+
- Exit code: `[0 or non-zero]`
|
|
58
|
+
- Passed tests: `[count]`
|
|
59
|
+
- Failed tests: `[count]`
|
|
60
|
+
- Output excerpt: `[relevant lines]`
|
|
61
|
+
|
|
62
|
+
## Existing Test Suites Run
|
|
63
|
+
- Table with following columns
|
|
64
|
+
- Test Suite
|
|
65
|
+
- Was it Run (if not, why not - it's ok to not run a suite if there is no impact of your work to it as covered in agent-testing-guidelines.md)
|
|
66
|
+
- Failing Tests
|
|
67
|
+
- Failure Analysis (if any tests fail)
|
|
68
|
+
|
|
69
|
+
## Pre-Completion Reflection
|
|
70
|
+
|
|
71
|
+
[Include reflection analysis here following `get_fraim_file({ path: "rules/mandatory-pre-completion-reflection.md" })`]
|
|
72
|
+
|
|
73
|
+
✅ Reflection Phase 1 (Claim Verification) completed: YES/NO
|
|
74
|
+
✅ Reflection Phase 2 (Risk Analysis) completed: YES/NO
|
|
75
|
+
✅ Reflection Phase 3 (Validation Plan Check) completed: YES/NO
|
|
76
|
+
✅ Reflection Phase 4 (Self-Audit) completed: YES/NO
|
|
77
|
+
✅ All blockers from reflection addressed: YES/NO
|
|
78
|
+
✅ Confidence level: X% (must be ≥ 90% to proceed)
|
|
79
|
+
|
|
80
|
+
**Reflection Summary:**
|
|
81
|
+
[Brief summary of key findings from reflection]
|
|
82
|
+
|
|
83
|
+
## Continous Learning
|
|
84
|
+
- Table with following columns
|
|
85
|
+
- Learning
|
|
86
86
|
- Agent Rule Updates (what agent rule file was updated to ensure the learning is durable)
|
|
@@ -1,121 +1,121 @@
|
|
|
1
|
-
# Feature: <Title>
|
|
2
|
-
Issue: #<issue>
|
|
3
|
-
Tech Spec: <Link to tech spec>
|
|
4
|
-
PR: <Link to PR>
|
|
5
|
-
|
|
6
|
-
## Completeness Evidence
|
|
7
|
-
- All phases of tech spec complete: Yes/No
|
|
8
|
-
- Issue tagged with label `phase:impl`: Yes/No
|
|
9
|
-
- Issue tagged with label `status:needs-review`: Yes/No
|
|
10
|
-
- All files committed/synced to branch: Yes/No
|
|
11
|
-
- Table with following columns
|
|
12
|
-
- PR Comment
|
|
13
|
-
- How Addressed
|
|
14
|
-
|
|
15
|
-
## Implementation Quality Checkpoints
|
|
16
|
-
- [ ] Code complexity reviewed (no overengineering)
|
|
17
|
-
- [ ] No resource waste (excessive retries, delays, workarounds)
|
|
18
|
-
- [ ] Solution based on proven prototype from design phase
|
|
19
|
-
- [ ] All new files/functions are actually used
|
|
20
|
-
|
|
21
|
-
## Validation Evidence
|
|
22
|
-
- Complete validation performed as suggested in tech spec: Yes/No
|
|
23
|
-
- **IMPORTANT**: Post full test output (not just "tests passing ✅")
|
|
24
|
-
- Table with following columns
|
|
25
|
-
- Validation Step (manual vs automated)
|
|
26
|
-
- Validation Result (pass vs fail)
|
|
27
|
-
- Failure Analysis (if fail)
|
|
28
|
-
|
|
29
|
-
### Example: Full Test Output
|
|
30
|
-
```
|
|
31
|
-
🚀 Starting Calendar-Goal Analysis API Tests
|
|
32
|
-
|
|
33
|
-
Running 3 tests
|
|
34
|
-
✔ Edge case - no goals defined (67.8ms)
|
|
35
|
-
✔ Multi-tenancy data isolation (205.9ms)
|
|
36
|
-
✔ Full analysis flow (passed)
|
|
37
|
-
|
|
38
|
-
❌ Total Failed Tests: 0
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
### Example: Database Objects (if applicable)
|
|
42
|
-
```javascript
|
|
43
|
-
{
|
|
44
|
-
_id: ObjectId("68e81da2a87a1a0f91589023"),
|
|
45
|
-
executive_id: "demo-exec-001",
|
|
46
|
-
title: "Increase Enterprise Sales by 30%",
|
|
47
|
-
timeframe: "QUARTERLY",
|
|
48
|
-
priority: 9,
|
|
49
|
-
status: "IN_PROGRESS"
|
|
50
|
-
}
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### Example: API Request/Response (if applicable)
|
|
54
|
-
**Request:**
|
|
55
|
-
```http
|
|
56
|
-
GET /executive-goals/calendar-analysis?timeframe=backward&period=7
|
|
57
|
-
Headers:
|
|
58
|
-
x-executive-id: demo-exec-001
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
**Response (200 OK):**
|
|
62
|
-
```json
|
|
63
|
-
{
|
|
64
|
-
"success": true,
|
|
65
|
-
"analysis": {
|
|
66
|
-
"executive_id": "demo-exec-001",
|
|
67
|
-
"total_calendar_hours": 7.5,
|
|
68
|
-
"goal_breakdown": [
|
|
69
|
-
{
|
|
70
|
-
"goal_id": "68e81da2a87a1a0f91589025",
|
|
71
|
-
"goal_title": "Launch AI Product Line",
|
|
72
|
-
"total_hours": 2.5,
|
|
73
|
-
"percentage": 33.3,
|
|
74
|
-
"meeting_ids": ["event-002", "event-007"]
|
|
75
|
-
}
|
|
76
|
-
]
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
## New Files/Functions Created
|
|
82
|
-
- Table with the following columns
|
|
83
|
-
- File/Function Name
|
|
84
|
-
- Purpose
|
|
85
|
-
- Who is using/importing/calling it
|
|
86
|
-
- Is it actually used? (Yes/No - if No, explain why it exists)
|
|
87
|
-
|
|
88
|
-
## New Tests Added
|
|
89
|
-
- Added all tests suggested in tech spec: Yes/No
|
|
90
|
-
- Table with the following columns
|
|
91
|
-
- Test Case Name
|
|
92
|
-
- What is test case validating
|
|
93
|
-
- Test Result (pass vs fail)
|
|
94
|
-
- Failure Analysis (if fail)
|
|
95
|
-
|
|
96
|
-
## Existing Test Suites Run
|
|
97
|
-
- Table with following columns
|
|
98
|
-
- Test Suite
|
|
99
|
-
- Was it Run (if not, why not - it's ok to not run a suite if there is no impact of your work to it as covered in agent-testing-guidelines.md)
|
|
100
|
-
- Failing Tests
|
|
101
|
-
- Failure Analysis (if any tests fail)
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
## Pre-Completion Reflection
|
|
105
|
-
|
|
106
|
-
[Include reflection analysis here following
|
|
107
|
-
|
|
108
|
-
✅ Reflection Phase 1 (Claim Verification) completed: YES/NO
|
|
109
|
-
✅ Reflection Phase 2 (Risk Analysis) completed: YES/NO
|
|
110
|
-
✅ Reflection Phase 3 (Validation Plan Check) completed: YES/NO
|
|
111
|
-
✅ Reflection Phase 4 (Self-Audit) completed: YES/NO
|
|
112
|
-
✅ All blockers from reflection addressed: YES/NO
|
|
113
|
-
✅ Confidence level: X% (must be ≥ 90% to proceed)
|
|
114
|
-
|
|
115
|
-
**Reflection Summary:**
|
|
116
|
-
[Brief summary of key findings from reflection]
|
|
117
|
-
|
|
118
|
-
## Continous Learning
|
|
119
|
-
- Table with following columns
|
|
120
|
-
- Learning
|
|
1
|
+
# Feature: <Title>
|
|
2
|
+
Issue: #<issue>
|
|
3
|
+
Tech Spec: <Link to tech spec>
|
|
4
|
+
PR: <Link to PR>
|
|
5
|
+
|
|
6
|
+
## Completeness Evidence
|
|
7
|
+
- All phases of tech spec complete: Yes/No
|
|
8
|
+
- Issue tagged with label `phase:impl`: Yes/No
|
|
9
|
+
- Issue tagged with label `status:needs-review`: Yes/No
|
|
10
|
+
- All files committed/synced to branch: Yes/No
|
|
11
|
+
- Table with following columns
|
|
12
|
+
- PR Comment
|
|
13
|
+
- How Addressed
|
|
14
|
+
|
|
15
|
+
## Implementation Quality Checkpoints
|
|
16
|
+
- [ ] Code complexity reviewed (no overengineering)
|
|
17
|
+
- [ ] No resource waste (excessive retries, delays, workarounds)
|
|
18
|
+
- [ ] Solution based on proven prototype from design phase
|
|
19
|
+
- [ ] All new files/functions are actually used
|
|
20
|
+
|
|
21
|
+
## Validation Evidence
|
|
22
|
+
- Complete validation performed as suggested in tech spec: Yes/No
|
|
23
|
+
- **IMPORTANT**: Post full test output (not just "tests passing ✅")
|
|
24
|
+
- Table with following columns
|
|
25
|
+
- Validation Step (manual vs automated)
|
|
26
|
+
- Validation Result (pass vs fail)
|
|
27
|
+
- Failure Analysis (if fail)
|
|
28
|
+
|
|
29
|
+
### Example: Full Test Output
|
|
30
|
+
```
|
|
31
|
+
🚀 Starting Calendar-Goal Analysis API Tests
|
|
32
|
+
|
|
33
|
+
Running 3 tests
|
|
34
|
+
✔ Edge case - no goals defined (67.8ms)
|
|
35
|
+
✔ Multi-tenancy data isolation (205.9ms)
|
|
36
|
+
✔ Full analysis flow (passed)
|
|
37
|
+
|
|
38
|
+
❌ Total Failed Tests: 0
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Example: Database Objects (if applicable)
|
|
42
|
+
```javascript
|
|
43
|
+
{
|
|
44
|
+
_id: ObjectId("68e81da2a87a1a0f91589023"),
|
|
45
|
+
executive_id: "demo-exec-001",
|
|
46
|
+
title: "Increase Enterprise Sales by 30%",
|
|
47
|
+
timeframe: "QUARTERLY",
|
|
48
|
+
priority: 9,
|
|
49
|
+
status: "IN_PROGRESS"
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Example: API Request/Response (if applicable)
|
|
54
|
+
**Request:**
|
|
55
|
+
```http
|
|
56
|
+
GET /executive-goals/calendar-analysis?timeframe=backward&period=7
|
|
57
|
+
Headers:
|
|
58
|
+
x-executive-id: demo-exec-001
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Response (200 OK):**
|
|
62
|
+
```json
|
|
63
|
+
{
|
|
64
|
+
"success": true,
|
|
65
|
+
"analysis": {
|
|
66
|
+
"executive_id": "demo-exec-001",
|
|
67
|
+
"total_calendar_hours": 7.5,
|
|
68
|
+
"goal_breakdown": [
|
|
69
|
+
{
|
|
70
|
+
"goal_id": "68e81da2a87a1a0f91589025",
|
|
71
|
+
"goal_title": "Launch AI Product Line",
|
|
72
|
+
"total_hours": 2.5,
|
|
73
|
+
"percentage": 33.3,
|
|
74
|
+
"meeting_ids": ["event-002", "event-007"]
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## New Files/Functions Created
|
|
82
|
+
- Table with the following columns
|
|
83
|
+
- File/Function Name
|
|
84
|
+
- Purpose
|
|
85
|
+
- Who is using/importing/calling it
|
|
86
|
+
- Is it actually used? (Yes/No - if No, explain why it exists)
|
|
87
|
+
|
|
88
|
+
## New Tests Added
|
|
89
|
+
- Added all tests suggested in tech spec: Yes/No
|
|
90
|
+
- Table with the following columns
|
|
91
|
+
- Test Case Name
|
|
92
|
+
- What is test case validating
|
|
93
|
+
- Test Result (pass vs fail)
|
|
94
|
+
- Failure Analysis (if fail)
|
|
95
|
+
|
|
96
|
+
## Existing Test Suites Run
|
|
97
|
+
- Table with following columns
|
|
98
|
+
- Test Suite
|
|
99
|
+
- Was it Run (if not, why not - it's ok to not run a suite if there is no impact of your work to it as covered in agent-testing-guidelines.md)
|
|
100
|
+
- Failing Tests
|
|
101
|
+
- Failure Analysis (if any tests fail)
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
## Pre-Completion Reflection
|
|
105
|
+
|
|
106
|
+
[Include reflection analysis here following `get_fraim_file({ path: "rules/mandatory-pre-completion-reflection.md" })`]
|
|
107
|
+
|
|
108
|
+
✅ Reflection Phase 1 (Claim Verification) completed: YES/NO
|
|
109
|
+
✅ Reflection Phase 2 (Risk Analysis) completed: YES/NO
|
|
110
|
+
✅ Reflection Phase 3 (Validation Plan Check) completed: YES/NO
|
|
111
|
+
✅ Reflection Phase 4 (Self-Audit) completed: YES/NO
|
|
112
|
+
✅ All blockers from reflection addressed: YES/NO
|
|
113
|
+
✅ Confidence level: X% (must be ≥ 90% to proceed)
|
|
114
|
+
|
|
115
|
+
**Reflection Summary:**
|
|
116
|
+
[Brief summary of key findings from reflection]
|
|
117
|
+
|
|
118
|
+
## Continous Learning
|
|
119
|
+
- Table with following columns
|
|
120
|
+
- Learning
|
|
121
121
|
- Agent Rule Updates (what agent rule file was updated to ensure the learning is durable)
|