@fredericboyer/dev-team 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fredericboyer/dev-team",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "description": "Adversarial AI agent team for any project — installs Claude Code agents, hooks, and skills that enforce quality through productive friction",
5
5
  "main": "dist/init.js",
6
6
  "types": "dist/init.d.ts",
@@ -15,10 +15,10 @@
15
15
  "scripts": {
16
16
  "build": "tsc",
17
17
  "pretest": "npm run build",
18
- "test": "node --test tests/unit/files.test.js tests/unit/hooks.test.js tests/unit/scan.test.js tests/unit/skill-recommendations.test.js tests/unit/create-agent.test.js tests/unit/cli.test.js tests/integration/fresh-project.test.js tests/integration/idempotency.test.js tests/integration/update.test.js tests/scenarios/node-project.test.js tests/scenarios/python-project.test.js tests/scenarios/upgrade-path.test.js",
18
+ "test": "node --test tests/unit/files.test.js tests/unit/hooks.test.js tests/unit/scan.test.js tests/unit/skill-recommendations.test.js tests/unit/create-agent.test.js tests/unit/cli.test.js tests/integration/fresh-project.test.js tests/integration/idempotency.test.js tests/integration/update.test.js tests/scenarios/node-project.test.js tests/scenarios/python-project.test.js tests/scenarios/upgrade-path.test.js tests/scenarios/orchestration.test.js",
19
19
  "test:unit": "node --test tests/unit/files.test.js tests/unit/hooks.test.js",
20
20
  "test:integration": "node --test tests/integration/fresh-project.test.js tests/integration/idempotency.test.js",
21
- "test:scenarios": "node --test tests/scenarios/node-project.test.js tests/scenarios/python-project.test.js tests/scenarios/upgrade-path.test.js",
21
+ "test:scenarios": "node --test tests/scenarios/node-project.test.js tests/scenarios/python-project.test.js tests/scenarios/upgrade-path.test.js tests/scenarios/orchestration.test.js",
22
22
  "lint": "oxlint src/ scripts/ templates/hooks/",
23
23
  "format": "oxfmt --write src/ scripts/ templates/hooks/",
24
24
  "format:check": "oxfmt --check src/ scripts/ templates/hooks/",
@@ -1,10 +1,10 @@
1
1
  # Agent Memory: Beck (Test Implementer)
2
- <\!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
- <\!-- First 200 lines are loaded into agent context. Keep concise. -->
4
- <\!-- Borges extracts structured entries automatically after each task. -->
2
+ <!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
+ <!-- First 200 lines are loaded into agent context. Keep concise. -->
4
+ <!-- Borges extracts structured entries automatically after each task. -->
5
5
 
6
6
  ## Structured Entries
7
- <\!-- Format:
7
+ <!-- Format:
8
8
  ### [YYYY-MM-DD] Finding summary
9
9
  - **Type**: DEFECT | RISK | SUGGESTION | OVERRULED | PATTERN | DECISION
10
10
  - **Source**: PR #NNN or task description
@@ -15,12 +15,12 @@
15
15
  -->
16
16
 
17
17
  ## Calibration Rules
18
- <\!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
- <\!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
18
+ <!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
+ <!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
20
20
 
21
21
  ## Calibration Log
22
- <\!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
22
+ <!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
23
23
 
24
24
  ## Archive
25
- <\!-- Entries older than 90 days without verification are moved here by Borges. -->
26
- <\!-- Not loaded into agent context but preserved for reference. -->
25
+ <!-- Entries older than 90 days without verification are moved here by Borges. -->
26
+ <!-- Not loaded into agent context but preserved for reference. -->
@@ -1,10 +1,10 @@
1
1
  # Agent Memory: Borges (Librarian)
2
- <\!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
- <\!-- First 200 lines are loaded into agent context. Keep concise. -->
4
- <\!-- Borges extracts structured entries automatically after each task. -->
2
+ <!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
+ <!-- First 200 lines are loaded into agent context. Keep concise. -->
4
+ <!-- Borges extracts structured entries automatically after each task. -->
5
5
 
6
6
  ## Structured Entries
7
- <\!-- Format:
7
+ <!-- Format:
8
8
  ### [YYYY-MM-DD] Finding summary
9
9
  - **Type**: DEFECT | RISK | SUGGESTION | OVERRULED | PATTERN | DECISION
10
10
  - **Source**: PR #NNN or task description
@@ -15,12 +15,12 @@
15
15
  -->
16
16
 
17
17
  ## Calibration Rules
18
- <\!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
- <\!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
18
+ <!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
+ <!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
20
20
 
21
21
  ## Calibration Log
22
- <\!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
22
+ <!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
23
23
 
24
24
  ## Archive
25
- <\!-- Entries older than 90 days without verification are moved here by Borges. -->
26
- <\!-- Not loaded into agent context but preserved for reference. -->
25
+ <!-- Entries older than 90 days without verification are moved here by Borges. -->
26
+ <!-- Not loaded into agent context but preserved for reference. -->
@@ -1,10 +1,10 @@
1
1
  # Agent Memory: Brooks (Architect)
2
- <\!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
- <\!-- First 200 lines are loaded into agent context. Keep concise. -->
4
- <\!-- Borges extracts structured entries automatically after each task. -->
2
+ <!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
+ <!-- First 200 lines are loaded into agent context. Keep concise. -->
4
+ <!-- Borges extracts structured entries automatically after each task. -->
5
5
 
6
6
  ## Structured Entries
7
- <\!-- Format:
7
+ <!-- Format:
8
8
  ### [YYYY-MM-DD] Finding summary
9
9
  - **Type**: DEFECT | RISK | SUGGESTION | OVERRULED | PATTERN | DECISION
10
10
  - **Source**: PR #NNN or task description
@@ -15,12 +15,12 @@
15
15
  -->
16
16
 
17
17
  ## Calibration Rules
18
- <\!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
- <\!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
18
+ <!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
+ <!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
20
20
 
21
21
  ## Calibration Log
22
- <\!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
22
+ <!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
23
23
 
24
24
  ## Archive
25
- <\!-- Entries older than 90 days without verification are moved here by Borges. -->
26
- <\!-- Not loaded into agent context but preserved for reference. -->
25
+ <!-- Entries older than 90 days without verification are moved here by Borges. -->
26
+ <!-- Not loaded into agent context but preserved for reference. -->
@@ -1,10 +1,10 @@
1
1
  # Agent Memory: Conway (Release Manager)
2
- <\!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
- <\!-- First 200 lines are loaded into agent context. Keep concise. -->
4
- <\!-- Borges extracts structured entries automatically after each task. -->
2
+ <!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
+ <!-- First 200 lines are loaded into agent context. Keep concise. -->
4
+ <!-- Borges extracts structured entries automatically after each task. -->
5
5
 
6
6
  ## Structured Entries
7
- <\!-- Format:
7
+ <!-- Format:
8
8
  ### [YYYY-MM-DD] Finding summary
9
9
  - **Type**: DEFECT | RISK | SUGGESTION | OVERRULED | PATTERN | DECISION
10
10
  - **Source**: PR #NNN or task description
@@ -15,12 +15,12 @@
15
15
  -->
16
16
 
17
17
  ## Calibration Rules
18
- <\!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
- <\!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
18
+ <!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
+ <!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
20
20
 
21
21
  ## Calibration Log
22
- <\!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
22
+ <!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
23
23
 
24
24
  ## Archive
25
- <\!-- Entries older than 90 days without verification are moved here by Borges. -->
26
- <\!-- Not loaded into agent context but preserved for reference. -->
25
+ <!-- Entries older than 90 days without verification are moved here by Borges. -->
26
+ <!-- Not loaded into agent context but preserved for reference. -->
@@ -1,10 +1,10 @@
1
1
  # Agent Memory: Deming (Tooling Optimizer)
2
- <\!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
- <\!-- First 200 lines are loaded into agent context. Keep concise. -->
4
- <\!-- Borges extracts structured entries automatically after each task. -->
2
+ <!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
+ <!-- First 200 lines are loaded into agent context. Keep concise. -->
4
+ <!-- Borges extracts structured entries automatically after each task. -->
5
5
 
6
6
  ## Structured Entries
7
- <\!-- Format:
7
+ <!-- Format:
8
8
  ### [YYYY-MM-DD] Finding summary
9
9
  - **Type**: DEFECT | RISK | SUGGESTION | OVERRULED | PATTERN | DECISION
10
10
  - **Source**: PR #NNN or task description
@@ -15,12 +15,12 @@
15
15
  -->
16
16
 
17
17
  ## Calibration Rules
18
- <\!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
- <\!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
18
+ <!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
+ <!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
20
20
 
21
21
  ## Calibration Log
22
- <\!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
22
+ <!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
23
23
 
24
24
  ## Archive
25
- <\!-- Entries older than 90 days without verification are moved here by Borges. -->
26
- <\!-- Not loaded into agent context but preserved for reference. -->
25
+ <!-- Entries older than 90 days without verification are moved here by Borges. -->
26
+ <!-- Not loaded into agent context but preserved for reference. -->
@@ -1,10 +1,10 @@
1
1
  # Agent Memory: Drucker (Orchestrator)
2
- <\!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
- <\!-- First 200 lines are loaded into agent context. Keep concise. -->
4
- <\!-- Borges extracts structured entries automatically after each task. -->
2
+ <!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
+ <!-- First 200 lines are loaded into agent context. Keep concise. -->
4
+ <!-- Borges extracts structured entries automatically after each task. -->
5
5
 
6
6
  ## Structured Entries
7
- <\!-- Format:
7
+ <!-- Format:
8
8
  ### [YYYY-MM-DD] Finding summary
9
9
  - **Type**: DEFECT | RISK | SUGGESTION | OVERRULED | PATTERN | DECISION
10
10
  - **Source**: PR #NNN or task description
@@ -15,12 +15,12 @@
15
15
  -->
16
16
 
17
17
  ## Calibration Rules
18
- <\!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
- <\!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
18
+ <!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
+ <!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
20
20
 
21
21
  ## Calibration Log
22
- <\!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
22
+ <!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
23
23
 
24
24
  ## Archive
25
- <\!-- Entries older than 90 days without verification are moved here by Borges. -->
26
- <\!-- Not loaded into agent context but preserved for reference. -->
25
+ <!-- Entries older than 90 days without verification are moved here by Borges. -->
26
+ <!-- Not loaded into agent context but preserved for reference. -->
@@ -1,10 +1,10 @@
1
1
  # Agent Memory: Hamilton (Infrastructure Engineer)
2
- <\!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
- <\!-- First 200 lines are loaded into agent context. Keep concise. -->
4
- <\!-- Borges extracts structured entries automatically after each task. -->
2
+ <!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
+ <!-- First 200 lines are loaded into agent context. Keep concise. -->
4
+ <!-- Borges extracts structured entries automatically after each task. -->
5
5
 
6
6
  ## Structured Entries
7
- <\!-- Format:
7
+ <!-- Format:
8
8
  ### [YYYY-MM-DD] Finding summary
9
9
  - **Type**: DEFECT | RISK | SUGGESTION | OVERRULED | PATTERN | DECISION
10
10
  - **Source**: PR #NNN or task description
@@ -15,12 +15,12 @@
15
15
  -->
16
16
 
17
17
  ## Calibration Rules
18
- <\!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
- <\!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
18
+ <!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
+ <!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
20
20
 
21
21
  ## Calibration Log
22
- <\!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
22
+ <!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
23
23
 
24
24
  ## Archive
25
- <\!-- Entries older than 90 days without verification are moved here by Borges. -->
26
- <\!-- Not loaded into agent context but preserved for reference. -->
25
+ <!-- Entries older than 90 days without verification are moved here by Borges. -->
26
+ <!-- Not loaded into agent context but preserved for reference. -->
@@ -1,10 +1,10 @@
1
1
  # Agent Memory: Knuth (Quality Auditor)
2
- <\!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
- <\!-- First 200 lines are loaded into agent context. Keep concise. -->
4
- <\!-- Borges extracts structured entries automatically after each task. -->
2
+ <!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
+ <!-- First 200 lines are loaded into agent context. Keep concise. -->
4
+ <!-- Borges extracts structured entries automatically after each task. -->
5
5
 
6
6
  ## Structured Entries
7
- <\!-- Format:
7
+ <!-- Format:
8
8
  ### [YYYY-MM-DD] Finding summary
9
9
  - **Type**: DEFECT | RISK | SUGGESTION | OVERRULED | PATTERN | DECISION
10
10
  - **Source**: PR #NNN or task description
@@ -15,12 +15,12 @@
15
15
  -->
16
16
 
17
17
  ## Calibration Rules
18
- <\!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
- <\!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
18
+ <!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
+ <!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
20
20
 
21
21
  ## Calibration Log
22
- <\!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
22
+ <!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
23
23
 
24
24
  ## Archive
25
- <\!-- Entries older than 90 days without verification are moved here by Borges. -->
26
- <\!-- Not loaded into agent context but preserved for reference. -->
25
+ <!-- Entries older than 90 days without verification are moved here by Borges. -->
26
+ <!-- Not loaded into agent context but preserved for reference. -->
@@ -1,10 +1,10 @@
1
1
  # Agent Memory: Mori (Frontend/UI Engineer)
2
- <\!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
- <\!-- First 200 lines are loaded into agent context. Keep concise. -->
4
- <\!-- Borges extracts structured entries automatically after each task. -->
2
+ <!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
+ <!-- First 200 lines are loaded into agent context. Keep concise. -->
4
+ <!-- Borges extracts structured entries automatically after each task. -->
5
5
 
6
6
  ## Structured Entries
7
- <\!-- Format:
7
+ <!-- Format:
8
8
  ### [YYYY-MM-DD] Finding summary
9
9
  - **Type**: DEFECT | RISK | SUGGESTION | OVERRULED | PATTERN | DECISION
10
10
  - **Source**: PR #NNN or task description
@@ -15,12 +15,12 @@
15
15
  -->
16
16
 
17
17
  ## Calibration Rules
18
- <\!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
- <\!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
18
+ <!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
+ <!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
20
20
 
21
21
  ## Calibration Log
22
- <\!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
22
+ <!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
23
23
 
24
24
  ## Archive
25
- <\!-- Entries older than 90 days without verification are moved here by Borges. -->
26
- <\!-- Not loaded into agent context but preserved for reference. -->
25
+ <!-- Entries older than 90 days without verification are moved here by Borges. -->
26
+ <!-- Not loaded into agent context but preserved for reference. -->
@@ -1,10 +1,10 @@
1
1
  # Agent Memory: Szabo (Security Auditor)
2
- <\!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
- <\!-- First 200 lines are loaded into agent context. Keep concise. -->
4
- <\!-- Borges extracts structured entries automatically after each task. -->
2
+ <!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
+ <!-- First 200 lines are loaded into agent context. Keep concise. -->
4
+ <!-- Borges extracts structured entries automatically after each task. -->
5
5
 
6
6
  ## Structured Entries
7
- <\!-- Format:
7
+ <!-- Format:
8
8
  ### [YYYY-MM-DD] Finding summary
9
9
  - **Type**: DEFECT | RISK | SUGGESTION | OVERRULED | PATTERN | DECISION
10
10
  - **Source**: PR #NNN or task description
@@ -15,12 +15,12 @@
15
15
  -->
16
16
 
17
17
  ## Calibration Rules
18
- <\!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
- <\!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
18
+ <!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
+ <!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
20
20
 
21
21
  ## Calibration Log
22
- <\!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
22
+ <!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
23
23
 
24
24
  ## Archive
25
- <\!-- Entries older than 90 days without verification are moved here by Borges. -->
26
- <\!-- Not loaded into agent context but preserved for reference. -->
25
+ <!-- Entries older than 90 days without verification are moved here by Borges. -->
26
+ <!-- Not loaded into agent context but preserved for reference. -->
@@ -1,10 +1,10 @@
1
1
  # Agent Memory: Tufte (Documentation Engineer)
2
- <\!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
- <\!-- First 200 lines are loaded into agent context. Keep concise. -->
4
- <\!-- Borges extracts structured entries automatically after each task. -->
2
+ <!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
+ <!-- First 200 lines are loaded into agent context. Keep concise. -->
4
+ <!-- Borges extracts structured entries automatically after each task. -->
5
5
 
6
6
  ## Structured Entries
7
- <\!-- Format:
7
+ <!-- Format:
8
8
  ### [YYYY-MM-DD] Finding summary
9
9
  - **Type**: DEFECT | RISK | SUGGESTION | OVERRULED | PATTERN | DECISION
10
10
  - **Source**: PR #NNN or task description
@@ -15,12 +15,12 @@
15
15
  -->
16
16
 
17
17
  ## Calibration Rules
18
- <\!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
- <\!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
18
+ <!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
+ <!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
20
20
 
21
21
  ## Calibration Log
22
- <\!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
22
+ <!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
23
23
 
24
24
  ## Archive
25
- <\!-- Entries older than 90 days without verification are moved here by Borges. -->
26
- <\!-- Not loaded into agent context but preserved for reference. -->
25
+ <!-- Entries older than 90 days without verification are moved here by Borges. -->
26
+ <!-- Not loaded into agent context but preserved for reference. -->
@@ -1,10 +1,10 @@
1
1
  # Agent Memory: Voss (Backend Engineer)
2
- <\!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
- <\!-- First 200 lines are loaded into agent context. Keep concise. -->
4
- <\!-- Borges extracts structured entries automatically after each task. -->
2
+ <!-- Tier 2: Agent calibration memory. Domain-specific findings, patterns, and watch lists. -->
3
+ <!-- First 200 lines are loaded into agent context. Keep concise. -->
4
+ <!-- Borges extracts structured entries automatically after each task. -->
5
5
 
6
6
  ## Structured Entries
7
- <\!-- Format:
7
+ <!-- Format:
8
8
  ### [YYYY-MM-DD] Finding summary
9
9
  - **Type**: DEFECT | RISK | SUGGESTION | OVERRULED | PATTERN | DECISION
10
10
  - **Source**: PR #NNN or task description
@@ -15,12 +15,12 @@
15
15
  -->
16
16
 
17
17
  ## Calibration Rules
18
- <\!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
- <\!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
18
+ <!-- Auto-generated when 3+ findings on the same tag are overruled. -->
19
+ <!-- Format: "Reduce severity for [tag] findings — overruled N times (reason)" -->
20
20
 
21
21
  ## Calibration Log
22
- <\!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
22
+ <!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
23
23
 
24
24
  ## Archive
25
- <\!-- Entries older than 90 days without verification are moved here by Borges. -->
26
- <\!-- Not loaded into agent context but preserved for reference. -->
25
+ <!-- Entries older than 90 days without verification are moved here by Borges. -->
26
+ <!-- Not loaded into agent context but preserved for reference. -->
@@ -34,6 +34,7 @@ You always check for:
34
34
  - **Single responsibility at the module level**: A module that does two unrelated things will change for two unrelated reasons. That is a merge conflict waiting to happen.
35
35
  - **Interface surface area**: Every public API, every exported function, every shared type is a commitment. Minimize the surface area — what is not exposed cannot be depended upon.
36
36
  - **Change propagation**: When this module changes, how many other modules must also change? High fan-out from a change is a design smell.
37
+ - **Agent proliferation** (ADR-022): When a change adds a new agent definition, flag it for governance review. Verify the proposal meets all four ADR-022 criteria: unique capability, cannot extend existing, justifiable cost, non-overlapping. Check that the roster does not exceed the soft cap of 15 agents. If any criterion is not met, classify as `[DEFECT]`.
37
38
 
38
39
  ### Quality attribute assessment
39
40
 
@@ -245,6 +245,7 @@ You always check for:
245
245
  - **Iteration limits**: The review loop should converge. If the same `[DEFECT]` persists after 3 iterations, escalate.
246
246
  - **Cross-cutting concerns**: Tasks that span multiple domains need multiple implementing agents, coordinated sequentially.
247
247
  - **ADR coverage**: Every non-trivial architectural decision must have an ADR. If Architect flags one, it's part of the task — not a follow-up.
248
+ - **Agent proliferation governance** (ADR-022): Before recommending a new agent, evaluate whether an existing agent can cover the gap through prompt improvement, tool addition, memory specialization, or skill creation. New agents require formal justification meeting all four criteria in ADR-022: unique capability, cannot extend existing, justifiable cost, non-overlapping. The roster soft cap is 15 agents.
248
249
 
249
250
  ## Challenge protocol
250
251
 
@@ -241,11 +241,11 @@ function scoreComplexity(toolInput, filePath) {
241
241
  let score = 0;
242
242
 
243
243
  // Lines changed
244
- const oldStr = toolInput.old_string || "";
245
- const newStr = toolInput.new_string || toolInput.content || "";
244
+ const oldStr = toolInput.old_string ?? "";
245
+ const newStr = toolInput.new_string ?? toolInput.content ?? "";
246
246
  const oldLines = oldStr ? oldStr.split("\n").length : 0;
247
247
  const newLines = newStr ? newStr.split("\n").length : 0;
248
- const linesChanged = Math.abs(newLines - oldLines) + Math.min(oldLines, newLines);
248
+ const linesChanged = oldLines + newLines;
249
249
  score += Math.min(linesChanged, 50); // Cap at 50 to avoid single large file dominating
250
250
 
251
251
  // Complexity indicators in the new content