@humanbased/crosscheck 1.2.0-beta.53 → 1.2.0-beta.68

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 (161) hide show
  1. package/README.md +26 -0
  2. package/assets/skills/code-review/.crosscheck-skill.json +9 -0
  3. package/assets/skills/code-review/LICENSE +21 -0
  4. package/assets/skills/code-review/SKILL.md +89 -0
  5. package/assets/skills/code-review/agents/openai.yaml +3 -0
  6. package/assets/skills/code-review-skill/.crosscheck-skill.json +9 -0
  7. package/assets/skills/code-review-skill/LICENSE +21 -0
  8. package/assets/skills/code-review-skill/SKILL.md +231 -0
  9. package/assets/skills/code-review-skill/assets/pr-review-template.md +137 -0
  10. package/assets/skills/code-review-skill/assets/review-checklist.md +123 -0
  11. package/assets/skills/code-review-skill/reference/angular.md +768 -0
  12. package/assets/skills/code-review-skill/reference/architecture-review-guide.md +472 -0
  13. package/assets/skills/code-review-skill/reference/c.md +890 -0
  14. package/assets/skills/code-review-skill/reference/code-quality-universal.md +488 -0
  15. package/assets/skills/code-review-skill/reference/code-review-best-practices.md +136 -0
  16. package/assets/skills/code-review-skill/reference/common-bugs-checklist.md +286 -0
  17. package/assets/skills/code-review-skill/reference/cpp.md +893 -0
  18. package/assets/skills/code-review-skill/reference/cross-cutting/async-concurrency-patterns.md +515 -0
  19. package/assets/skills/code-review-skill/reference/cross-cutting/error-handling-principles.md +492 -0
  20. package/assets/skills/code-review-skill/reference/cross-cutting/n-plus-one-queries.md +309 -0
  21. package/assets/skills/code-review-skill/reference/cross-cutting/sql-injection-prevention.md +308 -0
  22. package/assets/skills/code-review-skill/reference/cross-cutting/xss-prevention.md +264 -0
  23. package/assets/skills/code-review-skill/reference/csharp.md +525 -0
  24. package/assets/skills/code-review-skill/reference/css-less-sass.md +661 -0
  25. package/assets/skills/code-review-skill/reference/django.md +985 -0
  26. package/assets/skills/code-review-skill/reference/fastapi.md +580 -0
  27. package/assets/skills/code-review-skill/reference/go.md +993 -0
  28. package/assets/skills/code-review-skill/reference/java.md +409 -0
  29. package/assets/skills/code-review-skill/reference/java8.md +586 -0
  30. package/assets/skills/code-review-skill/reference/kotlin.md +1018 -0
  31. package/assets/skills/code-review-skill/reference/nestjs.md +593 -0
  32. package/assets/skills/code-review-skill/reference/performance-review-guide.md +816 -0
  33. package/assets/skills/code-review-skill/reference/php.md +684 -0
  34. package/assets/skills/code-review-skill/reference/python.md +1073 -0
  35. package/assets/skills/code-review-skill/reference/qt.md +757 -0
  36. package/assets/skills/code-review-skill/reference/react.md +871 -0
  37. package/assets/skills/code-review-skill/reference/ruby.md +964 -0
  38. package/assets/skills/code-review-skill/reference/rust.md +846 -0
  39. package/assets/skills/code-review-skill/reference/security-review-guide.md +494 -0
  40. package/assets/skills/code-review-skill/reference/svelte.md +1064 -0
  41. package/assets/skills/code-review-skill/reference/swift.md +936 -0
  42. package/assets/skills/code-review-skill/reference/typescript.md +1016 -0
  43. package/assets/skills/code-review-skill/reference/vue.md +924 -0
  44. package/assets/skills/code-review-skill/reference/zig.md +440 -0
  45. package/assets/skills/code-review-skill/scripts/pr-analyzer.py +435 -0
  46. package/assets/skills/code-review-skill/scripts/test_pr_analyzer.py +380 -0
  47. package/assets/skills/codebase-design/.crosscheck-skill.json +9 -0
  48. package/assets/skills/codebase-design/DEEPENING.md +37 -0
  49. package/assets/skills/codebase-design/DESIGN-IT-TWICE.md +44 -0
  50. package/assets/skills/codebase-design/LICENSE +21 -0
  51. package/assets/skills/codebase-design/SKILL.md +114 -0
  52. package/assets/skills/codebase-design/agents/openai.yaml +3 -0
  53. package/assets/skills/diagnosing-bugs/.crosscheck-skill.json +9 -0
  54. package/assets/skills/diagnosing-bugs/LICENSE +21 -0
  55. package/assets/skills/diagnosing-bugs/SKILL.md +134 -0
  56. package/assets/skills/diagnosing-bugs/agents/openai.yaml +3 -0
  57. package/assets/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
  58. package/crosscheck.config.example.yml +11 -0
  59. package/dist/__tests__/codex.test.js +15 -1
  60. package/dist/__tests__/codex.test.js.map +1 -1
  61. package/dist/__tests__/conflict-resolve.test.js +44 -1
  62. package/dist/__tests__/conflict-resolve.test.js.map +1 -1
  63. package/dist/__tests__/fix.test.js +31 -0
  64. package/dist/__tests__/fix.test.js.map +1 -1
  65. package/dist/__tests__/onboard-preservation.test.js +5 -0
  66. package/dist/__tests__/onboard-preservation.test.js.map +1 -1
  67. package/dist/__tests__/optimize.test.js +1 -0
  68. package/dist/__tests__/optimize.test.js.map +1 -1
  69. package/dist/__tests__/repository-guidance.test.d.ts +2 -0
  70. package/dist/__tests__/repository-guidance.test.d.ts.map +1 -0
  71. package/dist/__tests__/repository-guidance.test.js +88 -0
  72. package/dist/__tests__/repository-guidance.test.js.map +1 -0
  73. package/dist/__tests__/skill-attribution.test.d.ts +2 -0
  74. package/dist/__tests__/skill-attribution.test.d.ts.map +1 -0
  75. package/dist/__tests__/skill-attribution.test.js +37 -0
  76. package/dist/__tests__/skill-attribution.test.js.map +1 -0
  77. package/dist/__tests__/skill-broker.test.d.ts +2 -0
  78. package/dist/__tests__/skill-broker.test.d.ts.map +1 -0
  79. package/dist/__tests__/skill-broker.test.js +92 -0
  80. package/dist/__tests__/skill-broker.test.js.map +1 -0
  81. package/dist/__tests__/skill-catalog.test.d.ts +2 -0
  82. package/dist/__tests__/skill-catalog.test.d.ts.map +1 -0
  83. package/dist/__tests__/skill-catalog.test.js +35 -0
  84. package/dist/__tests__/skill-catalog.test.js.map +1 -0
  85. package/dist/__tests__/skill-installer.test.d.ts +2 -0
  86. package/dist/__tests__/skill-installer.test.d.ts.map +1 -0
  87. package/dist/__tests__/skill-installer.test.js +96 -0
  88. package/dist/__tests__/skill-installer.test.js.map +1 -0
  89. package/dist/__tests__/skills-config.test.d.ts +2 -0
  90. package/dist/__tests__/skills-config.test.d.ts.map +1 -0
  91. package/dist/__tests__/skills-config.test.js +12 -0
  92. package/dist/__tests__/skills-config.test.js.map +1 -0
  93. package/dist/cli.js +7 -0
  94. package/dist/cli.js.map +1 -1
  95. package/dist/commands/onboard.d.ts +1 -0
  96. package/dist/commands/onboard.d.ts.map +1 -1
  97. package/dist/commands/onboard.js +25 -1
  98. package/dist/commands/onboard.js.map +1 -1
  99. package/dist/commands/review.d.ts.map +1 -1
  100. package/dist/commands/review.js +15 -4
  101. package/dist/commands/review.js.map +1 -1
  102. package/dist/commands/skill.d.ts +2 -0
  103. package/dist/commands/skill.d.ts.map +1 -0
  104. package/dist/commands/skill.js +16 -0
  105. package/dist/commands/skill.js.map +1 -0
  106. package/dist/commands/status.d.ts.map +1 -1
  107. package/dist/commands/status.js +10 -0
  108. package/dist/commands/status.js.map +1 -1
  109. package/dist/config/schema.d.ts +31 -10
  110. package/dist/config/schema.d.ts.map +1 -1
  111. package/dist/config/schema.js +8 -0
  112. package/dist/config/schema.js.map +1 -1
  113. package/dist/lib/repository-guidance.d.ts +2 -0
  114. package/dist/lib/repository-guidance.d.ts.map +1 -0
  115. package/dist/lib/repository-guidance.js +55 -0
  116. package/dist/lib/repository-guidance.js.map +1 -0
  117. package/dist/lib/runner.d.ts.map +1 -1
  118. package/dist/lib/runner.js +50 -19
  119. package/dist/lib/runner.js.map +1 -1
  120. package/dist/reviewers/claude.d.ts +2 -1
  121. package/dist/reviewers/claude.d.ts.map +1 -1
  122. package/dist/reviewers/claude.js +21 -3
  123. package/dist/reviewers/claude.js.map +1 -1
  124. package/dist/reviewers/codex.d.ts +3 -1
  125. package/dist/reviewers/codex.d.ts.map +1 -1
  126. package/dist/reviewers/codex.js +25 -4
  127. package/dist/reviewers/codex.js.map +1 -1
  128. package/dist/reviewers/conflict-resolve.d.ts +2 -1
  129. package/dist/reviewers/conflict-resolve.d.ts.map +1 -1
  130. package/dist/reviewers/conflict-resolve.js +12 -3
  131. package/dist/reviewers/conflict-resolve.js.map +1 -1
  132. package/dist/reviewers/fix.d.ts +3 -2
  133. package/dist/reviewers/fix.d.ts.map +1 -1
  134. package/dist/reviewers/fix.js +15 -6
  135. package/dist/reviewers/fix.js.map +1 -1
  136. package/dist/skills/attribution.d.ts +4 -0
  137. package/dist/skills/attribution.d.ts.map +1 -0
  138. package/dist/skills/attribution.js +10 -0
  139. package/dist/skills/attribution.js.map +1 -0
  140. package/dist/skills/broker-server.d.ts +2 -0
  141. package/dist/skills/broker-server.d.ts.map +1 -0
  142. package/dist/skills/broker-server.js +30 -0
  143. package/dist/skills/broker-server.js.map +1 -0
  144. package/dist/skills/broker.d.ts +42 -0
  145. package/dist/skills/broker.d.ts.map +1 -0
  146. package/dist/skills/broker.js +173 -0
  147. package/dist/skills/broker.js.map +1 -0
  148. package/dist/skills/catalog.d.ts +26 -0
  149. package/dist/skills/catalog.d.ts.map +1 -0
  150. package/dist/skills/catalog.js +91 -0
  151. package/dist/skills/catalog.js.map +1 -0
  152. package/dist/skills/installer.d.ts +10 -0
  153. package/dist/skills/installer.d.ts.map +1 -0
  154. package/dist/skills/installer.js +136 -0
  155. package/dist/skills/installer.js.map +1 -0
  156. package/dist/skills/integrity.d.ts +4 -0
  157. package/dist/skills/integrity.d.ts.map +1 -0
  158. package/dist/skills/integrity.js +36 -0
  159. package/dist/skills/integrity.js.map +1 -0
  160. package/get-started.md +58 -1
  161. package/package.json +1 -1
@@ -22,10 +22,10 @@ export declare const CodexVendorConfigSchema: z.ZodObject<{
22
22
  enabled: z.ZodDefault<z.ZodBoolean>;
23
23
  model: z.ZodDefault<z.ZodNullable<z.ZodString>>;
24
24
  auth: z.ZodDefault<z.ZodEnum<["subscription", "api-key"]>>;
25
- effort: z.ZodDefault<z.ZodEnum<["low", "medium", "high", "max"]>>;
26
25
  timeout_sec: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
27
26
  } & {
28
27
  quality: z.ZodDefault<z.ZodEnum<["low", "medium", "high"]>>;
28
+ effort: z.ZodDefault<z.ZodEnum<["low", "medium", "high", "xhigh", "max", "ultra"]>>;
29
29
  model_tiers: z.ZodOptional<z.ZodObject<{
30
30
  fast: z.ZodOptional<z.ZodString>;
31
31
  balanced: z.ZodOptional<z.ZodString>;
@@ -43,7 +43,7 @@ export declare const CodexVendorConfigSchema: z.ZodObject<{
43
43
  enabled: boolean;
44
44
  model: string | null;
45
45
  auth: "subscription" | "api-key";
46
- effort: "low" | "medium" | "high" | "max";
46
+ effort: "low" | "medium" | "high" | "max" | "xhigh" | "ultra";
47
47
  timeout_sec: number | null;
48
48
  quality: "low" | "medium" | "high";
49
49
  model_tiers?: {
@@ -55,7 +55,7 @@ export declare const CodexVendorConfigSchema: z.ZodObject<{
55
55
  enabled?: boolean | undefined;
56
56
  model?: string | null | undefined;
57
57
  auth?: "subscription" | "api-key" | undefined;
58
- effort?: "low" | "medium" | "high" | "max" | undefined;
58
+ effort?: "low" | "medium" | "high" | "max" | "xhigh" | "ultra" | undefined;
59
59
  timeout_sec?: number | null | undefined;
60
60
  quality?: "low" | "medium" | "high" | undefined;
61
61
  model_tiers?: {
@@ -80,6 +80,13 @@ export declare const QualityConfigSchema: z.ZodObject<{
80
80
  focus?: string[] | undefined;
81
81
  custom_prompt?: string | undefined;
82
82
  }>;
83
+ export declare const SkillsConfigSchema: z.ZodObject<{
84
+ enabled: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
85
+ }, "strip", z.ZodTypeAny, {
86
+ enabled: string[];
87
+ }, {
88
+ enabled?: string[] | undefined;
89
+ }>;
83
90
  export declare const BudgetConfigSchema: z.ZodObject<{
84
91
  codex_monthly_usd: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
85
92
  per_review_usd: z.ZodDefault<z.ZodNumber>;
@@ -541,10 +548,10 @@ export declare const ConfigSchema: z.ZodObject<{
541
548
  enabled: z.ZodDefault<z.ZodBoolean>;
542
549
  model: z.ZodDefault<z.ZodNullable<z.ZodString>>;
543
550
  auth: z.ZodDefault<z.ZodEnum<["subscription", "api-key"]>>;
544
- effort: z.ZodDefault<z.ZodEnum<["low", "medium", "high", "max"]>>;
545
551
  timeout_sec: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
546
552
  } & {
547
553
  quality: z.ZodDefault<z.ZodEnum<["low", "medium", "high"]>>;
554
+ effort: z.ZodDefault<z.ZodEnum<["low", "medium", "high", "xhigh", "max", "ultra"]>>;
548
555
  model_tiers: z.ZodOptional<z.ZodObject<{
549
556
  fast: z.ZodOptional<z.ZodString>;
550
557
  balanced: z.ZodOptional<z.ZodString>;
@@ -562,7 +569,7 @@ export declare const ConfigSchema: z.ZodObject<{
562
569
  enabled: boolean;
563
570
  model: string | null;
564
571
  auth: "subscription" | "api-key";
565
- effort: "low" | "medium" | "high" | "max";
572
+ effort: "low" | "medium" | "high" | "max" | "xhigh" | "ultra";
566
573
  timeout_sec: number | null;
567
574
  quality: "low" | "medium" | "high";
568
575
  model_tiers?: {
@@ -574,7 +581,7 @@ export declare const ConfigSchema: z.ZodObject<{
574
581
  enabled?: boolean | undefined;
575
582
  model?: string | null | undefined;
576
583
  auth?: "subscription" | "api-key" | undefined;
577
- effort?: "low" | "medium" | "high" | "max" | undefined;
584
+ effort?: "low" | "medium" | "high" | "max" | "xhigh" | "ultra" | undefined;
578
585
  timeout_sec?: number | null | undefined;
579
586
  quality?: "low" | "medium" | "high" | undefined;
580
587
  model_tiers?: {
@@ -614,7 +621,7 @@ export declare const ConfigSchema: z.ZodObject<{
614
621
  enabled: boolean;
615
622
  model: string | null;
616
623
  auth: "subscription" | "api-key";
617
- effort: "low" | "medium" | "high" | "max";
624
+ effort: "low" | "medium" | "high" | "max" | "xhigh" | "ultra";
618
625
  timeout_sec: number | null;
619
626
  quality: "low" | "medium" | "high";
620
627
  model_tiers?: {
@@ -635,7 +642,7 @@ export declare const ConfigSchema: z.ZodObject<{
635
642
  enabled?: boolean | undefined;
636
643
  model?: string | null | undefined;
637
644
  auth?: "subscription" | "api-key" | undefined;
638
- effort?: "low" | "medium" | "high" | "max" | undefined;
645
+ effort?: "low" | "medium" | "high" | "max" | "xhigh" | "ultra" | undefined;
639
646
  timeout_sec?: number | null | undefined;
640
647
  quality?: "low" | "medium" | "high" | undefined;
641
648
  model_tiers?: {
@@ -661,6 +668,13 @@ export declare const ConfigSchema: z.ZodObject<{
661
668
  focus?: string[] | undefined;
662
669
  custom_prompt?: string | undefined;
663
670
  }>>;
671
+ skills: z.ZodDefault<z.ZodObject<{
672
+ enabled: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
673
+ }, "strip", z.ZodTypeAny, {
674
+ enabled: string[];
675
+ }, {
676
+ enabled?: string[] | undefined;
677
+ }>>;
664
678
  budget: z.ZodDefault<z.ZodObject<{
665
679
  codex_monthly_usd: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
666
680
  per_review_usd: z.ZodDefault<z.ZodNumber>;
@@ -1035,7 +1049,7 @@ export declare const ConfigSchema: z.ZodObject<{
1035
1049
  enabled: boolean;
1036
1050
  model: string | null;
1037
1051
  auth: "subscription" | "api-key";
1038
- effort: "low" | "medium" | "high" | "max";
1052
+ effort: "low" | "medium" | "high" | "max" | "xhigh" | "ultra";
1039
1053
  timeout_sec: number | null;
1040
1054
  quality: "low" | "medium" | "high";
1041
1055
  model_tiers?: {
@@ -1045,6 +1059,9 @@ export declare const ConfigSchema: z.ZodObject<{
1045
1059
  } | undefined;
1046
1060
  };
1047
1061
  };
1062
+ skills: {
1063
+ enabled: string[];
1064
+ };
1048
1065
  budget: {
1049
1066
  codex_monthly_usd: number | null;
1050
1067
  per_review_usd: number;
@@ -1167,7 +1184,7 @@ export declare const ConfigSchema: z.ZodObject<{
1167
1184
  enabled?: boolean | undefined;
1168
1185
  model?: string | null | undefined;
1169
1186
  auth?: "subscription" | "api-key" | undefined;
1170
- effort?: "low" | "medium" | "high" | "max" | undefined;
1187
+ effort?: "low" | "medium" | "high" | "max" | "xhigh" | "ultra" | undefined;
1171
1188
  timeout_sec?: number | null | undefined;
1172
1189
  quality?: "low" | "medium" | "high" | undefined;
1173
1190
  model_tiers?: {
@@ -1177,6 +1194,9 @@ export declare const ConfigSchema: z.ZodObject<{
1177
1194
  } | undefined;
1178
1195
  } | undefined;
1179
1196
  } | undefined;
1197
+ skills?: {
1198
+ enabled?: string[] | undefined;
1199
+ } | undefined;
1180
1200
  budget?: {
1181
1201
  codex_monthly_usd?: number | null | undefined;
1182
1202
  per_review_usd?: number | undefined;
@@ -1264,6 +1284,7 @@ export type BrandConfig = z.infer<typeof BrandConfigSchema>;
1264
1284
  export type VendorConfig = z.infer<typeof VendorConfigSchema>;
1265
1285
  export type CodexVendorConfig = z.infer<typeof CodexVendorConfigSchema>;
1266
1286
  export type QualityConfig = z.infer<typeof QualityConfigSchema>;
1287
+ export type SkillsConfig = z.infer<typeof SkillsConfigSchema>;
1267
1288
  export type LogsConfig = z.infer<typeof LogsConfigSchema>;
1268
1289
  export type TunnelConfig = z.infer<typeof TunnelConfigSchema>;
1269
1290
  export type ImpactConfig = z.infer<typeof ImpactConfigSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,10 @@ export const VendorConfigSchema = z.object({
14
14
  // backwards compat but is no longer passed as --quality (removed from codex CLI).
15
15
  export const CodexVendorConfigSchema = VendorConfigSchema.extend({
16
16
  quality: z.enum(['low', 'medium', 'high']).default('medium'),
17
+ // Codex exposes two tiers above the shared vocabulary: xhigh (Extra High) and
18
+ // ultra. Ultra is only available on terra/sol; pre-5.6 models stop at xhigh —
19
+ // the CLI rejects unsupported combinations at call time.
20
+ effort: z.enum(['low', 'medium', 'high', 'xhigh', 'max', 'ultra']).default('medium'),
17
21
  // Optional per-tier model overrides, honored under both auth modes. When unset:
18
22
  // api-key auth falls back to the built-in tier mapping, subscription auth lets
19
23
  // the Codex CLI pick its default model.
@@ -34,6 +38,9 @@ export const QualityConfigSchema = z.object({
34
38
  focus: z.array(z.string()).default([]),
35
39
  custom_prompt: z.string().optional(),
36
40
  });
41
+ export const SkillsConfigSchema = z.object({
42
+ enabled: z.array(z.string()).default([]),
43
+ });
37
44
  export const BudgetConfigSchema = z.object({
38
45
  codex_monthly_usd: z.number().nullable().default(null),
39
46
  per_review_usd: z.number().default(2.0),
@@ -275,6 +282,7 @@ export const ConfigSchema = z.object({
275
282
  claude: VendorConfigSchema.default({}),
276
283
  }).default({}),
277
284
  quality: QualityConfigSchema.default({}),
285
+ skills: SkillsConfigSchema.default({}),
278
286
  budget: BudgetConfigSchema.default({}),
279
287
  orgs: z.array(z.string()).default([]),
280
288
  users: z.array(z.string()).default([]),
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IACjE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAClE,0EAA0E;IAC1E,2EAA2E;IAC3E,sEAAsE;IACtE,oEAAoE;IACpE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CAClE,CAAC,CAAA;AAEF,oEAAoE;AACpE,kFAAkF;AAClF,MAAM,CAAC,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAC/D,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC5D,8EAA8E;IAC9E,8EAA8E;IAC9E,yDAAyD;IACzD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACpF,gFAAgF;IAChF,+EAA+E;IAC/E,wCAAwC;IACxC,wFAAwF;IACxF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC,CAAC,QAAQ,EAAE;CACd,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAClE,qFAAqF;IACrF,yEAAyE;IACzE,6EAA6E;IAC7E,8DAA8D;IAC9D,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACtC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACzC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACtD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;CACxC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;AAG1E,iFAAiF;AACjF,6CAA6C;AAC7C,uEAAuE;AACvE,yEAAyE;AACzE,2BAA2B;AAC3B,+EAA+E;AAC/E,MAAM,CAAC,MAAM,wBAAwB,GAAgC,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;AAEjG,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACvG,MAAM,IAAI,GAAG,CAAC,OAAe,EAAQ,EAAE;QACrC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;IACxD,CAAC,CAAA;IACD,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACzC,IAAI,CAAC,4CAA4C,CAAC,CAAA;QAClD,OAAM;IACR,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,yCAAyC,CAAC,CAAA;QAC/C,OAAM;IACR,CAAC;IACD,MAAM,SAAS,GAAG,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;IAC/E,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,oEAAoE,CAAC,CAAA;IAC5E,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,+EAA+E;IAC/E,+EAA+E;IAC/E,+EAA+E;CAChF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,sBAAsB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;QAClD,kCAAkC,EAAG,6BAA6B;QAClE,wBAAwB,EAAa,sCAAsC;KAC5E,CAAC;IACF,uBAAuB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;QACnD,mCAAmC,EAAE,6BAA6B;QAClE,uBAAuB,EAAc,gCAAgC;KACtE,CAAC;IACF,6EAA6E;IAC7E,6EAA6E;IAC7E,gDAAgD;IAChD,sBAAsB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC;IAChE,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9D,iDAAiD;IACjD,iFAAiF;IACjF,uFAAuF;IACvF,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAChD,sEAAsE;IACtE,qCAAqC;IACrC,mFAAmF;IACnF,4EAA4E;IAC5E,EAAE;IACF,kFAAkF;IAClF,qFAAqF;IACrF,iFAAiF;IACjF,sDAAsD;IACtD,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAChE,qFAAqF;IACrF,8BAA8B;IAC9B,kFAAkF;IAClF,mEAAmE;IACnE,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;CAClF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC9B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;CAC7C,CAAC,CAAA;AAEF,qFAAqF;AACrF,iFAAiF;AACjF,EAAE;AACF,iFAAiF;AACjF,qFAAqF;AACrF,mFAAmF;AACnF,uDAAuD;AACvD,EAAE;AACF,yDAAyD;AACzD,yEAAyE;AACzE,EAAE;AACF,mFAAmF;AACnF,yCAAyC;AACzC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACpC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5D,0DAA0D;IAC1D,QAAQ,EAAE,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;CAC5C,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,wFAAwF;IACxF,qFAAqF;IACrF,8EAA8E;IAC9E,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IACnE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACrC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,4BAA4B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACjE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAC/C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;CAChD,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,6DAA6D;IAC7D,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC9C,2EAA2E;IAC3E,4EAA4E;IAC5E,2EAA2E;IAC3E,qCAAqC;IACrC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,2EAA2E;IAC3E,sBAAsB;IACtB,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;CAC7D,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,+DAA+D;IAC/D,4FAA4F;IAC5F,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACpC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,kFAAkF;IAClF,wFAAwF;IACxF,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACjD,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,UAAU,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;CAC7C,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,4FAA4F;IAC5F,mEAAmE;IACnE,gFAAgF;IAChF,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC3E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC;IAC9E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;CACxC,CAAC,CAAA;AAEF,+EAA+E;AAC/E,6EAA6E;AAC7E,0FAA0F;AAC1F,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,QAAQ,EAAE,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9C,wFAAwF;IACxF,+EAA+E;IAC/E,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC7D,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;CAC1C,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACpC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IACvC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC3C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;CACrC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;CACtC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;IAC9C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACtC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACtC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CAC7C,CAAC,CAAA;AAEF,8EAA8E;AAC9E,2DAA2D;AAC3D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,oEAAoE;IACpE,qFAAqF;IACrF,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAClE,oFAAoF;IACpF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACjD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACrD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC;IAC7D,6EAA6E;IAC7E,iEAAiE;IACjE,oEAAoE;IACpE,0EAA0E;IAC1E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;CACzC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,mFAAmF;IACnF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;IACvC,gFAAgF;IAChF,gEAAgE;IAChE,EAAE;IACF,+EAA+E;IAC/E,iFAAiF;IACjF,8CAA8C;IAC9C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACrD,gFAAgF;IAChF,mFAAmF;IACnF,qEAAqE;IACrE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAChC,gFAAgF;IAChF,8EAA8E;IAC9E,0DAA0D;IAC1D,0CAA0C;IAC1C,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CAC1C,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;AAG9F,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,IAAI,EAAE,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC,QAAQ,EAAE,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;IAChD,+EAA+E;IAC/E,kFAAkF;IAClF,gFAAgF;IAChF,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC/E,+EAA+E;IAC/E,iFAAiF;IACjF,yDAAyD;IACzD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC3C,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,qEAAqE;IACrE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IACvE,6CAA6C;IAC7C,8DAA8D;IAC9D,yFAAyF;IACzF,gFAAgF;IAChF,oEAAoE;IACpE,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACvD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,KAAK,EAAE,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;KACvC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACd,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;IACtC,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACrC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACtC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5C,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;IACtC,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;IACtC,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;IAClC,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;IACtC,SAAS,EAAE,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5C,gBAAgB,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE,CAAC;IACzD,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;IACpC,WAAW,EAAE,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/C,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;IACpC,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;CACvC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function loadRepositoryReviewGuidance(repoDir: string, baseBranch: string): string;
2
+ //# sourceMappingURL=repository-guidance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository-guidance.d.ts","sourceRoot":"","sources":["../../src/lib/repository-guidance.ts"],"names":[],"mappings":"AAcA,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CA0CxF"}
@@ -0,0 +1,55 @@
1
+ import { execFileSync } from 'child_process';
2
+ import { dirname } from 'path';
3
+ const GUIDANCE_FILES = new Set(['AGENTS.md', 'CLAUDE.md']);
4
+ function git(repoDir, args) {
5
+ return execFileSync('git', args, {
6
+ cwd: repoDir,
7
+ encoding: 'utf8',
8
+ stdio: ['ignore', 'pipe', 'pipe'],
9
+ maxBuffer: 2 * 1024 * 1024,
10
+ }).trim();
11
+ }
12
+ export function loadRepositoryReviewGuidance(repoDir, baseBranch) {
13
+ const baseRef = `origin/${baseBranch}`;
14
+ try {
15
+ const changedPaths = git(repoDir, ['diff', '--name-only', '--diff-filter=ACDMRT', `${baseRef}...HEAD`, '--'])
16
+ .split('\n').filter(Boolean);
17
+ if (changedPaths.length === 0)
18
+ return '';
19
+ const scopes = new Set(['.']);
20
+ for (const changedPath of changedPaths) {
21
+ let scope = dirname(changedPath);
22
+ while (scope !== '.') {
23
+ scopes.add(scope);
24
+ scope = dirname(scope);
25
+ }
26
+ }
27
+ const candidates = [...scopes].flatMap(scope => [...GUIDANCE_FILES].map(file => scope === '.' ? file : `${scope}/${file}`));
28
+ const checks = execFileSync('git', ['cat-file', '--batch-check'], {
29
+ cwd: repoDir,
30
+ encoding: 'utf8',
31
+ input: candidates.map(path => `${baseRef}:${path}\n`).join(''),
32
+ stdio: ['pipe', 'pipe', 'pipe'],
33
+ maxBuffer: 2 * 1024 * 1024,
34
+ }).trim().split('\n');
35
+ const guidancePaths = candidates
36
+ .filter((_, index) => checks[index]?.includes(' blob '))
37
+ .sort((a, b) => a.split('/').length - b.split('/').length || a.localeCompare(b));
38
+ if (guidancePaths.length === 0)
39
+ return '';
40
+ const sections = guidancePaths.map(path => {
41
+ const scope = dirname(path);
42
+ const content = git(repoDir, ['show', `${baseRef}:${path}`]);
43
+ return `### ${path} (scope: ${scope === '.' ? 'repository root' : `${scope}/`})\n${content}`;
44
+ });
45
+ return [
46
+ '## Repository-defined review practices (trusted base branch)',
47
+ 'Apply each file only within its stated scope. More specific directory guidance overrides broader guidance. At the same scope, reconcile AGENTS.md and CLAUDE.md; if they conflict, report the ambiguity instead of inventing a rule.',
48
+ ...sections,
49
+ ].join('\n\n');
50
+ }
51
+ catch {
52
+ return '';
53
+ }
54
+ }
55
+ //# sourceMappingURL=repository-guidance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository-guidance.js","sourceRoot":"","sources":["../../src/lib/repository-guidance.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/lib/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/lib/runner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAO9C,OAAO,EAAiC,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAU9F,OAAO,EAAuE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACzH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAsB9C,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAGzD;AAaD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,MAAM,CAEpF;AAWD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAqB1G;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnF;AAOD,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAAA;AAE7F,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACnC,cAAc,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAOD,MAAM,MAAM,mBAAmB,GAC3B,WAAW,GACX,OAAO,GACP,eAAe,GACf,gBAAgB,GAChB,cAAc,CAAA;AAElB,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,sBAAsB,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsCzB;AAKD,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,OAAO,CAOT;AAKD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,OAAO,CAE1E;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,EAAE,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,QAAQ,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1B,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,IAAI,CAAA;IAE1D,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAG3B,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,KAAK,CAAC,EAAE,MAAM,CAAA;IAGd,MAAM,CAAC,EAAE,OAAO,CAAA;IAGhB,UAAU,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAGtC,KAAK,CAAC,EAAE,OAAO,eAAe,EAAE,YAAY,EAAE,CAAA;IAG9C,mBAAmB,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IAMxC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IAIrB,oBAAoB,CAAC,EAAE;QACrB,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IAID,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAG1B,SAAS,CAAC,EAAE,OAAO,GAAG,WAAW,CAAA;IAGjC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B,OAAO,CAAC,EAAE,eAAe,CAAA;IAIzB,YAAY,CAAC,EAAE,MAAM,CAAA;IAIrB,aAAa,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;CAChH;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAGtB,eAAe,CAAC,EAAE,MAAM,CAAA;IAIxB,aAAa,CAAC,EAAE,MAAM,CAAA;IAItB,mBAAmB,CAAC,EAAE;QACpB,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;CACF;AAkDD,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAC5B;IAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC;IAAC,iBAAiB,EAAE,OAAO,CAAA;CAAE,CAenE;AAqJD,wBAAsB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAm5B/E"}
@@ -22,6 +22,9 @@ import { buildFixAppliedCommentBody, buildConflictResolvedCommentBody, buildRetr
22
22
  import { linearWritePossible, loadWorkflow, loadHarnessSection, evaluateWhen } from '../lib/workflow.js';
23
23
  import { isSubscriptionLimitError, isVendorUnavailableError } from '../lib/smart-switch.js';
24
24
  import { tierTimeoutMs } from '../reviewers/tier-timeouts.js';
25
+ import { loadSkillCatalog } from '../skills/catalog.js';
26
+ import { createSkillActivationSession } from '../skills/broker.js';
27
+ import { appendSkillAttribution, formatSkillAttribution } from '../skills/attribution.js';
25
28
  const MAX_CROSSCHECK_COMMITS = 5;
26
29
  const FIX_RETRY_DELAY_MS = 2 * 60 * 1000;
27
30
  const REVIEW_RETRY_DELAY_MS = 2 * 60 * 1000;
@@ -354,6 +357,18 @@ export async function runWorkflow(ctx) {
354
357
  // can iterate the same list and release these shas if SIGINT/SIGTERM fires
355
358
  // mid-workflow (process.exit there bypasses our finally below).
356
359
  const pushedShasNeedingRelease = ctx.pushedShas ?? [];
360
+ const skillCatalog = config.skills.enabled.length > 0 ? loadSkillCatalog() : [];
361
+ const skillSessions = new Map();
362
+ const skillSessionFor = (stepName, stepType) => {
363
+ if (skillCatalog.length === 0)
364
+ return undefined;
365
+ const existing = skillSessions.get(stepName);
366
+ if (existing)
367
+ return existing;
368
+ const session = createSkillActivationSession(stepType, config.skills.enabled, skillCatalog);
369
+ skillSessions.set(stepName, session);
370
+ return session;
371
+ };
357
372
  // Linear write-back identity. Resolved up front — before any expensive step —
358
373
  // and allowed to throw. The contract is that a configured-but-failing
359
374
  // client_credentials mint ABORTS rather than degrading, because silently
@@ -468,16 +483,17 @@ export async function runWorkflow(ctx) {
468
483
  let outputTokens;
469
484
  let model = 'default';
470
485
  let retried;
486
+ const skillSession = skillSessionFor(step.name, effectiveType);
471
487
  const runReviewWithVendor = async (candidate) => {
472
488
  if (candidate === 'codex') {
473
489
  ;
474
- ({ review: rawReview, tokensUsed, model, retried } = await runCodexReview(tmpDir, pr.base.ref, pr.title, config.quality, config.vendors.codex, step.instructions, undefined, ctx.overrideTimeoutMs ?? vendorTimeoutMs(config.vendors.codex.timeout_sec), log, ctx.issueContext));
490
+ ({ review: rawReview, tokensUsed, model, retried } = await runCodexReview(tmpDir, pr.base.ref, pr.title, config.quality, config.vendors.codex, step.instructions, undefined, ctx.overrideTimeoutMs ?? vendorTimeoutMs(config.vendors.codex.timeout_sec), log, ctx.issueContext, skillSession));
475
491
  inputTokens = undefined;
476
492
  outputTokens = undefined;
477
493
  }
478
494
  else {
479
495
  ;
480
- ({ review: rawReview, tokensUsed, inputTokens, outputTokens, model, retried } = await runClaudeReview(tmpDir, pr.base.ref, pr.title, config.quality, config.vendors.claude, config.budget.per_review_usd, step.instructions, undefined, ctx.overrideTimeoutMs ?? vendorTimeoutMs(config.vendors.claude.timeout_sec), !!ctx.roundMode, log, ctx.issueContext));
496
+ ({ review: rawReview, tokensUsed, inputTokens, outputTokens, model, retried } = await runClaudeReview(tmpDir, pr.base.ref, pr.title, config.quality, config.vendors.claude, config.budget.per_review_usd, step.instructions, undefined, ctx.overrideTimeoutMs ?? vendorTimeoutMs(config.vendors.claude.timeout_sec), !!ctx.roundMode, log, ctx.issueContext, skillSession));
481
497
  }
482
498
  };
483
499
  try {
@@ -534,6 +550,9 @@ export async function runWorkflow(ctx) {
534
550
  }
535
551
  }
536
552
  }
553
+ const activatedSkills = skillSession?.activations() ?? [];
554
+ if (activatedSkills.length > 0)
555
+ log(chalk.dim(` skills: ${formatSkillAttribution(activatedSkills)}`));
537
556
  // First attempt timed out but the delayed retry succeeded — surface a
538
557
  // soft notice on the review comment so the author knows it was a transient blip.
539
558
  if (retried) {
@@ -555,11 +574,12 @@ export async function runWorkflow(ctx) {
555
574
  const baseBody = verdict === null
556
575
  ? `${NULL_VERDICT_WARNING}\n\n${clean}`
557
576
  : prependVerdictToComment(gate.downgraded ? `${SEVERITY_GATE_NOTE}\n\n${clean}` : clean, verdict);
558
- const commentBody = retried
577
+ const reviewBody = retried
559
578
  ? `${buildRetriedReviewBanner(retried.timeoutMs, retried.delayMs)}\n\n${baseBody}`
560
579
  : baseBody;
580
+ const commentBody = appendSkillAttribution(reviewBody, activatedSkills, effectiveType);
561
581
  const commentCount = countComments(rawReview);
562
- fileLog({ level: 'info', event: 'review_complete', repo: `${owner}/${repoName}`, pr: prNumber, reviewer, model, ...stepIdentity, verdict, duration_ms: Date.now() - stepStart, tokens_used: tokensUsed, ...(inputTokens !== undefined && { input_tokens: inputTokens }), ...(outputTokens !== undefined && { output_tokens: outputTokens }), ...(ctx.round !== undefined && { round: ctx.round }), ...(ctx.roundMode && { mode: ctx.roundMode }), ...triggerField });
582
+ fileLog({ level: 'info', event: 'review_complete', repo: `${owner}/${repoName}`, pr: prNumber, reviewer, model, ...stepIdentity, verdict, duration_ms: Date.now() - stepStart, tokens_used: tokensUsed, skills_activated: activatedSkills.map(skill => skill.name), ...(inputTokens !== undefined && { input_tokens: inputTokens }), ...(outputTokens !== undefined && { output_tokens: outputTokens }), ...(ctx.round !== undefined && { round: ctx.round }), ...(ctx.roundMode && { mode: ctx.roundMode }), ...triggerField });
563
583
  // Recheck verdict is stored separately to preserve the original review's commentCount on the board
564
584
  const phaseUpdate = isRecheck
565
585
  ? { recheckVerdict: verdict, phase: donePhase, recheckTokens: tokensUsed, recheckReviewer: reviewer, qualityTier: config.quality.tier }
@@ -718,11 +738,12 @@ export async function runWorkflow(ctx) {
718
738
  let fixErr = undefined;
719
739
  let activeVendor = vendor;
720
740
  const tierMs = tierTimeoutMs(config.quality.tier);
741
+ const skillSession = skillSessionFor(step.name, effectiveType);
721
742
  const runFix = async (v) => {
722
743
  if (v === 'codex') {
723
- return runCodexFixStep(tmpDir, pr.base.ref, pr.title, reviewCommentBody, step.instructions ?? '', codexFixModel, ctx.overrideTimeoutMs ?? vendorTimeoutMs(config.vendors.codex.timeout_sec) ?? tierMs);
744
+ return runCodexFixStep(tmpDir, pr.base.ref, pr.title, reviewCommentBody, step.instructions ?? '', codexFixModel, ctx.overrideTimeoutMs ?? vendorTimeoutMs(config.vendors.codex.timeout_sec) ?? tierMs, skillSession);
724
745
  }
725
- return runFixStep(tmpDir, pr.base.ref, pr.title, reviewCommentBody, step.instructions ?? '', config, claudeFixModel, ctx.overrideTimeoutMs ?? vendorTimeoutMs(config.vendors.claude.timeout_sec) ?? tierMs);
746
+ return runFixStep(tmpDir, pr.base.ref, pr.title, reviewCommentBody, step.instructions ?? '', config, claudeFixModel, ctx.overrideTimeoutMs ?? vendorTimeoutMs(config.vendors.claude.timeout_sec) ?? tierMs, skillSession);
726
747
  };
727
748
  try {
728
749
  ;
@@ -770,6 +791,9 @@ export async function runWorkflow(ctx) {
770
791
  fixErr = retryErr;
771
792
  }
772
793
  }
794
+ const activatedSkills = skillSession?.activations() ?? [];
795
+ if (activatedSkills.length > 0)
796
+ log(chalk.dim(` skills: ${formatSkillAttribution(activatedSkills)}`));
773
797
  if (fixErr !== undefined) {
774
798
  skipFix(isSubscriptionLimitError(fixErr) ? 'vendor_limit' : 'fix_error');
775
799
  // Only notify for transient failures — auth errors are operator issues, not PR author issues
@@ -778,7 +802,7 @@ export async function runWorkflow(ctx) {
778
802
  const octokit = createGithubClient(token);
779
803
  await octokit.rest.issues.createComment({
780
804
  owner, repo: repoName, issue_number: prNumber,
781
- body: `⚠️ **Auto-fix failed**\n\nThe fix step timed out after retrying. Push a new commit or run \`crosscheck run ${pr.html_url}\` to retry manually.\n\n<!-- crosscheck: fix_failed -->`,
805
+ body: appendSkillAttribution(`⚠️ **Auto-fix failed**\n\nThe fix step timed out after retrying. Push a new commit or run \`crosscheck run ${pr.html_url}\` to retry manually.\n\n<!-- crosscheck: fix_failed -->`, activatedSkills, effectiveType),
782
806
  });
783
807
  fileLog({ level: 'info', event: 'fix_failed_comment_posted', repo: `${owner}/${repoName}`, pr: prNumber });
784
808
  }
@@ -797,7 +821,7 @@ export async function runWorkflow(ctx) {
797
821
  // event — NOT `fix_complete` — so status consumers (WORKFLOW_ACTIVITY_EVENTS,
798
822
  // the legacy status fold) don't misread a no-op as real workflow progress and
799
823
  // mark the PR NEEDS_RECHECK or hide it from `scan --tidy` with no fix applied.
800
- fileLog({ level: 'info', event: 'fix_noop', repo: `${owner}/${repoName}`, pr: prNumber, vendor: activeVendor, applied_count: 0, no_changes: true, tokens_used: fixTokensUsed, duration_ms: Date.now() - fixStepStart, ...triggerField });
824
+ fileLog({ level: 'info', event: 'fix_noop', repo: `${owner}/${repoName}`, pr: prNumber, vendor: activeVendor, applied_count: 0, no_changes: true, tokens_used: fixTokensUsed, skills_activated: activatedSkills.map(skill => skill.name), duration_ms: Date.now() - fixStepStart, ...triggerField });
801
825
  results[step.name] = { applied_count: 0, ...(fixTokensUsed !== undefined && { tokens_used: fixTokensUsed }), vendor };
802
826
  continue;
803
827
  }
@@ -849,18 +873,18 @@ export async function runWorkflow(ctx) {
849
873
  }
850
874
  }
851
875
  onPhaseChange('fixed ✓', { fixCount: appliedCount, phase: 'fixed', fixTokens: fixTokensUsed });
852
- fileLog({ level: 'info', event: 'fix_complete', repo: `${owner}/${repoName}`, pr: prNumber, vendor: activeVendor, applied_count: appliedCount, sha: newSha, delivery: 'commit', tokens_used: fixTokensUsed, duration_ms: Date.now() - fixStepStart, ...triggerField });
876
+ fileLog({ level: 'info', event: 'fix_complete', repo: `${owner}/${repoName}`, pr: prNumber, vendor: activeVendor, applied_count: appliedCount, sha: newSha, delivery: 'commit', tokens_used: fixTokensUsed, skills_activated: activatedSkills.map(skill => skill.name), duration_ms: Date.now() - fixStepStart, ...triggerField });
853
877
  // Post a summary comment so the silent commit push is visible on the timeline
854
878
  // as a comment card. Best-effort — a failure here must not fail the run.
855
879
  try {
856
880
  const octokit = createGithubClient(token);
857
- const body = buildFixAppliedCommentBody({
881
+ const body = appendSkillAttribution(buildFixAppliedCommentBody({
858
882
  owner, repo: repoName, sha: newSha, appliedCount,
859
883
  reviewCommentId,
860
884
  changedFiles: fixChangedFiles,
861
885
  vendor: activeVendor,
862
886
  reviewCommentBody,
863
- });
887
+ }), activatedSkills, effectiveType);
864
888
  await octokit.rest.issues.createComment({ owner, repo: repoName, issue_number: prNumber, body });
865
889
  fileLog({ level: 'info', event: 'fix_applied_comment_posted', repo: `${owner}/${repoName}`, pr: prNumber, sha: newSha });
866
890
  }
@@ -896,7 +920,7 @@ export async function runWorkflow(ctx) {
896
920
  head: fixBranch,
897
921
  base: pr.head.ref,
898
922
  title: fixPrTitle,
899
- body: `Auto-fix by crosscheck for CR issues found in #${prNumber}.\n\nReview: https://github.com/${owner}/${repoName}/pull/${prNumber}`,
923
+ body: appendSkillAttribution(`Auto-fix by crosscheck for CR issues found in #${prNumber}.\n\nReview: https://github.com/${owner}/${repoName}/pull/${prNumber}`, activatedSkills, effectiveType),
900
924
  });
901
925
  if (config.post_review.auto_fix.delivery.label) {
902
926
  try {
@@ -907,7 +931,7 @@ export async function runWorkflow(ctx) {
907
931
  catch { /* label may not exist in this repo — skip */ }
908
932
  }
909
933
  onPhaseChange('fixed ✓', { fixCount: appliedCount, phase: 'fixed', fixTokens: fixTokensUsed });
910
- fileLog({ level: 'info', event: 'fix_complete', repo: `${owner}/${repoName}`, pr: prNumber, vendor: activeVendor, applied_count: appliedCount, sha: newSha, delivery: 'pull_request', fix_pr: fixPr.number, tokens_used: fixTokensUsed, duration_ms: Date.now() - fixStepStart, ...triggerField });
934
+ fileLog({ level: 'info', event: 'fix_complete', repo: `${owner}/${repoName}`, pr: prNumber, vendor: activeVendor, applied_count: appliedCount, sha: newSha, delivery: 'pull_request', fix_pr: fixPr.number, tokens_used: fixTokensUsed, skills_activated: activatedSkills.map(skill => skill.name), duration_ms: Date.now() - fixStepStart, ...triggerField });
911
935
  results[step.name] = { applied_count: appliedCount, tokens_used: fixTokensUsed, vendor: activeVendor };
912
936
  }
913
937
  else {
@@ -919,11 +943,11 @@ export async function runWorkflow(ctx) {
919
943
  catch { /* ignore */ }
920
944
  if (patch) {
921
945
  const octokit = createGithubClient(token);
922
- const body = `### Suggested fixes (crosscheck auto-fix)\n\n\`\`\`diff\n${patch.slice(0, 16000)}\n\`\`\``;
946
+ const body = appendSkillAttribution(`### Suggested fixes (crosscheck auto-fix)\n\n\`\`\`diff\n${patch.slice(0, 16000)}\n\`\`\``, activatedSkills, effectiveType);
923
947
  await octokit.rest.issues.createComment({ owner, repo: repoName, issue_number: prNumber, body });
924
948
  }
925
949
  onPhaseChange('fixed ✓', { fixCount: appliedCount, phase: 'fixed', fixTokens: fixTokensUsed });
926
- fileLog({ level: 'info', event: 'fix_complete', repo: `${owner}/${repoName}`, pr: prNumber, vendor: activeVendor, applied_count: appliedCount, delivery: 'comment', tokens_used: fixTokensUsed, duration_ms: Date.now() - fixStepStart, ...triggerField });
950
+ fileLog({ level: 'info', event: 'fix_complete', repo: `${owner}/${repoName}`, pr: prNumber, vendor: activeVendor, applied_count: appliedCount, delivery: 'comment', tokens_used: fixTokensUsed, skills_activated: activatedSkills.map(skill => skill.name), duration_ms: Date.now() - fixStepStart, ...triggerField });
927
951
  results[step.name] = { applied_count: appliedCount, tokens_used: fixTokensUsed, vendor: activeVendor };
928
952
  }
929
953
  }
@@ -1025,9 +1049,10 @@ export async function runWorkflow(ctx) {
1025
1049
  let appliedCount = 0;
1026
1050
  let resolvedPaths = [];
1027
1051
  let resolveTokensUsed;
1052
+ const skillSession = skillSessionFor(step.name, effectiveType);
1028
1053
  try {
1029
1054
  ;
1030
- ({ appliedCount, resolvedPaths, tokensUsed: resolveTokensUsed } = await runConflictResolveStep(tmpDir, pr.title, step.instructions ?? '', conflictResolveModel, ctx.overrideTimeoutMs ?? vendorTimeoutMs(config.vendors.claude.timeout_sec)));
1055
+ ({ appliedCount, resolvedPaths, tokensUsed: resolveTokensUsed } = await runConflictResolveStep(tmpDir, pr.title, step.instructions ?? '', conflictResolveModel, ctx.overrideTimeoutMs ?? vendorTimeoutMs(config.vendors.claude.timeout_sec), skillSession));
1031
1056
  }
1032
1057
  catch (err) {
1033
1058
  logError({ repo: `${owner}/${repoName}`, pr: prNumber, phase: 'conflict-resolve', attempt: 1 }, err);
@@ -1038,6 +1063,9 @@ export async function runWorkflow(ctx) {
1038
1063
  skipConflictResolve(isSubscriptionLimitError(err) ? 'vendor_limit' : 'resolve_error');
1039
1064
  continue;
1040
1065
  }
1066
+ const activatedSkills = skillSession?.activations() ?? [];
1067
+ if (activatedSkills.length > 0)
1068
+ log(chalk.dim(` skills: ${formatSkillAttribution(activatedSkills)}`));
1041
1069
  if (appliedCount === 0) {
1042
1070
  try {
1043
1071
  execSync('git merge --abort', { cwd: tmpDir });
@@ -1140,18 +1168,18 @@ export async function runWorkflow(ctx) {
1140
1168
  fileLog({ level: 'warn', event: 'remote_lock_refresh_failed', repo: `${owner}/${repoName}`, pr: prNumber, sha: newSha, error: err instanceof Error ? err.message : String(err) });
1141
1169
  }
1142
1170
  onPhaseChange('conflicts resolved ✓', { fixCount: appliedCount, phase: 'fixed', fixTokens: resolveTokensUsed });
1143
- fileLog({ level: 'info', event: 'conflict_resolve_complete', repo: `${owner}/${repoName}`, pr: prNumber, vendor, conflicts_resolved: conflictedFiles.length, sha: newSha, tokens_used: resolveTokensUsed, duration_ms: Date.now() - conflictResolveStepStart, ...triggerField });
1171
+ fileLog({ level: 'info', event: 'conflict_resolve_complete', repo: `${owner}/${repoName}`, pr: prNumber, vendor, conflicts_resolved: conflictedFiles.length, sha: newSha, tokens_used: resolveTokensUsed, skills_activated: activatedSkills.map(skill => skill.name), duration_ms: Date.now() - conflictResolveStepStart, ...triggerField });
1144
1172
  // Post a summary comment so the silent merge-commit push is visible on the
1145
1173
  // timeline as a comment card. Best-effort — a failure here must not fail the run.
1146
1174
  // Prefer the resolver's actual rewrite set; fall back to the originally-conflicted
1147
1175
  // list if the resolver didn't surface paths.
1148
1176
  try {
1149
1177
  const octokit = createGithubClient(token);
1150
- const body = buildConflictResolvedCommentBody({
1178
+ const body = appendSkillAttribution(buildConflictResolvedCommentBody({
1151
1179
  owner, repo: repoName, sha: newSha,
1152
1180
  conflictCount: conflictedFiles.length,
1153
1181
  files: resolvedPaths.length > 0 ? resolvedPaths : conflictedFiles,
1154
- });
1182
+ }), activatedSkills, effectiveType);
1155
1183
  await octokit.rest.issues.createComment({ owner, repo: repoName, issue_number: prNumber, body });
1156
1184
  fileLog({ level: 'info', event: 'conflict_resolved_comment_posted', repo: `${owner}/${repoName}`, pr: prNumber, sha: newSha });
1157
1185
  }
@@ -1187,6 +1215,9 @@ export async function runWorkflow(ctx) {
1187
1215
  throw err;
1188
1216
  }
1189
1217
  finally {
1218
+ for (const session of skillSessions.values())
1219
+ session.close();
1220
+ skillSessions.clear();
1190
1221
  if (pushedShasNeedingRelease.length > 0 || fixPushedShaRequiresRecheck !== null) {
1191
1222
  const lockOctokit = createGithubClient(token);
1192
1223
  const outcome = workflowFailed ? 'failure' : 'success';