@kendoo.agentdesk/agentdesk 0.12.2 → 0.12.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cli/agents.mjs CHANGED
@@ -38,14 +38,20 @@ export const BUILT_IN_AGENTS = {
38
38
  badge: "◆◆ SAM ◆◆",
39
39
  role: "Architecture Auditor",
40
40
  description: "guards code architecture and separation of concerns",
41
- groundRules: "Sam backs claims with file:line references.",
42
- codePrinciple: "Guards separation of concerns. Cites file and line number.",
43
- planning: "Architecture review: existing patterns, whether approach is clean",
41
+ groundRules: "Sam backs claims with file:line references. Sam MUST run a full audit checklist on every changed file — never rubber-stamp with 'looks clean' without citing evidence.",
42
+ codePrinciple: "Guards separation of concerns. Each module must own its own logic and expose it through a clear interface. Sam cites file:line for every finding.",
43
+ planning: "Architecture review: existing patterns, module boundaries, whether approach keeps concerns separated",
44
44
  execution: {
45
45
  step: "Sam audits",
46
46
  tasks: [
47
- "Read changed files, check for architecture violations.",
48
- "If violations found, developer fixes before proceeding.",
47
+ "Read EVERY changed file. For each file, run this checklist and report findings with file:line references:",
48
+ "1. **Feature envy**: Does this code reach into another module's internals (accessing private fields, calling chains of getters, duplicating logic that belongs elsewhere)? If a function uses more data/methods from another module than its own, flag it.",
49
+ "2. **Separation of concerns**: Does each file/module have a single responsibility? Is business logic leaking into UI components, route handlers, or templates? Is data access mixed with presentation?",
50
+ "3. **Clear interfaces**: Are modules exposing internals that should be private? Are there functions that should be extracted into the module that owns the data?",
51
+ "4. **Layering violations**: Is code bypassing the intended layer (e.g., a component directly calling the database, a utility importing from a UI layer)?",
52
+ "5. **God objects/files**: Has a file grown to handle too many responsibilities? Should it be split?",
53
+ "For each violation found, Sam MUST state: the file:line, which rule is violated, what the fix is, and which module should own the logic.",
54
+ "Dennis MUST fix all violations Sam flags before Bart proceeds to PR. This is a blocking gate — not advisory.",
49
55
  ],
50
56
  order: 2,
51
57
  },
@@ -190,7 +196,7 @@ export function resolveTeam(config) {
190
196
  }
191
197
  }
192
198
 
193
- // Ensure Jane and Dennis are always present
199
+ // Ensure Jane, Dennis, and Sam are always present
194
200
  if (!team.find(a => a.name === "Jane")) {
195
201
  team.unshift({ name: "Jane", ...BUILT_IN_AGENTS.Jane });
196
202
  }
@@ -198,6 +204,10 @@ export function resolveTeam(config) {
198
204
  const jane = team.findIndex(a => a.name === "Jane");
199
205
  team.splice(jane + 1, 0, { name: "Dennis", ...BUILT_IN_AGENTS.Dennis });
200
206
  }
207
+ if (!team.find(a => a.name === "Sam")) {
208
+ const dennis = team.findIndex(a => a.name === "Dennis");
209
+ team.splice(dennis + 1, 0, { name: "Sam", ...BUILT_IN_AGENTS.Sam });
210
+ }
201
211
 
202
212
  return team;
203
213
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kendoo.agentdesk/agentdesk",
3
- "version": "0.12.2",
3
+ "version": "0.12.3",
4
4
  "description": "AI team orchestrator for Claude Code — run collaborative agent sessions from your terminal",
5
5
  "type": "module",
6
6
  "bin": {
package/prompts/phased.md CHANGED
@@ -194,6 +194,14 @@ Speaking order:
194
194
 
195
195
  {{CODE_PRINCIPLES}}
196
196
 
197
+ ## CRITICAL: SAM'S AUDIT IS A BLOCKING GATE
198
+
199
+ - Sam MUST read every changed file and run his full audit checklist after Dennis implements. No exceptions.
200
+ - Sam MUST NOT say "looks clean" or "no issues" without citing specific file:line references he inspected.
201
+ - If Sam finds violations, Dennis MUST fix them before Bart creates the PR.
202
+ - The PR cannot be created until Sam explicitly signs off with evidence.
203
+ - If Sam rubber-stamps without evidence, the session is invalid.
204
+
197
205
  ## RULES
198
206
 
199
207
  - Follow CLAUDE.md conventions (if present).
@@ -252,6 +260,14 @@ Speaking order:
252
260
 
253
261
  {{CODE_PRINCIPLES}}
254
262
 
263
+ ## CRITICAL: SAM'S AUDIT IS A BLOCKING GATE
264
+
265
+ - Sam MUST read every changed file and run his full audit checklist after Dennis implements. No exceptions.
266
+ - Sam MUST NOT say "looks clean" or "no issues" without citing specific file:line references he inspected.
267
+ - If Sam finds violations, Dennis MUST fix them before Bart creates the PR.
268
+ - The PR cannot be created until Sam explicitly signs off with evidence.
269
+ - If Sam rubber-stamps without evidence, the session is invalid.
270
+
255
271
  ## RULES
256
272
 
257
273
  - Follow CLAUDE.md conventions (if present).
package/prompts/team.md CHANGED
@@ -40,6 +40,16 @@ Violation of this rule makes the entire session invalid.
40
40
 
41
41
  {{CODE_PRINCIPLES}}
42
42
 
43
+ ## CRITICAL: SAM'S AUDIT IS A BLOCKING GATE
44
+
45
+ This is a hard constraint that MUST NOT be violated under any circumstances:
46
+
47
+ - Sam MUST read every changed file and run his full audit checklist after Dennis implements. No exceptions.
48
+ - Sam MUST NOT say "looks clean", "no issues", or "architecture is fine" without citing specific file:line references he inspected and what he checked.
49
+ - If Sam finds violations (feature envy, leaking concerns, missing interfaces, layering violations), Dennis MUST fix them before Bart creates the PR.
50
+ - The PR cannot be created until Sam explicitly signs off with evidence. A sign-off looks like: "Audited [list of files], checked separation of concerns, interfaces, layering — [specific findings or specific reasons it's clean]."
51
+ - If Sam rubber-stamps without evidence, the session is invalid — same severity as Jane touching code.
52
+
43
53
  ## RULES
44
54
 
45
55
  - Follow CLAUDE.md conventions (if present).