@event4u/agent-config 9.32.0 → 9.33.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.
Files changed (76) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +96 -1
  3. package/dist/agent-src/commands/review/routing.md +3 -4
  4. package/dist/agent-src/contexts/communication/rules-auto/reply-close-mechanics.md +65 -0
  5. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +3 -0
  6. package/dist/agent-src/rules/delegation-policy.md +6 -0
  7. package/dist/agent-src/scripts/roadmap_gates.ts +107 -3
  8. package/dist/agent-src/skills/docker/SKILL.md +11 -0
  9. package/dist/agent-src/skills/laravel/SKILL.md +11 -0
  10. package/dist/agent-src/skills/review-routing/SKILL.md +23 -6
  11. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  12. package/dist/agent-src/templates/scripts/ownership-map.example.yml +1 -1
  13. package/dist/cli/registry.js +4 -4
  14. package/dist/cli/registry.js.map +1 -1
  15. package/dist/cli-delegate/chunk-HTIU3W56.js +66 -0
  16. package/dist/cli-delegate/{chunk-ITIQSGOQ.js → chunk-MA4GFWDY.js} +7 -4
  17. package/dist/cli-delegate/{chunk-542DZR4P.js → chunk-PMQ6Z3T3.js} +1651 -144
  18. package/dist/cli-delegate/{chunk-PFBV6XRT.js → chunk-Q26HT4QT.js} +1 -63
  19. package/dist/cli-delegate/{chunk-LVRYBKTI.js → chunk-YPAWXXXR.js} +158 -0
  20. package/dist/cli-delegate/cmd_conformance.js +256 -226
  21. package/dist/cli-delegate/cmd_doctor.js +3 -2
  22. package/dist/cli-delegate/cmd_export.js +1 -1
  23. package/dist/cli-delegate/cmd_handoff.js +19 -26
  24. package/dist/cli-delegate/cmd_prune.js +1 -1
  25. package/dist/cli-delegate/cmd_session_recycle.js +13 -3
  26. package/dist/cli-delegate/cmd_settings_get.js +4 -2
  27. package/dist/cli-delegate/cmd_settings_migrate.js +1 -1
  28. package/dist/cli-delegate/cmd_settings_set.js +5 -3
  29. package/dist/cli-delegate/cmd_sync.js +1 -1
  30. package/dist/cli-delegate/cmd_uninstall.js +1 -1
  31. package/dist/cli-delegate/cmd_validate.js +1 -1
  32. package/dist/discovery/deprecation-report.md +1 -1
  33. package/dist/discovery/discovery-manifest.json +8 -8
  34. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  35. package/dist/discovery/discovery-manifest.summary.md +1 -1
  36. package/dist/discovery/orphan-report.md +1 -1
  37. package/dist/discovery/packs.json +2 -2
  38. package/dist/discovery/trust-report.md +1 -1
  39. package/dist/discovery/workspaces.json +2 -2
  40. package/dist/hooks/dispatch.js +18 -0
  41. package/dist/install/install.mjs +7 -4
  42. package/dist/mcp/registry-manifest.json +2 -2
  43. package/dist/mcp/server.json +2 -2
  44. package/dist/mcp/server.mjs +3637 -1158
  45. package/package.json +1 -1
  46. package/src/agent-src/scripts/roadmap_gates.ts +107 -3
  47. package/src/agent-src/templates/scripts/ownership-map.example.yml +1 -1
  48. package/src/config/cost-parity-budget.json +167 -0
  49. package/src/config/gate-coverage.yml +44 -5
  50. package/src/config/quorum-attendance-budget.json +39 -0
  51. package/src/scripts/_cli/cmd_doctor.ts +69 -1
  52. package/src/scripts/_cli/cmd_session_recycle.ts +19 -3
  53. package/src/scripts/_dispatch.bash +5 -3
  54. package/src/scripts/_lib/orchestration_record.ts +45 -0
  55. package/src/scripts/ai_council/clients.ts +31 -0
  56. package/src/scripts/ai_council/events_log.ts +128 -6
  57. package/src/scripts/ai_council/orchestrator.ts +12 -3
  58. package/src/scripts/ai_council/pricing.ts +48 -1
  59. package/src/scripts/ai_council/quorum.ts +20 -0
  60. package/src/scripts/ai_council/session.ts +11 -0
  61. package/src/scripts/ask_transport.ts +20 -1
  62. package/src/scripts/cache_realization_report.ts +38 -0
  63. package/src/scripts/check_release_highlights.ts +7 -1
  64. package/src/scripts/conformance_scan.ts +105 -0
  65. package/src/scripts/cost/track.mjs +39 -0
  66. package/src/scripts/cost_summary.ts +104 -1
  67. package/src/scripts/council_cli.ts +131 -13
  68. package/src/scripts/dispatch_economy_report.ts +5 -2
  69. package/src/scripts/install.ts +20 -6
  70. package/src/scripts/lint_budget_ownership.ts +81 -0
  71. package/src/scripts/lint_skill_frontmatter_safety.ts +55 -1
  72. package/src/scripts/lint_workflow_paths.ts +384 -0
  73. package/src/scripts/preamble_byte_census.ts +9 -1
  74. package/src/scripts/report_carrier_divergence.ts +10 -0
  75. package/src/scripts/report_conformance_funnel.ts +40 -0
  76. package/src/scripts/schemas/subagent.schema.json +3 -2
@@ -11,6 +11,11 @@
11
11
  * conformance sources, so the three questions that were answered in three
12
12
  * places read as the funnel they are:
13
13
  *
14
+ * OPPORTUNITY in how many scanned sessions a skill was in context at all —
15
+ * derived from `report_skill_obligation_violations.scanStore`'s
16
+ * own `sessionsWithASkill`, so it adds no classifier. It is the
17
+ * denominator ACTIVATION was missing: `skills.total` is supply,
18
+ * not opportunity.
14
19
  * DELIVERY what rule text the carriers put in front of the model, and
15
20
  * whether the two carriers agree —
16
21
  * `conformance_scan.measureDelivered` (carrier census) +
@@ -176,6 +181,41 @@ export function render(r: FunnelReport): string {
176
181
  }
177
182
  lines.push('');
178
183
 
184
+ // ── OPPORTUNITY ────────────────────────────────────────────────────────
185
+ // The stage the funnel was missing. ACTIVATION below reports against
186
+ // `skills.total`, which is a SUPPLY number: how many skills exist. That
187
+ // denominator can only fall as the catalogue grows, and it says nothing
188
+ // about whether any skill had a chance to fire. Opportunity is the
189
+ // denominator that belongs between delivery and activation — sessions in
190
+ // which a skill was actually in context.
191
+ //
192
+ // DERIVED, never re-measured: `sessionsWithASkill` is the SK-2 scan's own
193
+ // field, so this stage adds no classifier and cannot disagree with the
194
+ // COMPLIANCE stage that already prints it.
195
+ lines.push('OPPORTUNITY — in how many sessions could a skill fire at all?');
196
+ if (!r.storePresent) {
197
+ lines.push(' NO DATA: no transcript store — opportunity is not measurable here.');
198
+ lines.push(' An absent store is an answer, not a zero.');
199
+ } else {
200
+ lines.push(` sessions scanned ${r.sk2.sessions}`);
201
+ lines.push(
202
+ ` with a skill in context ${r.sk2.sessionsWithASkill} ` +
203
+ `(${_pct(r.sk2.sessionsWithASkill, r.sk2.sessions)})`,
204
+ );
205
+ lines.push(
206
+ ' Skill invocations per such session ' +
207
+ (r.sk2.sessionsWithASkill === 0
208
+ ? 'n/a'
209
+ : (r.usage.invocations / r.sk2.sessionsWithASkill).toFixed(2)),
210
+ );
211
+ }
212
+ lines.push(" Honest scope: \"in context\" is the SK-2 scan's reading — a skill was");
213
+ lines.push(' LOADED, not that the task needed it. So this bounds activation from');
214
+ lines.push(' above; it never claims a missed invocation was a defect. Report-only and');
215
+ lines.push(' deliberately without a threshold: a joined funnel with a denominator');
216
+ lines.push(' invites one, and the activation red-baseline null is terminal.');
217
+ lines.push('');
218
+
179
219
  // ── ACTIVATION ─────────────────────────────────────────────────────────
180
220
  lines.push('ACTIVATION — are the delivered skills invoked?');
181
221
  lines.push(` skills shipped ${r.skills.total}`);
@@ -49,9 +49,10 @@
49
49
  "uniqueItems": true,
50
50
  "items": {
51
51
  "type": "string",
52
- "enum": ["Read", "Write", "Edit", "Grep", "Glob", "Bash", "WebFetch", "WebSearch", "NotebookEdit"]
52
+ "pattern": "^(Read|Write|Edit|Grep|Glob|Bash|WebFetch|WebSearch|NotebookEdit)(\\([^()]+\\))?$"
53
53
  },
54
- "description": "Enum-validated at build time against the Claude Code tool set, so a bad value fails CI rather than producing broken `.claude/agents/` YAML in the user's IDE."
54
+ "description": "A tool grant: one of the Claude Code tool names, optionally scoped — `Bash(npm test:*)` grants one command family where a bare `Bash` grants a shell. The base name stays closed, so a typo still fails CI rather than producing broken `.claude/agents/` YAML in the user's IDE; only the optional `(...)` suffix is new. Prefer the narrowest grant the task actually needs, per tool-safety Least Agency.",
55
+ "$comment": "Was a bare enum, which made the scoped-grant syntax `tool-safety` prescribes literally inexpressible here — a schema forbidding what the rule asks for. skill.schema.json's allowed_tools permits that syntax by validating nothing at all; this pattern permits it while keeping the base-name guarantee that made the enum worth having."
55
56
  },
56
57
  "trust": {
57
58
  "type": "object",