slopbrick 0.17.2 → 0.17.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.
@@ -4096,7 +4096,13 @@ var signalStrengthSchema = external_exports.record(
4096
4096
  verdict: external_exports.enum(VERDICTS),
4097
4097
  // defaultOff is opt-in per-rule. Absent = the rule follows
4098
4098
  // isDefaultOff(verdict). Present (true or false) = user override.
4099
- defaultOff: external_exports.boolean().optional()
4099
+ defaultOff: external_exports.boolean().optional(),
4100
+ // v0.17.3 (B5): mark rules whose signal is specific to AI
4101
+ // generation. Without this field, the composite scoring pipeline
4102
+ // can't distinguish "this rule fires on AI slop" from "this rule
4103
+ // fires on sloppy code in general" — and gives zero weight to
4104
+ // both. See packages/engine/src/composite-scoring.ts:136,164.
4105
+ aiSpecific: external_exports.boolean().optional()
4100
4106
  })
4101
4107
  );
4102
4108
 
@@ -4162,11 +4168,6 @@ function syntaxCandidates(filePath, source) {
4162
4168
  { syntax: "typescript", jsx: true },
4163
4169
  { syntax: "typescript", jsx: false, tsx: false }
4164
4170
  ];
4165
- case "mjs":
4166
- return [
4167
- { syntax: "ecmascript", jsx: true },
4168
- { syntax: "ecmascript", jsx: false }
4169
- ];
4170
4171
  default:
4171
4172
  return [
4172
4173
  { syntax: "typescript", jsx: false, tsx: true },
@@ -4077,7 +4077,13 @@ var signalStrengthSchema = external_exports.record(
4077
4077
  verdict: external_exports.enum(VERDICTS),
4078
4078
  // defaultOff is opt-in per-rule. Absent = the rule follows
4079
4079
  // isDefaultOff(verdict). Present (true or false) = user override.
4080
- defaultOff: external_exports.boolean().optional()
4080
+ defaultOff: external_exports.boolean().optional(),
4081
+ // v0.17.3 (B5): mark rules whose signal is specific to AI
4082
+ // generation. Without this field, the composite scoring pipeline
4083
+ // can't distinguish "this rule fires on AI slop" from "this rule
4084
+ // fires on sloppy code in general" — and gives zero weight to
4085
+ // both. See packages/engine/src/composite-scoring.ts:136,164.
4086
+ aiSpecific: external_exports.boolean().optional()
4081
4087
  })
4082
4088
  );
4083
4089
 
@@ -4143,11 +4149,6 @@ function syntaxCandidates(filePath, source) {
4143
4149
  { syntax: "typescript", jsx: true },
4144
4150
  { syntax: "typescript", jsx: false, tsx: false }
4145
4151
  ];
4146
- case "mjs":
4147
- return [
4148
- { syntax: "ecmascript", jsx: true },
4149
- { syntax: "ecmascript", jsx: false }
4150
- ];
4151
4152
  default:
4152
4153
  return [
4153
4154
  { syntax: "typescript", jsx: false, tsx: true },
package/dist/index.cjs CHANGED
@@ -34945,7 +34945,13 @@ var init_dist = __esm({
34945
34945
  verdict: external_exports.enum(VERDICTS),
34946
34946
  // defaultOff is opt-in per-rule. Absent = the rule follows
34947
34947
  // isDefaultOff(verdict). Present (true or false) = user override.
34948
- defaultOff: external_exports.boolean().optional()
34948
+ defaultOff: external_exports.boolean().optional(),
34949
+ // v0.17.3 (B5): mark rules whose signal is specific to AI
34950
+ // generation. Without this field, the composite scoring pipeline
34951
+ // can't distinguish "this rule fires on AI slop" from "this rule
34952
+ // fires on sloppy code in general" — and gives zero weight to
34953
+ // both. See packages/engine/src/composite-scoring.ts:136,164.
34954
+ aiSpecific: external_exports.boolean().optional()
34949
34955
  })
34950
34956
  );
34951
34957
  }
@@ -35133,11 +35139,6 @@ function syntaxCandidates(filePath, source) {
35133
35139
  { syntax: "typescript", jsx: true },
35134
35140
  { syntax: "typescript", jsx: false, tsx: false }
35135
35141
  ];
35136
- case "mjs":
35137
- return [
35138
- { syntax: "ecmascript", jsx: true },
35139
- { syntax: "ecmascript", jsx: false }
35140
- ];
35141
35142
  default:
35142
35143
  return [
35143
35144
  { syntax: "typescript", jsx: false, tsx: true },
package/dist/index.js CHANGED
@@ -34938,7 +34938,13 @@ var init_dist = __esm({
34938
34938
  verdict: external_exports.enum(VERDICTS),
34939
34939
  // defaultOff is opt-in per-rule. Absent = the rule follows
34940
34940
  // isDefaultOff(verdict). Present (true or false) = user override.
34941
- defaultOff: external_exports.boolean().optional()
34941
+ defaultOff: external_exports.boolean().optional(),
34942
+ // v0.17.3 (B5): mark rules whose signal is specific to AI
34943
+ // generation. Without this field, the composite scoring pipeline
34944
+ // can't distinguish "this rule fires on AI slop" from "this rule
34945
+ // fires on sloppy code in general" — and gives zero weight to
34946
+ // both. See packages/engine/src/composite-scoring.ts:136,164.
34947
+ aiSpecific: external_exports.boolean().optional()
34942
34948
  })
34943
34949
  );
34944
34950
  }
@@ -35135,11 +35141,6 @@ function syntaxCandidates(filePath, source) {
35135
35141
  { syntax: "typescript", jsx: true },
35136
35142
  { syntax: "typescript", jsx: false, tsx: false }
35137
35143
  ];
35138
- case "mjs":
35139
- return [
35140
- { syntax: "ecmascript", jsx: true },
35141
- { syntax: "ecmascript", jsx: false }
35142
- ];
35143
35144
  default:
35144
35145
  return [
35145
35146
  { syntax: "typescript", jsx: false, tsx: true },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "slopbrick",
3
- "version": "0.17.2",
3
+ "version": "0.17.3",
4
4
  "description": "Discovered, modeled, and governed repository structure. SlopBrick scans source code, classifies it against 95 rules in 15 categories, computes 4 scores (aiQuality, engineeringHygiene, security, repositoryHealth), and persists the structure for AI agents and CI.",
5
5
  "type": "module",
6
6
  "bin": {