@geraldmaron/construct 1.0.4 → 1.0.5

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.
Files changed (90) hide show
  1. package/README.md +51 -42
  2. package/bin/construct +256 -4
  3. package/commands/understand/research.md +5 -3
  4. package/lib/auto-docs.mjs +2 -2
  5. package/lib/cli-commands.mjs +44 -0
  6. package/lib/comment-lint.mjs +7 -1
  7. package/lib/config/schema.mjs +3 -0
  8. package/lib/flavors/loader.mjs +136 -0
  9. package/lib/hooks/agent-tracker.mjs +22 -3
  10. package/lib/hooks/pre-push-gate.mjs +14 -1
  11. package/lib/hooks/session-optimize.mjs +3 -2
  12. package/lib/hooks/session-reflect.mjs +68 -0
  13. package/lib/init-unified.mjs +25 -2
  14. package/lib/intake/classify.mjs +61 -183
  15. package/lib/intake/prepare.mjs +7 -0
  16. package/lib/intake/tables/creative.mjs +94 -0
  17. package/lib/intake/tables/operations.mjs +85 -0
  18. package/lib/intake/tables/research.mjs +85 -0
  19. package/lib/intake/tables/rnd.mjs +175 -0
  20. package/lib/knowledge/research-store.mjs +109 -0
  21. package/lib/observation-store.mjs +19 -0
  22. package/lib/outcomes/aggregate.mjs +104 -0
  23. package/lib/outcomes/record.mjs +115 -0
  24. package/lib/parity.mjs +6 -9
  25. package/lib/profiles/lifecycle.mjs +388 -0
  26. package/lib/profiles/loader.mjs +123 -0
  27. package/lib/profiles/validate-custom.mjs +114 -0
  28. package/lib/reflect/extractor.mjs +193 -0
  29. package/lib/reflect.mjs +89 -2
  30. package/lib/sandbox.mjs +102 -0
  31. package/package.json +6 -1
  32. package/personas/construct.md +20 -20
  33. package/platforms/claude/settings.template.json +13 -0
  34. package/scripts/sync-agents.mjs +11 -0
  35. package/skills/roles/architect.ai-systems.md +4 -2
  36. package/skills/roles/architect.data.md +4 -2
  37. package/skills/roles/architect.enterprise.md +4 -2
  38. package/skills/roles/architect.integration.md +4 -2
  39. package/skills/roles/architect.md +7 -5
  40. package/skills/roles/architect.platform.md +4 -2
  41. package/skills/roles/data-analyst.experiment.md +4 -2
  42. package/skills/roles/data-analyst.md +9 -7
  43. package/skills/roles/data-analyst.product-intelligence.md +4 -2
  44. package/skills/roles/data-analyst.product.md +4 -2
  45. package/skills/roles/data-analyst.telemetry.md +4 -2
  46. package/skills/roles/data-engineer.pipeline.md +4 -2
  47. package/skills/roles/data-engineer.vector-retrieval.md +4 -2
  48. package/skills/roles/data-engineer.warehouse.md +4 -2
  49. package/skills/roles/debugger.md +7 -5
  50. package/skills/roles/designer.accessibility.md +4 -2
  51. package/skills/roles/designer.md +10 -8
  52. package/skills/roles/engineer.ai.md +4 -2
  53. package/skills/roles/engineer.data.md +5 -3
  54. package/skills/roles/engineer.md +14 -12
  55. package/skills/roles/engineer.platform.md +5 -3
  56. package/skills/roles/operator.docs.md +6 -4
  57. package/skills/roles/operator.md +6 -4
  58. package/skills/roles/operator.release.md +4 -2
  59. package/skills/roles/operator.sre.md +5 -3
  60. package/skills/roles/orchestrator.md +5 -3
  61. package/skills/roles/product-manager.ai-product.md +4 -2
  62. package/skills/roles/product-manager.business-strategy.md +4 -2
  63. package/skills/roles/product-manager.enterprise.md +4 -2
  64. package/skills/roles/product-manager.growth.md +4 -2
  65. package/skills/roles/product-manager.md +6 -4
  66. package/skills/roles/product-manager.platform.md +4 -2
  67. package/skills/roles/product-manager.product.md +4 -2
  68. package/skills/roles/qa.ai-eval.md +4 -2
  69. package/skills/roles/qa.api-contract.md +4 -2
  70. package/skills/roles/qa.data-pipeline.md +4 -2
  71. package/skills/roles/qa.md +7 -5
  72. package/skills/roles/qa.test-automation.md +5 -3
  73. package/skills/roles/qa.web-ui.md +4 -2
  74. package/skills/roles/researcher.explorer.md +4 -2
  75. package/skills/roles/researcher.md +11 -9
  76. package/skills/roles/researcher.ux.md +4 -2
  77. package/skills/roles/reviewer.devil-advocate.md +4 -2
  78. package/skills/roles/reviewer.evaluator.md +4 -2
  79. package/skills/roles/reviewer.md +14 -12
  80. package/skills/roles/reviewer.trace.md +4 -2
  81. package/skills/roles/security.ai.md +4 -2
  82. package/skills/roles/security.appsec.md +4 -2
  83. package/skills/roles/security.cloud.md +4 -2
  84. package/skills/roles/security.legal-compliance.md +4 -2
  85. package/skills/roles/security.md +7 -5
  86. package/skills/roles/security.privacy.md +4 -2
  87. package/skills/roles/security.supply-chain.md +4 -2
  88. package/templates/docs/persona-artifact.md +36 -0
  89. package/templates/docs/research-finding.md +26 -0
  90. package/templates/docs/skill-artifact.md +27 -0
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/engineer.md Anti-pattern guidance for the Engineer role.
2
+ skills/roles/engineer.md. Anti-pattern guidance for the Engineer role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the engineer domain and counter-moves to avoid them.
@@ -9,11 +9,13 @@ Applies to: cx-engineer, cx-ai-engineer, cx-data-engineer, cx-platform-engineer.
9
9
  role: engineer
10
10
  applies_to: [cx-engineer, cx-ai-engineer, cx-data-engineer, cx-platform-engineer]
11
11
  inherits: null
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
- # Engineer Role guidance
16
+ # Engineer. Role guidance
15
17
 
16
- Load this before drafting. These are the failure modes that separate strong role output from weak role output check your draft against each.
18
+ Load this before drafting. These are the failure modes that separate strong role output from weak role output. check your draft against each.
17
19
 
18
20
 
19
21
  ### 1. Writing before reading
@@ -57,7 +59,7 @@ Load this before drafting. These are the failure modes that separate strong role
57
59
  **Counter-move**: explain the cause in one sentence before writing the fix. If you cannot, keep investigating.
58
60
 
59
61
  ### 9. Ignoring the diff
60
- **Symptom**: the change includes unrelated edits formatting churn, drive-by renames, comment cleanups.
62
+ **Symptom**: the change includes unrelated edits. formatting churn, drive-by renames, comment cleanups.
61
63
  **Why it fails**: drowns the real change in noise; reviewers cannot separate intent from accident.
62
64
  **Counter-move**: one change per commit. Keep the diff narrow. Bank the drive-bys for a separate PR.
63
65
 
@@ -68,7 +70,7 @@ Load this before drafting. These are the failure modes that separate strong role
68
70
 
69
71
  ### 11. Unbounded file reads
70
72
  **Symptom**: reading files with large `limit` values without checking size first, or offset reads that fail with "out of range".
71
- **Why it fails**: wastes context, and the failure reveals the file was smaller than assumed a signal that the reading strategy was guess-driven.
73
+ **Why it fails**: wastes context, and the failure reveals the file was smaller than assumed. a signal that the reading strategy was guess-driven.
72
74
  **Counter-move**: before any `Read` over 200 lines, probe with `Glob`, `wc -l`, or a `limit: 50` read. Then request the right range.
73
75
 
74
76
  ## Self-check before shipping
@@ -84,15 +86,15 @@ Load this before drafting. These are the failure modes that separate strong role
84
86
  - [ ] No more than two consecutive thinking turns about the same decision without a tool call or input
85
87
  - [ ] Any `Read` over 200 lines was preceded by a size probe
86
88
 
87
- ## Hard release gates (blocking, run locally never push and pray)
89
+ ## Hard release gates (blocking, run locally. never push and pray)
88
90
 
89
91
  Run all four before declaring work done. CI is a backstop, not the primary gate. See `rules/common/release-gates.md`.
90
92
 
91
- - [ ] `npm test` 0 failed
92
- - [ ] `node bin/construct lint:comments` 0 errors AND 0 warnings
93
- - [ ] `node bin/construct docs:verify` all checks passed, no warnings
94
- - [ ] `node bin/construct docs:update --check` AUTO regions clean
95
- - [ ] `npm run lint:templates` commit subjects + PR body match templates
93
+ - [ ] `npm test`. 0 failed
94
+ - [ ] `node bin/construct lint:comments`. 0 errors AND 0 warnings
95
+ - [ ] `node bin/construct docs:verify`. all checks passed, no warnings
96
+ - [ ] `node bin/construct docs:update --check`. AUTO regions clean
97
+ - [ ] `npm run lint:templates`. commit subjects + PR body match templates
96
98
 
97
99
  Shortcut: `npm run release:check`.
98
100
 
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/engineer.platform.md Anti-pattern guidance for the Engineer.platform (platform) role.
2
+ skills/roles/engineer.platform.md. Anti-pattern guidance for the Engineer.platform (platform) role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the engineer.platform (platform) domain and counter-moves to avoid them.
@@ -9,7 +9,9 @@ Applies to: cx-platform-engineer.
9
9
  role: engineer.platform
10
10
  applies_to: [cx-platform-engineer]
11
11
  inherits: engineer
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
16
  # Platform Engineer Overlay
15
17
 
@@ -38,7 +40,7 @@ Additional failure modes on top of the engineer core.
38
40
 
39
41
  ### 5. Security as afterthought
40
42
  **Symptom**: CI secrets in plaintext env, broad GitHub tokens, no SBOM, no dependency audit in the pipeline.
41
- **Why it fails**: platform surface area compounds blast radius one leaked token touches every repo.
43
+ **Why it fails**: platform surface area compounds blast radius. one leaked token touches every repo.
42
44
  **Counter-move**: treat platform secrets as production secrets. Rotate, scope-minimize, and audit.
43
45
 
44
46
  ## Self-check before shipping
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/operator.docs.md Anti-pattern guidance for the Operator.docs (docs) role.
2
+ skills/roles/operator.docs.md. Anti-pattern guidance for the Operator.docs (docs) role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the operator.docs (docs) domain and counter-moves to avoid them.
@@ -9,7 +9,9 @@ Applies to: cx-docs-keeper.
9
9
  role: operator.docs
10
10
  applies_to: [cx-docs-keeper]
11
11
  inherits: operator
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
16
  # Docs Keeper Overlay
15
17
 
@@ -18,11 +20,11 @@ Additional failure modes on top of the operator core.
18
20
 
19
21
  ### 1. Docs as write-once artifacts
20
22
  **Symptom**: a decision record or runbook is created, then never revisited as the system evolves.
21
- **Why it fails**: stale docs are worse than no docs they mislead with authority.
23
+ **Why it fails**: stale docs are worse than no docs. they mislead with authority.
22
24
  **Counter-move**: every doc has a `last-reviewed` date. Flag anything older than the agreed review cadence.
23
25
 
24
26
  ### 2. Parallel sources of truth
25
- **Symptom**: the same concept explained in README, wiki, CLAUDE.md, and onboarding deck all slightly different.
27
+ **Symptom**: the same concept explained in README, wiki, CLAUDE.md, and onboarding deck. all slightly different.
26
28
  **Why it fails**: readers find one, act on it, hit contradictions later; trust erodes.
27
29
  **Counter-move**: one canonical source per concept. Link to it from all surfaces.
28
30
 
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/operator.md Anti-pattern guidance for the Operator role.
2
+ skills/roles/operator.md. Anti-pattern guidance for the Operator role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the operator domain and counter-moves to avoid them.
@@ -9,11 +9,13 @@ Applies to: cx-sre, cx-operations, cx-release-manager, cx-docs-keeper.
9
9
  role: operator
10
10
  applies_to: [cx-sre, cx-operations, cx-release-manager, cx-docs-keeper]
11
11
  inherits: null
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
- # Operator Role guidance
16
+ # Operator. Role guidance
15
17
 
16
- Load this before producing operator output SRE, ops, release, and durable-knowledge work.
18
+ Load this before producing operator output. SRE, ops, release, and durable-knowledge work.
17
19
 
18
20
 
19
21
  ### 1. Runbook by incantation
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/operator.release.md Anti-pattern guidance for the Operator.release (release) role.
2
+ skills/roles/operator.release.md. Anti-pattern guidance for the Operator.release (release) role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the operator.release (release) domain and counter-moves to avoid them.
@@ -9,7 +9,9 @@ Applies to: cx-release-manager.
9
9
  role: operator.release
10
10
  applies_to: [cx-release-manager]
11
11
  inherits: operator
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
16
  # Release Manager Overlay
15
17
 
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/operator.sre.md Anti-pattern guidance for the Operator.sre (sre) role.
2
+ skills/roles/operator.sre.md. Anti-pattern guidance for the Operator.sre (sre) role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the operator.sre (sre) domain and counter-moves to avoid them.
@@ -9,7 +9,9 @@ Applies to: cx-sre.
9
9
  role: operator.sre
10
10
  applies_to: [cx-sre]
11
11
  inherits: operator
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
16
  # SRE Overlay
15
17
 
@@ -24,7 +26,7 @@ Additional failure modes on top of the operator core.
24
26
  ### 2. SLOs without error budgets
25
27
  **Symptom**: publishing an SLO (e.g., 99.9% availability) with no policy for what happens when it's breached.
26
28
  **Why it fails**: the SLO becomes decorative; feature work continues to burn reliability.
27
- **Counter-move**: define the error budget policy up front what freezes, who's notified, when it resumes.
29
+ **Counter-move**: define the error budget policy up front. what freezes, who's notified, when it resumes.
28
30
 
29
31
  ### 3. Dashboards of everything
30
32
  **Symptom**: 40-panel dashboards covering every metric the team could expose.
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/orchestrator.md Anti-pattern guidance for the Orchestrator role.
2
+ skills/roles/orchestrator.md. Anti-pattern guidance for the Orchestrator role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the orchestrator domain and counter-moves to avoid them.
@@ -9,9 +9,11 @@ Applies to: cx-orchestrator.
9
9
  role: orchestrator
10
10
  applies_to: [cx-orchestrator]
11
11
  inherits: null
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
- # Orchestrator Role guidance
16
+ # Orchestrator. Role guidance
15
17
 
16
18
  Use this as a fast dispatch checklist before producing orchestration output.
17
19
 
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/product-manager.ai-product.md Anti-pattern guidance for the Product-manager.ai-product (ai product) role.
2
+ skills/roles/product-manager.ai-product.md. Anti-pattern guidance for the Product-manager.ai-product (ai product) role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the product-manager.ai-product (ai product) domain and counter-moves to avoid them.
@@ -9,7 +9,9 @@ Applies to: cx-product-manager.
9
9
  role: product-manager.ai-product
10
10
  applies_to: [cx-product-manager]
11
11
  inherits: product-manager
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
16
  # AI Product PM Overlay
15
17
 
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/product-manager.business-strategy.md Anti-pattern guidance for the Product-manager.business-strategy (business strategy) role.
2
+ skills/roles/product-manager.business-strategy.md. Anti-pattern guidance for the Product-manager.business-strategy (business strategy) role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the product-manager.business-strategy (business strategy) domain and counter-moves to avoid them.
@@ -9,7 +9,9 @@ Applies to: cx-business-strategist.
9
9
  role: product-manager.business-strategy
10
10
  applies_to: [cx-business-strategist]
11
11
  inherits: product-manager
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
16
  # Business Strategy Overlay
15
17
 
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/product-manager.enterprise.md Anti-pattern guidance for the Product-manager.enterprise (enterprise) role.
2
+ skills/roles/product-manager.enterprise.md. Anti-pattern guidance for the Product-manager.enterprise (enterprise) role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the product-manager.enterprise (enterprise) domain and counter-moves to avoid them.
@@ -9,7 +9,9 @@ Applies to: cx-product-manager.
9
9
  role: product-manager.enterprise
10
10
  applies_to: [cx-product-manager]
11
11
  inherits: product-manager
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
16
  # Enterprise PM Overlay
15
17
 
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/product-manager.growth.md Anti-pattern guidance for the Product-manager.growth (growth) role.
2
+ skills/roles/product-manager.growth.md. Anti-pattern guidance for the Product-manager.growth (growth) role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the product-manager.growth (growth) domain and counter-moves to avoid them.
@@ -9,7 +9,9 @@ Applies to: cx-product-manager, cx-business-strategist.
9
9
  role: product-manager.growth
10
10
  applies_to: [cx-product-manager, cx-business-strategist]
11
11
  inherits: product-manager
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
16
  # Growth PM Overlay
15
17
 
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/product-manager.md Anti-pattern guidance for the Product-manager role.
2
+ skills/roles/product-manager.md. Anti-pattern guidance for the Product-manager role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the product-manager domain and counter-moves to avoid them.
@@ -9,11 +9,13 @@ Applies to: cx-product-manager, cx-business-strategist.
9
9
  role: product-manager
10
10
  applies_to: [cx-product-manager, cx-business-strategist]
11
11
  inherits: null
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
- # Product Manager Role guidance
16
+ # Product Manager. Role guidance
15
17
 
16
- Load this before drafting. These are the failure modes that separate strong role output from weak role output check your draft against each.
18
+ Load this before drafting. These are the failure modes that separate strong role output from weak role output. check your draft against each.
17
19
 
18
20
 
19
21
  ### 1. Solution in the problem statement
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/product-manager.platform.md Anti-pattern guidance for the Product-manager.platform (platform) role.
2
+ skills/roles/product-manager.platform.md. Anti-pattern guidance for the Product-manager.platform (platform) role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the product-manager.platform (platform) domain and counter-moves to avoid them.
@@ -9,7 +9,9 @@ Applies to: cx-product-manager.
9
9
  role: product-manager.platform
10
10
  applies_to: [cx-product-manager]
11
11
  inherits: product-manager
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
16
  # Platform PM Overlay
15
17
 
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/product-manager.product.md Anti-pattern guidance for the Product-manager.product (product) role.
2
+ skills/roles/product-manager.product.md. Anti-pattern guidance for the Product-manager.product (product) role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the product-manager.product (product) domain and counter-moves to avoid them.
@@ -9,7 +9,9 @@ Applies to: cx-product-manager.
9
9
  role: product-manager.product
10
10
  applies_to: [cx-product-manager]
11
11
  inherits: product-manager
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
16
  # Product PM Overlay
15
17
 
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/qa.ai-eval.md Anti-pattern guidance for the Qa.ai-eval (ai eval) role.
2
+ skills/roles/qa.ai-eval.md. Anti-pattern guidance for the Qa.ai-eval (ai eval) role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the qa.ai-eval (ai eval) domain and counter-moves to avoid them.
@@ -9,7 +9,9 @@ Applies to: cx-qa, cx-test-automation, cx-evaluator.
9
9
  role: qa.ai-eval
10
10
  applies_to: [cx-qa, cx-test-automation, cx-evaluator]
11
11
  inherits: qa
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
16
  # AI Eval QA Overlay
15
17
 
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/qa.api-contract.md Anti-pattern guidance for the Qa.api-contract (api contract) role.
2
+ skills/roles/qa.api-contract.md. Anti-pattern guidance for the Qa.api-contract (api contract) role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the qa.api-contract (api contract) domain and counter-moves to avoid them.
@@ -9,7 +9,9 @@ Applies to: cx-qa, cx-test-automation.
9
9
  role: qa.api-contract
10
10
  applies_to: [cx-qa, cx-test-automation]
11
11
  inherits: qa
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
16
  # API Contract QA Overlay
15
17
 
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/qa.data-pipeline.md Anti-pattern guidance for the Qa.data-pipeline (data pipeline) role.
2
+ skills/roles/qa.data-pipeline.md. Anti-pattern guidance for the Qa.data-pipeline (data pipeline) role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the qa.data-pipeline (data pipeline) domain and counter-moves to avoid them.
@@ -9,7 +9,9 @@ Applies to: cx-qa, cx-test-automation.
9
9
  role: qa.data-pipeline
10
10
  applies_to: [cx-qa, cx-test-automation]
11
11
  inherits: qa
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
16
  # Data Pipeline QA Overlay
15
17
 
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/qa.md Anti-pattern guidance for the Qa role.
2
+ skills/roles/qa.md. Anti-pattern guidance for the Qa role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the qa domain and counter-moves to avoid them.
@@ -9,15 +9,17 @@ Applies to: cx-qa, cx-test-automation.
9
9
  role: qa
10
10
  applies_to: [cx-qa, cx-test-automation]
11
11
  inherits: null
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
- # QA Role guidance
16
+ # QA. Role guidance
15
17
 
16
- Load this before drafting. These are the failure modes that separate strong role output from weak role output check your draft against each.
18
+ Load this before drafting. These are the failure modes that separate strong role output from weak role output. check your draft against each.
17
19
 
18
20
 
19
21
  ### 1. Testing the mock
20
- **Symptom**: the test asserts that the mock was called with the expected arguments and that is all it asserts.
22
+ **Symptom**: the test asserts that the mock was called with the expected arguments. and that is all it asserts.
21
23
  **Why it fails**: the test passes regardless of whether the real system would. Mocks drift from the real contract silently.
22
24
  **Counter-move**: assert on observable outputs or state. Use mocks for isolation, not as the thing being tested.
23
25
 
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/qa.test-automation.md Anti-pattern guidance for the Qa.test-automation (test automation) role.
2
+ skills/roles/qa.test-automation.md. Anti-pattern guidance for the Qa.test-automation (test automation) role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the qa.test-automation (test automation) domain and counter-moves to avoid them.
@@ -9,7 +9,9 @@ Applies to: cx-test-automation.
9
9
  role: qa.test-automation
10
10
  applies_to: [cx-test-automation]
11
11
  inherits: qa
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
16
  # Test Automation Overlay
15
17
 
@@ -18,7 +20,7 @@ Additional failure modes on top of the qa core.
18
20
 
19
21
  ### 1. Flaky tests tolerated
20
22
  **Symptom**: tests retried until green; flakes treated as "environmental noise."
21
- **Why it fails**: signal erodes real regressions hide among the flakes. Developers stop trusting the suite.
23
+ **Why it fails**: signal erodes. real regressions hide among the flakes. Developers stop trusting the suite.
22
24
  **Counter-move**: quarantine flakes immediately with a tracking ticket. Target zero retries for trusted tests.
23
25
 
24
26
  ### 2. E2E-heavy pyramid
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/qa.web-ui.md Anti-pattern guidance for the Qa.web-ui (web ui) role.
2
+ skills/roles/qa.web-ui.md. Anti-pattern guidance for the Qa.web-ui (web ui) role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the qa.web-ui (web ui) domain and counter-moves to avoid them.
@@ -9,7 +9,9 @@ Applies to: cx-qa, cx-test-automation.
9
9
  role: qa.web-ui
10
10
  applies_to: [cx-qa, cx-test-automation]
11
11
  inherits: qa
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
16
  # Web UI QA Overlay
15
17
 
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/researcher.explorer.md Anti-pattern guidance for the Researcher.explorer (explorer) role.
2
+ skills/roles/researcher.explorer.md. Anti-pattern guidance for the Researcher.explorer (explorer) role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the researcher.explorer (explorer) domain and counter-moves to avoid them.
@@ -9,7 +9,9 @@ Applies to: cx-explorer.
9
9
  role: researcher.explorer
10
10
  applies_to: [cx-explorer]
11
11
  inherits: researcher
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
16
  # Codebase Explorer Overlay
15
17
 
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/researcher.md Anti-pattern guidance for the Researcher role.
2
+ skills/roles/researcher.md. Anti-pattern guidance for the Researcher role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the researcher domain and counter-moves to avoid them.
@@ -9,11 +9,13 @@ Applies to: cx-researcher, cx-ux-researcher, cx-explorer.
9
9
  role: researcher
10
10
  applies_to: [cx-researcher, cx-ux-researcher, cx-explorer]
11
11
  inherits: null
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
- # Researcher Role guidance
16
+ # Researcher. Role guidance
15
17
 
16
- Load this before drafting. These are the failure modes that separate strong role output from weak role output check your draft against each.
18
+ Load this before drafting. These are the failure modes that separate strong role output from weak role output. check your draft against each.
17
19
 
18
20
 
19
21
  ### 1. Confirmation bias
@@ -27,17 +29,17 @@ Load this before drafting. These are the failure modes that separate strong role
27
29
  **Counter-move**: require at least two independent sources for each load-bearing claim. Note when they disagree.
28
30
 
29
31
  ### 3. Freshness blindness
30
- **Symptom**: cited source dated 2019–2024 used as current for a fast-moving topic AI capabilities, framework APIs, security advisories.
32
+ **Symptom**: cited source dated 2019–2024 used as current for a fast-moving topic. AI capabilities, framework APIs, security advisories.
31
33
  **Why it fails**: the reader assumes the finding is current; acts on stale information.
32
34
  **Counter-move**: start searches from the most recent year and step backward only if insufficient. Record the publication date of every source. For fast-moving topics (LLM behavior, security advisories, market data), treat anything older than 12 months as presumptively stale unless a newer source confirms it is still accurate.
33
35
 
34
36
  ### 4. Wrong starting point
35
- **Symptom**: searching Google or a general index when a domain-specific authoritative source exists arXiv for AI research, NVD for CVEs, NeurIPS/ICML proceedings for ML, official vendor docs for APIs.
37
+ **Symptom**: searching Google or a general index when a domain-specific authoritative source exists. arXiv for AI research, NVD for CVEs, NeurIPS/ICML proceedings for ML, official vendor docs for APIs.
36
38
  **Why it fails**: general search returns popularity-ranked results, not authority-ranked ones. The most-cited blog post is not the same as the primary paper.
37
39
  **Counter-move**: use the domain's authoritative starting point first (see `rules/common/research.md` §2). Only fall back to general search if the authoritative source is insufficient.
38
40
 
39
41
  ### 5. Unverified URLs
40
- **Symptom**: URLs included in the brief have not been fetched the researcher copied them from a search result or from memory.
42
+ **Symptom**: URLs included in the brief have not been fetched. the researcher copied them from a search result or from memory.
41
43
  **Why it fails**: URLs rot. A confident citation pointing to a 404 or a different page than intended is worse than no citation.
42
44
  **Counter-move**: fetch every URL before including it. Confirm the content matches the cited claim. Mark any URL that cannot be fetched `[unverified]` and flag it as a gap.
43
45
 
@@ -54,7 +56,7 @@ Load this before drafting. These are the failure modes that separate strong role
54
56
  ### 8. Secondary sources passed as primary
55
57
  **Symptom**: citations point to summaries, listicles, or syntheses instead of the underlying paper, spec, or changelog.
56
58
  **Why it fails**: the summary may misrepresent the primary source. The chain of error is invisible.
57
- **Counter-move**: cite primary sources the actual paper, spec, commit, or dataset. Use secondary sources only to discover primary ones.
59
+ **Counter-move**: cite primary sources. the actual paper, spec, commit, or dataset. Use secondary sources only to discover primary ones.
58
60
 
59
61
  ### 9. Scope creep
60
62
  **Symptom**: the research question was about X but the brief covers X, Y, and Z because they came up.
@@ -75,7 +77,7 @@ Load this before drafting. These are the failure modes that separate strong role
75
77
  - [ ] Each load-bearing claim has at least two independent sources (or one authoritative primary)
76
78
  - [ ] Source dates recorded; fast-moving topics use sources within last 12 months
77
79
  - [ ] Each finding labeled with confidence (high/medium/low) and one-line reason
78
- - [ ] Observation separated from inference labeled differently
80
+ - [ ] Observation separated from inference. labeled differently
79
81
  - [ ] Citations point to primary sources, not summaries or index pages
80
82
  - [ ] Original question answered first; tangents in a separate section
81
83
  - [ ] Evidence threshold for the recommendation is stated explicitly
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/researcher.ux.md Anti-pattern guidance for the Researcher.ux (ux) role.
2
+ skills/roles/researcher.ux.md. Anti-pattern guidance for the Researcher.ux (ux) role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the researcher.ux (ux) domain and counter-moves to avoid them.
@@ -9,7 +9,9 @@ Applies to: cx-ux-researcher.
9
9
  role: researcher.ux
10
10
  applies_to: [cx-ux-researcher]
11
11
  inherits: researcher
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
16
  # UX Researcher Overlay
15
17
 
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/reviewer.devil-advocate.md Anti-pattern guidance for the Reviewer.devil-advocate (devil advocate) role.
2
+ skills/roles/reviewer.devil-advocate.md. Anti-pattern guidance for the Reviewer.devil-advocate (devil advocate) role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the reviewer.devil-advocate (devil advocate) domain and counter-moves to avoid them.
@@ -9,7 +9,9 @@ Applies to: cx-devil-advocate.
9
9
  role: reviewer.devil-advocate
10
10
  applies_to: [cx-devil-advocate]
11
11
  inherits: reviewer
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
16
  # Devil's Advocate Overlay
15
17
 
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/roles/reviewer.evaluator.md Anti-pattern guidance for the Reviewer.evaluator (evaluator) role.
2
+ skills/roles/reviewer.evaluator.md. Anti-pattern guidance for the Reviewer.evaluator (evaluator) role.
3
3
 
4
4
  Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
5
5
  Covers common failure modes for the reviewer.evaluator (evaluator) domain and counter-moves to avoid them.
@@ -9,7 +9,9 @@ Applies to: cx-evaluator.
9
9
  role: reviewer.evaluator
10
10
  applies_to: [cx-evaluator]
11
11
  inherits: reviewer
12
- version: 1
12
+ version: 2
13
+ profiles: [rnd]
14
+ cap: 1
13
15
  ---
14
16
  # Evaluator Overlay
15
17