fraim-framework 2.0.35 → 2.0.36
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/bin/fraim.js +52 -5
- package/dist/registry/scripts/cleanup-branch.js +62 -33
- package/dist/registry/scripts/generate-engagement-emails.js +119 -44
- package/dist/registry/scripts/newsletter-helpers.js +208 -268
- package/dist/registry/scripts/profile-server.js +387 -0
- package/dist/tests/test-chalk-regression.js +18 -2
- package/dist/tests/test-client-scripts-validation.js +133 -0
- package/dist/tests/test-prep-issue.js +1 -34
- package/dist/tests/test-script-location-independence.js +76 -28
- package/package.json +2 -2
- package/registry/agent-guardrails.md +62 -62
- package/registry/rules/communication.md +121 -121
- package/registry/rules/continuous-learning.md +54 -54
- package/registry/rules/hitl-ppe-record-analysis.md +302 -302
- package/registry/rules/software-development-lifecycle.md +104 -104
- package/registry/scripts/cleanup-branch.ts +341 -0
- package/registry/scripts/code-quality-check.sh +559 -559
- package/registry/scripts/detect-tautological-tests.sh +38 -38
- package/registry/scripts/generate-engagement-emails.ts +830 -0
- package/registry/scripts/markdown-to-pdf.js +7 -3
- package/registry/scripts/newsletter-helpers.ts +777 -0
- package/registry/scripts/prep-issue.sh +30 -61
- package/registry/scripts/profile-server.ts +424 -0
- package/registry/scripts/run-thank-you-workflow.ts +122 -0
- package/registry/scripts/send-newsletter-simple.ts +102 -0
- package/registry/scripts/send-thank-you-emails.ts +57 -0
- package/registry/scripts/validate-openapi-limits.ts +366 -366
- package/registry/scripts/validate-test-coverage.ts +280 -280
- package/registry/scripts/verify-pr-comments.sh +70 -70
- 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/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/quality-assurance/iterative-improvement-cycle.md +562 -562
- package/registry/workflows/reviewer/review-implementation-vs-feature-spec.md +669 -669
- package/dist/registry/scripts/build-scripts-generator.js +0 -205
- package/dist/registry/scripts/fraim-config.js +0 -61
- package/dist/registry/scripts/generic-issues-api.js +0 -100
- package/dist/registry/scripts/openapi-generator.js +0 -664
- package/dist/registry/scripts/performance/profile-server.js +0 -390
- package/dist/test-utils.js +0 -96
- package/dist/tests/esm-compat.js +0 -11
- package/dist/tests/test-chalk-esm-issue.js +0 -159
- package/dist/tests/test-chalk-real-world.js +0 -265
- package/dist/tests/test-chalk-resolution-issue.js +0 -304
- package/dist/tests/test-fraim-install-chalk-issue.js +0 -254
- package/dist/tests/test-npm-resolution-diagnostic.js +0 -140
- package/registry/templates/marketing/STORYTELLING-TEMPLATE.md +0 -130
- package/registry/workflows/marketing/storytelling.md +0 -65
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# Detect Tautological Tests
|
|
4
|
-
# This script scans test files for patterns that suggest tests are validating code structure
|
|
5
|
-
# (interfaces, enums) rather than runtime behavior.
|
|
6
|
-
|
|
7
|
-
echo "🔍 Scanning for Tautological Test Patterns..."
|
|
8
|
-
ERROR_FOUND=0
|
|
9
|
-
|
|
10
|
-
# Pattern 1: Asserting an array literal equals another array literal (common in enum testing)
|
|
11
|
-
# Looks for: assert.deepEqual(['a', 'b'], ['a', 'b'])
|
|
12
|
-
if grep -rE "assert\.(deep)?(Strict)?Equal\(\[.*\], \[.*\]\)" test*.ts; then
|
|
13
|
-
echo "❌ ERROR: Found potential tautological array comparison. Tests should verify app logic, not hardcoded arrays."
|
|
14
|
-
echo " Rationale: Testing that ['A'] equals ['A'] validates nothing about the application."
|
|
15
|
-
ERROR_FOUND=1
|
|
16
|
-
fi
|
|
17
|
-
|
|
18
|
-
# Pattern 2: Asserting properties on an object literal defined in the test (Type/Interface testing)
|
|
19
|
-
# Simplified: Look for defining a typed object and immediately asserting on it in the same file
|
|
20
|
-
# This is hard to do robustly with just grep, so we'll rely on the Naming Convention check for now.
|
|
21
|
-
|
|
22
|
-
# Pattern 3: Test names that explicitly say "Validate Enums", "Validate Fields", etc.
|
|
23
|
-
# We match "Validate TaskStatus Enums" or similar phrases
|
|
24
|
-
if grep -riE "['\"]Unit: Validate (Enum|Constant|Interface|Type|Field|Object|TaskStatus|Task Object)" test*.ts; then
|
|
25
|
-
echo "❌ ERROR: Found test descriptions explicitly claiming to validate Enums/Types/Fields."
|
|
26
|
-
echo " Rationale: Unit tests should validate BEHAVIOR (e.g., 'persists correct status'), not definitions."
|
|
27
|
-
ERROR_FOUND=1
|
|
28
|
-
fi
|
|
29
|
-
|
|
30
|
-
if [ $ERROR_FOUND -eq 1 ]; then
|
|
31
|
-
echo ""
|
|
32
|
-
echo "⚠️ Potential Anti-Patterns Detected."
|
|
33
|
-
echo " Please review the identified tests against rules/integrity-and-test-ethics.md"
|
|
34
|
-
exit 1
|
|
35
|
-
else
|
|
36
|
-
echo "✅ No obvious tautological patterns found."
|
|
37
|
-
exit 0
|
|
38
|
-
fi
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Detect Tautological Tests
|
|
4
|
+
# This script scans test files for patterns that suggest tests are validating code structure
|
|
5
|
+
# (interfaces, enums) rather than runtime behavior.
|
|
6
|
+
|
|
7
|
+
echo "🔍 Scanning for Tautological Test Patterns..."
|
|
8
|
+
ERROR_FOUND=0
|
|
9
|
+
|
|
10
|
+
# Pattern 1: Asserting an array literal equals another array literal (common in enum testing)
|
|
11
|
+
# Looks for: assert.deepEqual(['a', 'b'], ['a', 'b'])
|
|
12
|
+
if grep -rE "assert\.(deep)?(Strict)?Equal\(\[.*\], \[.*\]\)" test*.ts; then
|
|
13
|
+
echo "❌ ERROR: Found potential tautological array comparison. Tests should verify app logic, not hardcoded arrays."
|
|
14
|
+
echo " Rationale: Testing that ['A'] equals ['A'] validates nothing about the application."
|
|
15
|
+
ERROR_FOUND=1
|
|
16
|
+
fi
|
|
17
|
+
|
|
18
|
+
# Pattern 2: Asserting properties on an object literal defined in the test (Type/Interface testing)
|
|
19
|
+
# Simplified: Look for defining a typed object and immediately asserting on it in the same file
|
|
20
|
+
# This is hard to do robustly with just grep, so we'll rely on the Naming Convention check for now.
|
|
21
|
+
|
|
22
|
+
# Pattern 3: Test names that explicitly say "Validate Enums", "Validate Fields", etc.
|
|
23
|
+
# We match "Validate TaskStatus Enums" or similar phrases
|
|
24
|
+
if grep -riE "['\"]Unit: Validate (Enum|Constant|Interface|Type|Field|Object|TaskStatus|Task Object)" test*.ts; then
|
|
25
|
+
echo "❌ ERROR: Found test descriptions explicitly claiming to validate Enums/Types/Fields."
|
|
26
|
+
echo " Rationale: Unit tests should validate BEHAVIOR (e.g., 'persists correct status'), not definitions."
|
|
27
|
+
ERROR_FOUND=1
|
|
28
|
+
fi
|
|
29
|
+
|
|
30
|
+
if [ $ERROR_FOUND -eq 1 ]; then
|
|
31
|
+
echo ""
|
|
32
|
+
echo "⚠️ Potential Anti-Patterns Detected."
|
|
33
|
+
echo " Please review the identified tests against rules/integrity-and-test-ethics.md"
|
|
34
|
+
exit 1
|
|
35
|
+
else
|
|
36
|
+
echo "✅ No obvious tautological patterns found."
|
|
37
|
+
exit 0
|
|
38
|
+
fi
|