anti-slop-engineering 1.6.0 → 1.7.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 (433) hide show
  1. package/.skills.json +1 -1
  2. package/README.md +139 -8
  3. package/SKILL.md +27 -1
  4. package/action.yml +90 -0
  5. package/assets/logo-dark.svg +6 -0
  6. package/assets/logo-light.svg +6 -0
  7. package/assets/mark.svg +5 -0
  8. package/bin/cli.js +259 -3
  9. package/bin/postinstall.js +3 -0
  10. package/dist/SHA256SUMS +1 -0
  11. package/dist/anti-slop-engineering-1.7.0.zip +0 -0
  12. package/dist/bin/anti-slop-rust +0 -0
  13. package/dist/bin/toil-guard +0 -0
  14. package/marketplace.json +1 -1
  15. package/package.json +34 -3
  16. package/schemas/asset_provenance_record.json +87 -0
  17. package/schemas/attention_budget_record.json +96 -0
  18. package/schemas/backprop_record.json +60 -0
  19. package/schemas/chroma_drift_record.json +111 -0
  20. package/schemas/comment_budget_record.json +76 -0
  21. package/schemas/demock_record.json +84 -0
  22. package/schemas/honeypot_record.json +60 -0
  23. package/schemas/house_tell_record.json +130 -0
  24. package/schemas/invariant_ledger.schema.json +96 -0
  25. package/schemas/mandela_record.json +88 -0
  26. package/schemas/motion_runtime_record.json +111 -0
  27. package/schemas/pr_boundary_record.json +75 -0
  28. package/schemas/reassessment_trigger.schema.json +54 -0
  29. package/schemas/reduction_record.json +96 -0
  30. package/schemas/state_note_record.json +84 -0
  31. package/schemas/styleseed_record.json +172 -0
  32. package/schemas/system_drift_record.json +109 -0
  33. package/schemas/tagore_record.json +132 -0
  34. package/scripts/api_contract_guard.py +296 -0
  35. package/scripts/apple_craft_guard.py +502 -0
  36. package/scripts/asset_provenance_guard.py +339 -0
  37. package/scripts/ast_slop_guard.py +289 -0
  38. package/scripts/attention_guard.py +496 -0
  39. package/scripts/audit_runner.py +466 -0
  40. package/scripts/backprop_guard.py +154 -0
  41. package/scripts/build_plugin_release.py +129 -0
  42. package/scripts/bump_version.py +15 -0
  43. package/scripts/chroma_drift_guard.py +375 -0
  44. package/scripts/comment_budget_guard.py +320 -0
  45. package/scripts/contrast_guard.py +279 -0
  46. package/scripts/demock_guard.py +251 -0
  47. package/scripts/diff_guard.py +8 -2
  48. package/scripts/fault_isolation_guard.py +333 -0
  49. package/scripts/frame_budget_guard.py +298 -0
  50. package/scripts/honeypot_trap_guard.py +315 -0
  51. package/scripts/house_tell_guard.py +405 -0
  52. package/scripts/installer.mjs +353 -0
  53. package/scripts/invariant_steward_guard.py +670 -0
  54. package/scripts/mandela_guard.py +215 -0
  55. package/scripts/migration_guard.py +311 -0
  56. package/scripts/motion_runtime_guard.py +275 -0
  57. package/scripts/observability_guard.py +498 -0
  58. package/scripts/package_plugin.py +211 -0
  59. package/scripts/paranoid_guard.py +29 -4
  60. package/scripts/perf_guard.py +417 -0
  61. package/scripts/pr_boundary_guard.py +449 -0
  62. package/scripts/privacy_guard.py +323 -0
  63. package/scripts/profiler_guard.py +309 -0
  64. package/scripts/re0_handoff_guard.py +190 -0
  65. package/scripts/reduction_guard.py +240 -0
  66. package/scripts/rollout_guard.py +428 -0
  67. package/scripts/security-audit.ts +173 -0
  68. package/scripts/simulation_guard.py +368 -0
  69. package/scripts/sre_guard.py +3 -0
  70. package/scripts/styleseed_guard.py +881 -0
  71. package/scripts/system_drift_guard.py +312 -0
  72. package/scripts/tagore_guard.py +859 -0
  73. package/scripts/verification_oracle_guard.py +313 -0
  74. package/services/anti-slop-rust/Cargo.lock +10 -30
  75. package/services/anti-slop-rust/Cargo.toml +23 -2
  76. package/services/anti-slop-rust/clippy.toml +14 -0
  77. package/services/anti-slop-rust/src/attention_auditor.rs +81 -0
  78. package/services/anti-slop-rust/src/comment_auditor.rs +98 -0
  79. package/services/anti-slop-rust/src/demock_auditor.rs +101 -0
  80. package/services/anti-slop-rust/src/ladder_auditor.rs +1 -0
  81. package/services/anti-slop-rust/src/lib.rs +35 -0
  82. package/services/anti-slop-rust/src/main.rs +6 -6
  83. package/services/anti-slop-rust/src/model.rs +5 -0
  84. package/services/anti-slop-rust/src/server.rs +4 -4
  85. package/services/anti-slop-rust/src/shit_interceptor.rs +2 -2
  86. package/services/anti-slop-rust/src/styleseed_auditor.rs +126 -0
  87. package/services/anti-slop-rust/src/tagore_auditor.rs +145 -0
  88. package/services/toil-guard-go/pkg/model/types.go +1 -1
  89. package/services/toil-guard-go/pkg/server/server.go +1 -1
  90. package/skills/anti-slop-engineering/SKILL.md +204 -0
  91. package/skills/anti-slop-engineering/agents/openai.yaml +9 -0
  92. package/skills/anti-slop-engineering/references/anti-pattern-catalog.md +274 -0
  93. package/skills/anti-slop-engineering/references/clean-room-recon.md +93 -0
  94. package/skills/anti-slop-engineering/references/engineering-judgment.md +39 -0
  95. package/skills/anti-slop-engineering/references/evaluation-cases.md +30 -0
  96. package/skills/anti-slop-engineering/references/evidence-and-sources.md +26 -0
  97. package/skills/anti-slop-engineering/references/google-sre-discipline.md +97 -0
  98. package/skills/anti-slop-engineering/references/pr-review.md +46 -0
  99. package/skills/anti-slop-engineering/references/security-and-operations.md +27 -0
  100. package/skills/anti-slop-engineering/references/test-integrity.md +48 -0
  101. package/skills/api-ergonomics-and-contract-governor/SKILL.md +151 -0
  102. package/skills/api-ergonomics-and-contract-governor/agents/openai.yaml +9 -0
  103. package/skills/api-ergonomics-and-contract-governor/evals/scenarios.json +127 -0
  104. package/skills/api-ergonomics-and-contract-governor/examples/api-contract-record.json +58 -0
  105. package/skills/api-ergonomics-and-contract-governor/examples/hardened-sdk-contract.ts +504 -0
  106. package/skills/api-ergonomics-and-contract-governor/playbooks/README.md +20 -0
  107. package/skills/api-ergonomics-and-contract-governor/playbooks/microsoft-typescript-playbook.md +94 -0
  108. package/skills/api-ergonomics-and-contract-governor/playbooks/references/api-booby-traps.md +98 -0
  109. package/skills/api-ergonomics-and-contract-governor/playbooks/stripe-dx-playbook.md +81 -0
  110. package/skills/api-ergonomics-and-contract-governor/references/api-contract-record-contract.md +153 -0
  111. package/skills/api-ergonomics-and-contract-governor/references/illegal-states-unrepresentable.md +118 -0
  112. package/skills/api-ergonomics-and-contract-governor/references/pit-of-success-defaults.md +61 -0
  113. package/skills/api-ergonomics-and-contract-governor/references/progressive-disclosure-patterns.md +93 -0
  114. package/skills/api-ergonomics-and-contract-governor/references/rfc9457-problem-details-contract.md +99 -0
  115. package/skills/api-ergonomics-and-contract-governor/usecases/architect-sdk.md +45 -0
  116. package/skills/api-ergonomics-and-contract-governor/usecases/audit-api-ergonomics.md +39 -0
  117. package/skills/api-ergonomics-and-contract-governor/usecases/design-cli.md +48 -0
  118. package/skills/api-ergonomics-and-contract-governor/usecases/refactor-module-contract.md +52 -0
  119. package/skills/apple-craft-and-frame-budget/SKILL.md +166 -0
  120. package/skills/apple-craft-and-frame-budget/agents/openai.yaml +9 -0
  121. package/skills/apple-craft-and-frame-budget/evals/scenarios.json +100 -0
  122. package/skills/apple-craft-and-frame-budget/examples/apple-craft-frame-budget-record.json +63 -0
  123. package/skills/apple-craft-and-frame-budget/examples/optimistic-state-machine-view.ts +210 -0
  124. package/skills/apple-craft-and-frame-budget/playbooks/README.md +76 -0
  125. package/skills/apple-craft-and-frame-budget/playbooks/frame-budget-physics-playbook.md +91 -0
  126. package/skills/apple-craft-and-frame-budget/playbooks/optimistic-state-machine-playbook.md +59 -0
  127. package/skills/apple-craft-and-frame-budget/references/compositor-and-frame-budget.md +104 -0
  128. package/skills/apple-craft-and-frame-budget/references/discriminated-union-state-machines.md +81 -0
  129. package/skills/apple-craft-and-frame-budget/references/frame-budget-record-contract.md +168 -0
  130. package/skills/apple-craft-and-frame-budget/references/optimistic-ui-and-zero-cls.md +47 -0
  131. package/skills/apple-craft-and-frame-budget/usecases/architect-ui-state-machine.md +28 -0
  132. package/skills/apple-craft-and-frame-budget/usecases/audit-frame-budget.md +29 -0
  133. package/skills/apple-craft-and-frame-budget/usecases/implement-optimistic-zero-cls.md +26 -0
  134. package/skills/apple-craft-and-interaction-physics/SKILL.md +208 -0
  135. package/skills/apple-craft-and-interaction-physics/agents/openai.yaml +9 -0
  136. package/skills/apple-craft-and-interaction-physics/evals/scenarios.json +117 -0
  137. package/skills/apple-craft-and-interaction-physics/examples/apple-craft-record.json +85 -0
  138. package/skills/apple-craft-and-interaction-physics/examples/interactive-craft-component.ts +235 -0
  139. package/skills/apple-craft-and-interaction-physics/playbooks/README.md +20 -0
  140. package/skills/apple-craft-and-interaction-physics/playbooks/interaction-physics-playbook.md +71 -0
  141. package/skills/apple-craft-and-interaction-physics/playbooks/keyboard-focus-mastery-playbook.md +52 -0
  142. package/skills/apple-craft-and-interaction-physics/playbooks/ui-state-matrix-playbook.md +97 -0
  143. package/skills/apple-craft-and-interaction-physics/playbooks/zero-cls-geometry-playbook.md +84 -0
  144. package/skills/apple-craft-and-interaction-physics/references/apple-craft-record-contract.md +199 -0
  145. package/skills/apple-craft-and-interaction-physics/references/exhaustive-ui-state-matrix.md +109 -0
  146. package/skills/apple-craft-and-interaction-physics/references/frame-budget-and-compositor.md +93 -0
  147. package/skills/apple-craft-and-interaction-physics/references/interruptible-spring-physics.md +105 -0
  148. package/skills/apple-craft-and-interaction-physics/references/keyboard-and-focus-mastery.md +178 -0
  149. package/skills/apple-craft-and-interaction-physics/references/zero-cls-geometry-reservation.md +125 -0
  150. package/skills/apple-craft-and-interaction-physics/usecases/architect-interaction-physics.md +33 -0
  151. package/skills/apple-craft-and-interaction-physics/usecases/audit-ui-craft.md +42 -0
  152. package/skills/apple-craft-and-interaction-physics/usecases/implement-exhaustive-state-view.md +31 -0
  153. package/skills/asset-provenance-guard/SKILL.md +47 -0
  154. package/skills/backprop-guard/SKILL.md +48 -0
  155. package/skills/chromatic-drift-guard/SKILL.md +48 -0
  156. package/skills/cognitive-load-and-attention-governor/SKILL.md +102 -0
  157. package/skills/cognitive-load-and-attention-governor/examples/attention-budget-record.json +25 -0
  158. package/skills/cognitive-load-and-attention-governor/examples/pure-deliverable-sample.md +9 -0
  159. package/skills/cognitive-load-and-attention-governor/playbooks/agent-to-agent-swarm.md +43 -0
  160. package/skills/cognitive-load-and-attention-governor/playbooks/human-agent-interaction.md +46 -0
  161. package/skills/cognitive-load-and-attention-governor/references/attention-metrics.md +83 -0
  162. package/skills/cognitive-load-and-attention-governor/references/handoff-contracts.md +92 -0
  163. package/skills/comment-budget-guard/SKILL.md +42 -0
  164. package/skills/decision-guard/SKILL.md +2 -2
  165. package/skills/decision-guard/agents/openai.yaml +9 -0
  166. package/skills/demock-guard/SKILL.md +38 -0
  167. package/skills/design-system-drift-guard/SKILL.md +50 -0
  168. package/skills/deterministic-simulation-and-property-testing/SKILL.md +155 -0
  169. package/skills/deterministic-simulation-and-property-testing/agents/openai.yaml +9 -0
  170. package/skills/deterministic-simulation-and-property-testing/evals/scenarios.json +110 -0
  171. package/skills/deterministic-simulation-and-property-testing/examples/deterministic-simulation-record.json +121 -0
  172. package/skills/deterministic-simulation-and-property-testing/examples/deterministic-simulation-runner.ts +395 -0
  173. package/skills/deterministic-simulation-and-property-testing/playbooks/README.md +11 -0
  174. package/skills/deterministic-simulation-and-property-testing/playbooks/microsoft-aws-dst-playbook.md +59 -0
  175. package/skills/deterministic-simulation-and-property-testing/playbooks/references/simulation-booby-traps.md +39 -0
  176. package/skills/deterministic-simulation-and-property-testing/playbooks/state-machine-and-fuzzing-playbook.md +46 -0
  177. package/skills/deterministic-simulation-and-property-testing/references/discrete-event-simulation-and-fault-injection.md +57 -0
  178. package/skills/deterministic-simulation-and-property-testing/references/property-based-testing-and-shrinking.md +64 -0
  179. package/skills/deterministic-simulation-and-property-testing/references/simulation-record-contract.md +231 -0
  180. package/skills/deterministic-simulation-and-property-testing/references/state-machine-modeling-and-type-invariants.md +70 -0
  181. package/skills/deterministic-simulation-and-property-testing/references/structure-aware-fuzzing-and-parsers.md +78 -0
  182. package/skills/deterministic-simulation-and-property-testing/usecases/author-property-tests.md +51 -0
  183. package/skills/deterministic-simulation-and-property-testing/usecases/build-deterministic-simulator.md +53 -0
  184. package/skills/deterministic-simulation-and-property-testing/usecases/fuzz-parser-boundaries.md +57 -0
  185. package/skills/deterministic-simulation-and-property-testing/usecases/model-state-machine.md +59 -0
  186. package/skills/future-scale-gate/agents/openai.yaml +9 -0
  187. package/skills/grumpy-senior-staff-engineer/SKILL.md +133 -0
  188. package/skills/grumpy-senior-staff-engineer/agents/openai.yaml +9 -0
  189. package/skills/grumpy-senior-staff-engineer/evals/scenarios.json +152 -0
  190. package/skills/grumpy-senior-staff-engineer/playbooks/3am-postmortem-playbook.md +132 -0
  191. package/skills/grumpy-senior-staff-engineer/playbooks/README.md +79 -0
  192. package/skills/grumpy-senior-staff-engineer/playbooks/boring-architecture-playbook.md +104 -0
  193. package/skills/grumpy-senior-staff-engineer/playbooks/references/code-smell-catalog.md +240 -0
  194. package/skills/grumpy-senior-staff-engineer/references/dependency-tribunal.md +80 -0
  195. package/skills/grumpy-senior-staff-engineer/references/instant-rejections.md +81 -0
  196. package/skills/grumpy-senior-staff-engineer/references/operational-survival.md +141 -0
  197. package/skills/grumpy-senior-staff-engineer/references/simplicity-patterns.md +133 -0
  198. package/skills/grumpy-senior-staff-engineer/usecases/architecture.md +74 -0
  199. package/skills/grumpy-senior-staff-engineer/usecases/debug.md +82 -0
  200. package/skills/grumpy-senior-staff-engineer/usecases/implement.md +94 -0
  201. package/skills/grumpy-senior-staff-engineer/usecases/review.md +82 -0
  202. package/skills/honeypot-trap-guard/SKILL.md +42 -0
  203. package/skills/house-tell-guard/SKILL.md +47 -0
  204. package/skills/install-anti-slop/SKILL.md +50 -26
  205. package/skills/install-anti-slop/agents/openai.yaml +9 -0
  206. package/skills/install-anti-slop/assets/anti-slop/effect/index.ts +8 -0
  207. package/skills/install-anti-slop/assets/anti-slop/effect/rules/no-manual-effect-error-tag.ts +52 -0
  208. package/skills/install-anti-slop/assets/anti-slop/effect/rules/no-manual-tag-comparison.ts +45 -0
  209. package/skills/install-anti-slop/assets/anti-slop/effect/rules/no-manual-tagged-construction.ts +37 -0
  210. package/skills/install-anti-slop/assets/anti-slop/effect/rules/prefer-effect-match.ts +54 -0
  211. package/skills/install-anti-slop/assets/anti-slop/effect/shared/tagged-values.ts +97 -0
  212. package/skills/install-anti-slop/assets/anti-slop/index.ts +6 -0
  213. package/skills/install-anti-slop/assets/anti-slop/rules/no-array-filter-map.ts +28 -0
  214. package/skills/install-anti-slop/assets/anti-slop/rules/no-conditional-empty-object-spread.ts +3 -6
  215. package/skills/install-anti-slop/assets/anti-slop/rules/no-known-value-widening.ts +183 -15
  216. package/skills/install-anti-slop/assets/anti-slop/rules/no-module-mocking.ts +3 -14
  217. package/skills/install-anti-slop/assets/anti-slop/rules/no-object-parameters.ts +28 -72
  218. package/skills/install-anti-slop/assets/anti-slop/rules/no-reduce-accumulator-copy.ts +109 -0
  219. package/skills/install-anti-slop/assets/anti-slop/rules/no-runtime-typeof.ts +10 -0
  220. package/skills/install-anti-slop/assets/anti-slop/rules/no-shape-in-symbol-names.ts +8 -1
  221. package/skills/install-anti-slop/assets/anti-slop/rules/no-unknown-parameters.ts +18 -34
  222. package/skills/install-anti-slop/assets/anti-slop/rules/no-unknown-returns.ts +30 -64
  223. package/skills/install-anti-slop/assets/anti-slop/rules/no-unknown-type-aliases.ts +27 -44
  224. package/skills/install-anti-slop/assets/anti-slop/rules/no-unsafe-dictionary-type.ts +27 -12
  225. package/skills/install-anti-slop/assets/anti-slop/rules/no-widen-then-assert.ts +12 -24
  226. package/skills/install-anti-slop/assets/anti-slop/rules/require-readable-spacing.ts +80 -0
  227. package/skills/install-anti-slop/assets/anti-slop/rules/require-safety-comment-for-type-assertion.ts +80 -11
  228. package/skills/install-anti-slop/assets/anti-slop/shared/array-method.ts +94 -0
  229. package/skills/install-anti-slop/assets/anti-slop/shared/dictionary-types.ts +101 -98
  230. package/skills/install-anti-slop/assets/anti-slop/shared/function-parameters.ts +49 -0
  231. package/skills/install-anti-slop/assets/anti-slop/shared/reflect-method.ts +2 -13
  232. package/skills/install-anti-slop/assets/anti-slop/shared/scope.ts +15 -0
  233. package/skills/install-anti-slop/assets/anti-slop/shared/type-alias-resolution.ts +250 -0
  234. package/skills/install-anti-slop/assets/anti-slop/vendor/eslint-stylistic/LICENSE +22 -0
  235. package/skills/install-anti-slop/assets/anti-slop/vendor/eslint-stylistic/UPSTREAM.md +28 -0
  236. package/skills/install-anti-slop/assets/anti-slop/vendor/eslint-stylistic/padding-line-ast.ts +51 -0
  237. package/skills/install-anti-slop/assets/anti-slop/vendor/eslint-stylistic/padding-line-between-statements.ts +929 -0
  238. package/skills/install-anti-slop/assets/anti-slop/vendor/eslint-stylistic/padding-line-options.d.ts +87 -0
  239. package/skills/install-anti-slop/references/update.md +101 -0
  240. package/skills/install-anti-slop/scripts/update.mjs +115 -0
  241. package/skills/mandela-guard/SKILL.md +38 -0
  242. package/skills/mechanical-sympathy-and-perf-gate/SKILL.md +150 -0
  243. package/skills/mechanical-sympathy-and-perf-gate/agents/openai.yaml +9 -0
  244. package/skills/mechanical-sympathy-and-perf-gate/evals/scenarios.json +92 -0
  245. package/skills/mechanical-sympathy-and-perf-gate/examples/perf-gate-record.json +65 -0
  246. package/skills/mechanical-sympathy-and-perf-gate/examples/perf-hardened-pipeline.ts +139 -0
  247. package/skills/mechanical-sympathy-and-perf-gate/playbooks/README.md +82 -0
  248. package/skills/mechanical-sympathy-and-perf-gate/playbooks/client-runtime-frame-budget-playbook.md +59 -0
  249. package/skills/mechanical-sympathy-and-perf-gate/playbooks/mechanical-sympathy-systems-playbook.md +52 -0
  250. package/skills/mechanical-sympathy-and-perf-gate/playbooks/references/hardware-runtime-booby-traps.md +75 -0
  251. package/skills/mechanical-sympathy-and-perf-gate/references/data-oriented-design-and-cache-physics.md +90 -0
  252. package/skills/mechanical-sympathy-and-perf-gate/references/flamegraphs-and-empirical-benchmarking.md +81 -0
  253. package/skills/mechanical-sympathy-and-perf-gate/references/frame-and-latency-budgets-120hz.md +74 -0
  254. package/skills/mechanical-sympathy-and-perf-gate/references/perf-record-contract.md +217 -0
  255. package/skills/mechanical-sympathy-and-perf-gate/references/zero-copy-and-streaming-architecture.md +87 -0
  256. package/skills/mechanical-sympathy-and-perf-gate/usecases/audit-and-eliminate-latency-jank.md +33 -0
  257. package/skills/mechanical-sympathy-and-perf-gate/usecases/benchmark-and-prove-optimization.md +43 -0
  258. package/skills/mechanical-sympathy-and-perf-gate/usecases/design-data-oriented-system.md +32 -0
  259. package/skills/mechanical-sympathy-profiler/SKILL.md +158 -0
  260. package/skills/mechanical-sympathy-profiler/agents/openai.yaml +9 -0
  261. package/skills/mechanical-sympathy-profiler/evals/scenarios.json +96 -0
  262. package/skills/mechanical-sympathy-profiler/examples/batched-streaming-hot-path.ts +179 -0
  263. package/skills/mechanical-sympathy-profiler/examples/mechanical-sympathy-profiler-record.json +52 -0
  264. package/skills/mechanical-sympathy-profiler/playbooks/README.md +75 -0
  265. package/skills/mechanical-sympathy-profiler/playbooks/hardware-memory-and-io-physics-playbook.md +53 -0
  266. package/skills/mechanical-sympathy-profiler/playbooks/measurement-and-benchmarking-playbook.md +81 -0
  267. package/skills/mechanical-sympathy-profiler/references/empirical-measurement-and-explain.md +86 -0
  268. package/skills/mechanical-sympathy-profiler/references/io-batching-and-pipelining.md +77 -0
  269. package/skills/mechanical-sympathy-profiler/references/memory-hierarchy-and-gc-physics.md +88 -0
  270. package/skills/mechanical-sympathy-profiler/references/profiler-record-contract.md +177 -0
  271. package/skills/mechanical-sympathy-profiler/usecases/eliminate-gc-and-memory-bloat.md +27 -0
  272. package/skills/mechanical-sympathy-profiler/usecases/optimize-database-and-io.md +31 -0
  273. package/skills/mechanical-sympathy-profiler/usecases/profile-and-benchmark-code.md +28 -0
  274. package/skills/motion-runtime-guard/SKILL.md +42 -0
  275. package/skills/observability-and-slo-architect/SKILL.md +117 -0
  276. package/skills/observability-and-slo-architect/agents/openai.yaml +15 -0
  277. package/skills/observability-and-slo-architect/evals/scenarios.json +68 -0
  278. package/skills/observability-and-slo-architect/examples/dapper-monarch-telemetry-pipeline.ts +476 -0
  279. package/skills/observability-and-slo-architect/examples/observability-slo-record.json +142 -0
  280. package/skills/observability-and-slo-architect/playbooks/README.md +53 -0
  281. package/skills/observability-and-slo-architect/playbooks/dapper-opentelemetry-context-propagation-playbook.md +169 -0
  282. package/skills/observability-and-slo-architect/playbooks/monarch-red-use-metrics-playbook.md +122 -0
  283. package/skills/observability-and-slo-architect/playbooks/slo-multi-burn-rate-alerting-playbook.md +105 -0
  284. package/skills/observability-and-slo-architect/references/monarch-and-dapper-architecture.md +64 -0
  285. package/skills/observability-and-slo-architect/references/observability-slo-record-contract.md +237 -0
  286. package/skills/observability-and-slo-architect/references/red-and-use-metrics-matrix.md +67 -0
  287. package/skills/observability-and-slo-architect/references/sli-slo-and-multi-burn-rate-alerting.md +48 -0
  288. package/skills/observability-and-slo-architect/references/w3c-traceparent-and-async-context-propagation.md +103 -0
  289. package/skills/observability-and-slo-architect/usecases/define-slo-burn-rate-alerts.md +21 -0
  290. package/skills/observability-and-slo-architect/usecases/emit-red-and-use-metrics.md +20 -0
  291. package/skills/observability-and-slo-architect/usecases/enforce-opentelemetry-io-spans.md +22 -0
  292. package/skills/observability-and-slo-gate/SKILL.md +163 -0
  293. package/skills/observability-and-slo-gate/agents/openai.yaml +9 -0
  294. package/skills/observability-and-slo-gate/evals/scenarios.json +79 -0
  295. package/skills/observability-and-slo-gate/examples/dapper-otel-low-cardinality-telemetry.ts +636 -0
  296. package/skills/observability-and-slo-gate/examples/observability-slo-record.json +111 -0
  297. package/skills/observability-and-slo-gate/playbooks/README.md +75 -0
  298. package/skills/observability-and-slo-gate/playbooks/dapper-opentelemetry-context-propagation-playbook.md +36 -0
  299. package/skills/observability-and-slo-gate/playbooks/low-cardinality-metrics-and-slo-histograms-playbook.md +45 -0
  300. package/skills/observability-and-slo-gate/references/low-cardinality-metrics-and-histograms.md +132 -0
  301. package/skills/observability-and-slo-gate/references/observability-slo-record-contract.md +209 -0
  302. package/skills/observability-and-slo-gate/references/structured-logs-slis-and-burn-rate-slos.md +76 -0
  303. package/skills/observability-and-slo-gate/references/w3c-traceparent-and-async-context-propagation.md +132 -0
  304. package/skills/observability-and-slo-gate/usecases/define-golden-signals-and-burn-rate-slos.md +25 -0
  305. package/skills/observability-and-slo-gate/usecases/enforce-low-cardinality-metrics-and-histograms.md +24 -0
  306. package/skills/observability-and-slo-gate/usecases/propagate-w3c-trace-context-across-queues-and-workers.md +23 -0
  307. package/skills/paranoid-principal-architect/SKILL.md +4 -4
  308. package/skills/paranoid-principal-architect/agents/openai.yaml +9 -0
  309. package/skills/paranoid-principal-architect/examples/hardened-idempotent-service.ts +3 -1
  310. package/skills/paranoid-principal-architect/examples/paranoid-architecture-record.json +5 -0
  311. package/skills/paranoid-principal-architect/playbooks/architect-playbook.md +2 -2
  312. package/skills/paranoid-principal-architect/references/threat-record-contract.md +14 -1
  313. package/skills/paranoid-principal-architect/usecases/architect.md +2 -2
  314. package/skills/pr-boundary-guard/SKILL.md +47 -0
  315. package/skills/privacy-and-data-lineage-gate/SKILL.md +113 -0
  316. package/skills/privacy-and-data-lineage-gate/agents/openai.yaml +9 -0
  317. package/skills/privacy-and-data-lineage-gate/evals/scenarios.json +90 -0
  318. package/skills/privacy-and-data-lineage-gate/examples/hardened-privacy-pipeline.ts +231 -0
  319. package/skills/privacy-and-data-lineage-gate/examples/privacy-lineage-record.json +77 -0
  320. package/skills/privacy-and-data-lineage-gate/playbooks/README.md +18 -0
  321. package/skills/privacy-and-data-lineage-gate/playbooks/apple-privacy-playbook.md +55 -0
  322. package/skills/privacy-and-data-lineage-gate/playbooks/meta-data-infra-playbook.md +80 -0
  323. package/skills/privacy-and-data-lineage-gate/playbooks/references/privacy-booby-traps.md +85 -0
  324. package/skills/privacy-and-data-lineage-gate/references/cryptographic-erasure-and-gdpr-shredding.md +64 -0
  325. package/skills/privacy-and-data-lineage-gate/references/data-lineage-and-flow-policy-graphs.md +70 -0
  326. package/skills/privacy-and-data-lineage-gate/references/data-minimization-and-retention-ttl.md +73 -0
  327. package/skills/privacy-and-data-lineage-gate/references/privacy-record-contract.md +190 -0
  328. package/skills/privacy-and-data-lineage-gate/references/tainted-pii-types-and-compiler-enforcement.md +121 -0
  329. package/skills/privacy-and-data-lineage-gate/usecases/architect-privacy-system.md +26 -0
  330. package/skills/privacy-and-data-lineage-gate/usecases/audit-data-lineage.md +18 -0
  331. package/skills/privacy-and-data-lineage-gate/usecases/implement-tainted-types.md +26 -0
  332. package/skills/privacy-and-data-lineage-gate/usecases/verify-cryptographic-erasure.md +24 -0
  333. package/skills/re0-handoff-guard/SKILL.md +42 -0
  334. package/skills/reduction-guard/SKILL.md +44 -0
  335. package/skills/repo-memory-and-invariant-steward/SKILL.md +188 -0
  336. package/skills/repo-memory-and-invariant-steward/agents/openai.yaml +9 -0
  337. package/skills/repo-memory-and-invariant-steward/evals/scenarios.json +110 -0
  338. package/skills/repo-memory-and-invariant-steward/examples/decision-record-with-invariants.json +52 -0
  339. package/skills/repo-memory-and-invariant-steward/examples/drift-violation-sample.diff +13 -0
  340. package/skills/repo-memory-and-invariant-steward/examples/invariant-ledger-example.json +124 -0
  341. package/skills/repo-memory-and-invariant-steward/examples/reassessment-trigger-example.json +16 -0
  342. package/skills/repo-memory-and-invariant-steward/playbooks/README.md +29 -0
  343. package/skills/repo-memory-and-invariant-steward/playbooks/drift-triage-playbook.md +63 -0
  344. package/skills/repo-memory-and-invariant-steward/playbooks/references/memory-anti-patterns.md +23 -0
  345. package/skills/repo-memory-and-invariant-steward/playbooks/steward-playbook.md +44 -0
  346. package/skills/repo-memory-and-invariant-steward/references/drift-detection-engine.md +27 -0
  347. package/skills/repo-memory-and-invariant-steward/references/gate0-memory-integration.md +19 -0
  348. package/skills/repo-memory-and-invariant-steward/references/invariant-ledger-contract.md +49 -0
  349. package/skills/repo-memory-and-invariant-steward/references/reassessment-protocol.md +36 -0
  350. package/skills/repo-memory-and-invariant-steward/usecases/drift-audit.md +22 -0
  351. package/skills/repo-memory-and-invariant-steward/usecases/reassess.md +24 -0
  352. package/skills/repo-memory-and-invariant-steward/usecases/sync.md +24 -0
  353. package/skills/root-fix-gate/SKILL.md +1 -1
  354. package/skills/root-fix-gate/agents/openai.yaml +9 -0
  355. package/skills/safe-evolution-and-rollout-choreographer/SKILL.md +149 -0
  356. package/skills/safe-evolution-and-rollout-choreographer/agents/openai.yaml +9 -0
  357. package/skills/safe-evolution-and-rollout-choreographer/evals/scenarios.json +123 -0
  358. package/skills/safe-evolution-and-rollout-choreographer/examples/safe-evolution-record.json +58 -0
  359. package/skills/safe-evolution-and-rollout-choreographer/examples/safe-rollout-choreographer-pipeline.ts +239 -0
  360. package/skills/safe-evolution-and-rollout-choreographer/playbooks/README.md +9 -0
  361. package/skills/safe-evolution-and-rollout-choreographer/playbooks/meta-google-sre-rollout-playbook.md +94 -0
  362. package/skills/safe-evolution-and-rollout-choreographer/playbooks/references/rollout-booby-traps.md +51 -0
  363. package/skills/safe-evolution-and-rollout-choreographer/playbooks/strangler-fig-modernization-playbook.md +71 -0
  364. package/skills/safe-evolution-and-rollout-choreographer/references/dark-launches-and-shadow-reads.md +82 -0
  365. package/skills/safe-evolution-and-rollout-choreographer/references/feature-flag-lifecycle-and-killswitch.md +81 -0
  366. package/skills/safe-evolution-and-rollout-choreographer/references/rollout-record-contract.md +220 -0
  367. package/skills/safe-evolution-and-rollout-choreographer/references/strangler-fig-protocol.md +73 -0
  368. package/skills/safe-evolution-and-rollout-choreographer/references/wire-compatibility-n-minus-one.md +86 -0
  369. package/skills/safe-evolution-and-rollout-choreographer/usecases/audit-wire-compatibility.md +42 -0
  370. package/skills/safe-evolution-and-rollout-choreographer/usecases/choreograph-rollout.md +52 -0
  371. package/skills/safe-evolution-and-rollout-choreographer/usecases/strangle-legacy-system.md +45 -0
  372. package/skills/scientific-fault-isolation/SKILL.md +148 -0
  373. package/skills/scientific-fault-isolation/agents/openai.yaml +9 -0
  374. package/skills/scientific-fault-isolation/evals/scenarios.json +95 -0
  375. package/skills/scientific-fault-isolation/examples/deterministic-race-reproducer.ts +173 -0
  376. package/skills/scientific-fault-isolation/examples/scientific-fault-isolation-record.json +74 -0
  377. package/skills/scientific-fault-isolation/playbooks/README.md +71 -0
  378. package/skills/scientific-fault-isolation/playbooks/deterministic-concurrency-playbook.md +60 -0
  379. package/skills/scientific-fault-isolation/playbooks/differential-diagnosis-playbook.md +65 -0
  380. package/skills/scientific-fault-isolation/references/binary-search-and-bisect.md +76 -0
  381. package/skills/scientific-fault-isolation/references/determinism-pinning.md +71 -0
  382. package/skills/scientific-fault-isolation/references/differential-diagnosis-matrix.md +55 -0
  383. package/skills/scientific-fault-isolation/references/fault-isolation-record-contract.md +160 -0
  384. package/skills/scientific-fault-isolation/usecases/binary-search-isolation.md +38 -0
  385. package/skills/scientific-fault-isolation/usecases/deflake-race-condition.md +33 -0
  386. package/skills/scientific-fault-isolation/usecases/differential-diagnosis.md +30 -0
  387. package/skills/styleseed-guard/SKILL.md +116 -0
  388. package/skills/tagore-guard/SKILL.md +164 -0
  389. package/skills/tagore-guard/evals/evals.json +50 -0
  390. package/skills/tagore-guard/examples/clean-tagore-record.json +37 -0
  391. package/skills/tagore-guard/examples/pr-description-with-scores.md +112 -0
  392. package/skills/tagore-guard/references/engineering-discourse-catalog.md +155 -0
  393. package/skills/tagore-guard/references/handoff-contracts.md +92 -0
  394. package/skills/tagore-guard/references/scoring-rubric-and-floors.md +96 -0
  395. package/skills/tagore-guard/references/voice-calibration.md +79 -0
  396. package/skills/type-level-and-ast-slop-gate/SKILL.md +101 -0
  397. package/skills/type-level-and-ast-slop-gate/agents/openai.yaml +7 -0
  398. package/skills/type-level-and-ast-slop-gate/examples/ast-slop-record.json +13 -0
  399. package/skills/type-level-and-ast-slop-gate/examples/clean-typed-service.ts +74 -0
  400. package/skills/type-level-and-ast-slop-gate/playbooks/type-slop-remediation-playbook.md +102 -0
  401. package/skills/type-level-and-ast-slop-gate/references/ast-slop-taxonomies.md +185 -0
  402. package/skills/type-level-and-ast-slop-gate/usecases/audit-ast-slop.md +43 -0
  403. package/skills/ui-and-copy-discipline/SKILL.md +89 -0
  404. package/skills/verification-oracle-architect/SKILL.md +167 -0
  405. package/skills/verification-oracle-architect/agents/openai.yaml +9 -0
  406. package/skills/verification-oracle-architect/evals/scenarios.json +92 -0
  407. package/skills/verification-oracle-architect/examples/verification-oracle-record.json +75 -0
  408. package/skills/verification-oracle-architect/examples/verified-fake-property-chaos-oracle.ts +446 -0
  409. package/skills/verification-oracle-architect/playbooks/README.md +75 -0
  410. package/skills/verification-oracle-architect/playbooks/property-based-and-deterministic-chaos-playbook.md +61 -0
  411. package/skills/verification-oracle-architect/playbooks/verified-fakes-and-contract-suites-playbook.md +87 -0
  412. package/skills/verification-oracle-architect/references/deterministic-chaos-and-fault-injection.md +133 -0
  413. package/skills/verification-oracle-architect/references/property-based-and-metamorphic-testing.md +102 -0
  414. package/skills/verification-oracle-architect/references/verification-oracle-record-contract.md +201 -0
  415. package/skills/verification-oracle-architect/references/verified-in-memory-fakes-and-contracts.md +208 -0
  416. package/skills/verification-oracle-architect/usecases/author-property-and-metamorphic-suite.md +22 -0
  417. package/skills/verification-oracle-architect/usecases/build-verified-in-memory-fake.md +26 -0
  418. package/skills/verification-oracle-architect/usecases/run-deterministic-chaos-simulation.md +24 -0
  419. package/skills/zero-downtime-migration-gate/SKILL.md +148 -0
  420. package/skills/zero-downtime-migration-gate/agents/openai.yaml +9 -0
  421. package/skills/zero-downtime-migration-gate/evals/scenarios.json +97 -0
  422. package/skills/zero-downtime-migration-gate/examples/expand-migrate-contract-pipeline.ts +125 -0
  423. package/skills/zero-downtime-migration-gate/examples/zero-downtime-migration-record.json +58 -0
  424. package/skills/zero-downtime-migration-gate/playbooks/README.md +72 -0
  425. package/skills/zero-downtime-migration-gate/playbooks/spanner-schema-evolution-playbook.md +53 -0
  426. package/skills/zero-downtime-migration-gate/playbooks/stripe-contract-evolution-playbook.md +68 -0
  427. package/skills/zero-downtime-migration-gate/references/expand-migrate-contract.md +116 -0
  428. package/skills/zero-downtime-migration-gate/references/lock-free-sql-patterns.md +122 -0
  429. package/skills/zero-downtime-migration-gate/references/migration-record-contract.md +160 -0
  430. package/skills/zero-downtime-migration-gate/references/wire-compatibility-matrix.md +92 -0
  431. package/skills/zero-downtime-migration-gate/usecases/author-migration.md +66 -0
  432. package/skills/zero-downtime-migration-gate/usecases/plan-evolution.md +57 -0
  433. package/skills/zero-downtime-migration-gate/usecases/review-migration.md +47 -0
package/.skills.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://skills.sh/schema.json",
3
3
  "name": "anti-slop-engineering",
4
- "version": "1.6.0",
4
+ "version": "1.7.0",
5
5
  "description": "An Engineering Discipline Playbook & Guard System for AI Coding Agents. Enforces Google SRE, Clean-Room Senior Dev Ladders, and Rust/Go Microservices.",
6
6
  "repository": "https://github.com/imMamdouhaboammar/anti-slop-engineering",
7
7
  "author": "Mamdouh Aboammar",
package/README.md CHANGED
@@ -12,7 +12,7 @@
12
12
  [![Skills.sh](https://img.shields.io/badge/Skills.sh-Compatible-000000?style=flat-square&logo=vercel&logoColor=white)](https://skills.sh)
13
13
  [![Claude Code](https://img.shields.io/badge/Claude%20Code-Certified%20Skill-D97706?style=flat-square&logo=anthropic&logoColor=white)](https://claude.ai)
14
14
 
15
- [Install](#install) · [What it catches](#what-it-catches) · [Engines](#engines) · [Decision Guard](#decision-guard) · [Root-Fix Gate](#root-fix-gate) · [Future-Scale Gate](#future-scale-gate) · [Paranoid Architect](#the-paranoid-principal-architect) · [Forensic Bug Hunter](#forensic-bug-hunter-scanner) · [Execution Guard](#in-flight-execution-guard) · [Install Anti-Slop](#install-anti-slop-oxlint--skill) · [Agent skill](#agent-skill) · [Anti-pattern catalog](#anti-pattern-catalog-217-patterns)
15
+ [Install](#install) · [What it catches](#what-it-catches) · [Engines](#engines) · [Decision Guard](#decision-guard) · [Root-Fix Gate](#root-fix-gate) · [Future-Scale Gate](#future-scale-gate) · [Paranoid Architect](#the-paranoid-principal-architect) · [Forensic Bug Hunter](#forensic-bug-hunter-scanner) · [Execution Guard](#in-flight-execution-guard) · [AST Slop Gate](#type-level--ast-slop-gate) · [Install Anti-Slop](#install-anti-slop-oxlint--skill) · [Agent skill](#agent-skill) · [Anti-pattern catalog](#anti-pattern-catalog-217-patterns)
16
16
 
17
17
  </div>
18
18
 
@@ -285,6 +285,22 @@ bunx anti-slop-engineering paranoid audit skills/paranoid-principal-architect/ex
285
285
 
286
286
  ---
287
287
 
288
+ ## Observability & SLO Architect (Google Monarch & Dapper)
289
+
290
+ The [Observability & SLO Architect](skills/observability-and-slo-architect/SKILL.md) skill transforms observability from passive `logger.error` statements into a proactive telemetry architecture following Google Monarch & Dapper specifications:
291
+
292
+ 1. **OpenTelemetry by Default:** Binds every network I/O, database query, cache fetch, and queue operation to standard Spans with unbroken W3C `traceparent` (`00-<traceId>-<spanId>-<flags>`) and `correlation_id` context propagation.
293
+ 2. **Google Monarch Low-Cardinality Discipline:** Strictly separates low-cardinality time-series metrics ($\prod |L_i| \le 1,000$) from high-cardinality traces and logs. Collapses unmatched 404 paths to `"__unmatched__"` to neutralize TSDB cardinality denial-of-service attacks.
294
+ 3. **Automated RED & USE Metrics:** Automatically emits Rate, Errors, and Duration (Histograms with P50/P95/P99 quantiles and Trace Exemplars) for endpoints, and Utilization, Saturation, and Errors for resources (CPU, Memory, DB Connection Pools, Worker Queues).
295
+ 4. **SLI/SLO-Driven Alerts:** Bans non-impact threshold alerts (e.g. CPU > 80%). Production alerts are gated strictly on Google SRE Multi-Window Multi-Burn-Rate Error Budget policies (14.4x 1h/5m for paging; 6.0x 6h/30m for ticketing).
296
+
297
+ ```bash
298
+ # Audit an Observability & SLO record and scan source files for cardinality or tracing hazards:
299
+ bunx anti-slop-engineering observability audit skills/observability-and-slo-architect/examples/observability-slo-record.json --source skills/observability-and-slo-architect/examples/dapper-monarch-telemetry-pipeline.ts --json
300
+ ```
301
+
302
+ ---
303
+
288
304
  ## Forensic Bug Hunter Scanner
289
305
 
290
306
  Zero-trust static analysis scanner across 9 application stacks detecting booby traps, concurrency leaks, race conditions, memory leaks, and EDoS vulnerabilities:
@@ -302,6 +318,42 @@ Modular playbooks and architectural checklists are located in [`skills/paranoid-
302
318
 
303
319
  ---
304
320
 
321
+ ## Apple Craft & Interaction Physics
322
+
323
+ The [Apple Craft & Interaction Physics module](skills/apple-craft-and-interaction-physics/SKILL.md) elevates client user interfaces from baseline hygiene to Apple HIG design engineering excellence. It enforces four physical pillars:
324
+
325
+ 1. **Exhaustive UI State Matrix:** Eliminates boolean soup in favor of typed Discriminated Union state machines handling all 8 operational states (`loading_skeleton`, `empty`, `partial_error`, `offline`, `optimistic_rollback`, `loaded_fresh`, `revalidating_stale`, and `terminal_error`) with compile-time exhaustiveness.
326
+ 2. **Zero Layout Shift (CLS = 0.000):** Strictly pre-reserves dynamic element geometry, skeleton dimensions, media aspect ratios, and stable scrollbar gutters.
327
+ 3. **Interruptible Physics & Velocity Continuity:** Mandates mass-spring-damper motion ($F = -kx - cv$) with immediate gesture interruption, momentum handover ($v_0$), compositor-only execution, and epsilon termination ($\epsilon \le 10^{-4}$).
328
+ 4. **Keyboard & Focus Mastery:** Guarantees full keyboard operability, high-contrast `:focus-visible` rings with offset (bans naked `outline: none`), modal focus trapping with return restoration, and polite ARIA live regions.
329
+
330
+ ```bash
331
+ # Audit an assessment record and scan component for layout thrashing, transition:all, or bare outline:none:
332
+ node bin/cli.js apple-craft audit skills/apple-craft-and-interaction-physics/examples/apple-craft-record.json --source skills/apple-craft-and-interaction-physics/examples/interactive-craft-component.ts --json
333
+
334
+ # Package CLI invocation:
335
+ bunx anti-slop-engineering apple-craft audit path/to/record.json --json
336
+ ```
337
+
338
+ ---
339
+
340
+ ## Type-Level & AST Slop Gate
341
+
342
+ Prevents evidence fabrication, quadratic reductions, eager array allocations, and test-oracle erosion in TypeScript and JavaScript. Runs across two complementary tiers:
343
+
344
+ ```bash
345
+ # Tier 1: Zero-dependency pre-commit diff scan (<100ms):
346
+ bunx anti-slop-engineering ast --base HEAD
347
+
348
+ # Direct file or directory sweep:
349
+ bunx anti-slop-engineering ast src/ --json
350
+
351
+ # Strict gate (exit code 2 on blockers):
352
+ bunx anti-slop-engineering ast --base origin/main --strict
353
+ ```
354
+
355
+ ---
356
+
305
357
  ## Install Anti-Slop (Oxlint & Skill)
306
358
 
307
359
  Opinionated anti-slop Oxlint lint rules and agent skill for TypeScript and JavaScript codebases. Catches runtime type assertion risks, unconstrained object parameters, type widening, and module mocking leaks at lint-time:
@@ -310,16 +362,17 @@ Opinionated anti-slop Oxlint lint rules and agent skill for TypeScript and JavaS
310
362
 
311
363
  Invoke `/install-anti-slop` in any supported AI coding agent (Claude Code, Antigravity, Gemini CLI, Cursor, Windsurf) to automatically inspect the target repository, detect package managers, vendor the AST plugins, and configure `oxlint.config.ts` or `.oxlintrc.json`.
312
364
 
313
- ### CLI Command
365
+ ### Install & Update Vendored Oxlint Plugin
314
366
 
315
367
  ```bash
316
368
  # Install Oxlint plugin directly into target repository (creates tools/oxlint/anti-slop/):
317
369
  bunx anti-slop-engineering install-oxlint
318
- # Or via npx:
319
- npx anti-slop-engineering install-oxlint
370
+
371
+ # Reconcile and update vendored rules while preserving local custom modifications:
372
+ bunx anti-slop-engineering update-oxlint tools/oxlint/anti-slop --apply
320
373
  ```
321
374
 
322
- Follow the procedure in [install-anti-slop](skills/install-anti-slop/SKILL.md) to register the bundled plugins (`anti-slop` and optional `anti-slop-effect`) directly into `oxlint.config.ts` or `.oxlintrc.json`:
375
+ Register the generic and optional Effect plugins in `oxlint.config.ts` or `.oxlintrc.json`:
323
376
 
324
377
  ```ts
325
378
  // oxlint.config.ts or .oxlintrc.json
@@ -332,9 +385,13 @@ export default {
332
385
  "tools/oxlint/anti-slop/**"
333
386
  ],
334
387
  jsPlugins: [
335
- { name: "anti-slop", specifier: "./tools/oxlint/anti-slop/index.ts" }
388
+ { name: "anti-slop", specifier: "./tools/oxlint/anti-slop/index.ts" },
389
+ { name: "anti-slop-effect", specifier: "./tools/oxlint/anti-slop/effect/index.ts" }
336
390
  ],
337
391
  rules: {
392
+ "oxc/no-accumulating-spread": "error",
393
+ "anti-slop/no-array-filter-map": "error",
394
+ "anti-slop/no-reduce-accumulator-copy": "error",
338
395
  "anti-slop/no-chained-type-assertions": "error",
339
396
  "anti-slop/no-conditional-empty-object-spread": "error",
340
397
  "anti-slop/no-known-value-widening": "error",
@@ -349,7 +406,13 @@ export default {
349
406
  "anti-slop/no-unknown-type-aliases": "error",
350
407
  "anti-slop/no-unsafe-dictionary-type": "error",
351
408
  "anti-slop/no-widen-then-assert": "error",
352
- "anti-slop/require-safety-comment-for-type-assertion": "error"
409
+ "anti-slop/require-readable-spacing": "error",
410
+ "anti-slop/require-safety-comment-for-type-assertion": "error",
411
+ "anti-slop-effect/no-manual-effect-error-tag": "error",
412
+ "anti-slop-effect/no-manual-tag-comparison": "error",
413
+ "anti-slop-effect/no-manual-tagged-construction": "error",
414
+ "anti-slop-effect/no-service-constructor-imports": "error",
415
+ "anti-slop-effect/prefer-effect-match": "error"
353
416
  }
354
417
  };
355
418
  ```
@@ -382,6 +445,74 @@ bunx anti-slop-engineering cases
382
445
 
383
446
  ---
384
447
 
448
+ ## Cognitive Bandwidth & Attention Economy Governor
449
+
450
+ Inspired by human attention scarcity, scannability science, and executive cognitive load reduction (attention-span & i-have-adhd), the Attention Governor statically audits agent responses, PR descriptions, standup briefs, and multi-agent TOON handoffs against 5 deterministic cognitive invariants:
451
+
452
+ | Metric | Target | Failure / Blocker |
453
+ | --- | --- | --- |
454
+ | **Terminal Blocking Placement ($\mathcal{B}_{pos}$)** | Last block | Question buried mid-reply before trailing status prose |
455
+ | **Line-1 Skimmer Flag** | Explicit flag on line 1 | Asks in long replies ($\ge 40$ words) without a line-1 prompt |
456
+ | **Deliverable Purity ($\mathcal{P}_{deliv}$)** | 100% clean payload | Opener wrappers (`Here is...`), closer offers (`Hope this helps!`), and lead-ins |
457
+ | **Time-to-Point ($TTP$)** | $\le 20$ words | Answers buried behind conversational preamble |
458
+ | **Max Wall Words ($W_{max}$)** | $\le 60$ words | Dense, anchor-free prose paragraphs causing cognitive bounce |
459
+ | **Working Memory Cap ($\mathcal{M}_{cap}$)** | $\le 5$ items | Unchunked flat lists exceeding working memory capacity |
460
+ | **Non-Regression Gate** | 100% preservation | Dropped numeric thresholds, scoped conditions, or safety caveats |
461
+
462
+ ```bash
463
+ # Audit markdown documentation for cognitive scannability:
464
+ bunx anti-slop-engineering attention --file docs/rfc.md --json
465
+
466
+ # Verify 100% deliverable purity on generated commit message or PR body:
467
+ bunx anti-slop-engineering attention --text "$COMMIT_MSG" --check-deliverable
468
+
469
+ # Audit git diff additions across documentation:
470
+ bunx anti-slop-engineering attention --base HEAD
471
+ ```
472
+
473
+ ---
474
+
475
+ ## Tagore Engineering Discourse & Substance Guard
476
+
477
+ Inspired by Rabindranath Tagore's literary philosophy of restraint, empirical specificity, and authentic human voice over statistical predictability and mechanical puffery, Tagore Guard audits PR descriptions, commit messages, ADRs, documentation, and agent reasoning traces against a dual-direction attack:
478
+
479
+ 1. **Scrub the Tells:** Eliminates 29 cataloged AI tells (significance inflation, copula avoidance, superficial -ing chains, rule-of-three, em-dash addiction, and marketing hype).
480
+ 2. **Inject the Substance:** Mandates active engineering agency, empirical measurements, and explicit operational trade-offs/failure modes.
481
+
482
+ ### 8-Dimension Scoring Rubric
483
+
484
+ $$\text{Total Score} \ge 56/80 \quad \land \quad \text{Mechanics} \ge 35/50 \quad \land \quad \text{Substance} \ge 21/30$$
485
+
486
+ | Category | Dimension | Max | Floor | Focus |
487
+ | --- | --- | :---: | :---: | --- |
488
+ | **Mechanics** | Directness | 10 | — | Immediate technical statements; zero announcements or throat-clearing |
489
+ | | Rhythm | 10 | — | Varied sentence length cadence ($\text{stddev} \ge 5.0$); no em-dash crutches |
490
+ | | Trust | 10 | — | Zero affordance narration, zero hand-holding, zero servile hedging |
491
+ | | Authenticity | 10 | — | Free of AI buzzwords (`delve`, `tapestry`, `testament`), copula avoidance, and triads |
492
+ | | Density | 10 | — | Free of filler phrases (`in order to`), bolding abuse, and passive voice ($< 35\%$) |
493
+ | *Subtotal* | **Mechanics Floor** | **50** | **35** | *Substance cannot mask slop-shaped mechanics* |
494
+ | **Substance** | Specificity | 10 | — | Empirical numbers, benchmark percentages, latencies, and exact file paths |
495
+ | | Restraint | 10 | — | Achievements sized at actual technical magnitude; zero promotional puffery |
496
+ | | Technical Voice | 10 | — | Explicit trade-offs, concurrency race conditions, and failure modes |
497
+ | *Subtotal* | **Substance Floor** | **30** | **21** | *Mechanics cannot mask sterile, soulless wire-copy* |
498
+ | **Total** | **Pass Gate** | **80** | **56** | *Both floors + $\ge 56$ required for `PROCEED`* |
499
+
500
+ ```bash
501
+ # Audit inline text with suggested deslopping rewrites:
502
+ bunx anti-slop-engineering tagore --text "$PR_BODY" --suggest
503
+
504
+ # Audit markdown documentation or ADR file:
505
+ bunx anti-slop-engineering tagore --file docs/adr/ADR-007.md --json
506
+
507
+ # Calibrate repository voice profile against maintainer ground truth:
508
+ bunx anti-slop-engineering tagore --calibrate README.md
509
+
510
+ # Inspect active repository voice profile:
511
+ bunx anti-slop-engineering tagore --profile
512
+ ```
513
+
514
+ ---
515
+
385
516
  ## Agent skill
386
517
 
387
518
  The agent skill wires Anti-Slop Engineering into your AI coding agent's context. Once installed, code changes are guided by the Seven Gates, the 217-pattern anti-pattern catalog, and the Google SRE enforcement rules.
@@ -424,7 +555,7 @@ Spotted a recurring failure mode from an AI agent — test tampering, scope cree
424
555
  2. Document symptom, root cause, and remediation using the 5-part catalog schema.
425
556
  3. Update [`SKILL.md`](SKILL.md) with explicit agent rules.
426
557
  4. Add heuristics to `scripts/diff_guard.py` with unit tests.
427
- 5. Run `make check` — all 44 tests must stay green.
558
+ 5. Run `make check-all` — all unit and polyglot tests (458 Python, 21 Rust, 14 Go, 49 Node/Bun) and linters must stay green.
428
559
 
429
560
  ```bash
430
561
  npx anti-slop-engineering contribute
package/SKILL.md CHANGED
@@ -4,7 +4,7 @@ description: Prevent, detect, and repair AI coding slop and dirty engineering in
4
4
  author: Mamdouh Aboammar <mamdouhfces1997@gmail.com>
5
5
  license: MIT
6
6
  metadata:
7
- version: "1.6.0"
7
+ version: "1.7.0"
8
8
  focus: "engineering-discipline"
9
9
  repository: "https://github.com/imMamdouhaboammar/anti-slop-engineering"
10
10
  ---
@@ -41,6 +41,16 @@ metadata:
41
41
  16. **Root-Fix Gate for scattered symptom patches:** When a local behavior change spreads through controllers, views, endpoints or multiple layers, read [Root-Fix Gate](skills/root-fix-gate/SKILL.md). Trace the owner of the domain invariant, compare a coherent source correction with consumer workarounds, and inspect actual change paths. Do not assume the model owns every rule or that few files prove safety.
42
42
  17. **Future-Scale Gate for irreversible foundations:** Before locking in a core runtime, public contract, persistence model, or platform boundary for a long-lived product, read [Future-Scale Gate](skills/future-scale-gate/SKILL.md). Establish credible future operating scenarios, assess reversal cost and run a bounded evolution proof. Design the cheap necessary foundation now; defer speculative infrastructure with measurable revisit triggers. Lack of a present bottleneck does not disprove future architectural constraints.
43
43
  18. **Paranoid Principal Architect for 10M scale & zero-trust:** When designing system architectures, generating backend/frontend code, refactoring critical paths, conducting adversarial security reviews, or diagnosing scale bottlenecks, race conditions, memory leaks, and EDoS vulnerabilities, read [Paranoid Principal Architect](skills/paranoid-principal-architect/SKILL.md). Enforce the 10,000,000 Concurrent Users Axiom and Active Battlefield Zero-Trust mindset. Reject happy-path assumptions, unbounded async loops, hot keys, client authority, and unparsed inputs from line one.
44
+ 19. **Deterministic Simulation & Property Testing (MSR & AWS Rigor):** When verifying distributed consensus, stateful lifecycles, concurrency protocols, serialization codecs, or untrusted boundaries, read [Deterministic Simulation & Property Testing](skills/deterministic-simulation-and-property-testing/SKILL.md). Reject example-based test complacency: mandate Property-Based Testing (fast-check, Hypothesis, proptest) generating >= 1,000 inputs with automated shrinking to discover minimal failing counterexamples; mandate Deterministic Simulation Testing (DST) with a virtual clock and 64-bit reproducible seed (simulating packet drops, clock skews, and message reordering; zero unseeded `Math.random()` or wall-clock sleeps); enforce explicit State Transition Tables with impossible states made unrepresentable in the type system; and enforce Structure-Aware Fuzzing on all parsers and deserializers asserting crash freedom, bounded recursion (<= 16), and payload byte caps (<= 10MB).
45
+ 20. **Privacy & Data Lineage Gate (Apple Privacy & Meta Data Infra):** When designing user data architectures, processing PII/sensitive customer data, implementing GDPR/CCPA deletion lifecycles, or designing analytics/telemetry pipelines, read [Privacy & Data Lineage Gate](skills/privacy-and-data-lineage-gate/SKILL.md). Protect user data from the system itself: wrap all sensitive personal attributes in compiler-enforced branded Tainted PII types (`Redacted<T>`) with unredacted logging and serialization banned; mandate Cryptographic Erasure (Crypto-Shredding via KMS key-per-subject envelope encryption) ensuring account deletion instantaneously destroys the encryption key rendering distributed cold backups, append-only WALs, and multi-tier caches permanently unreadable; enforce Data Minimization & Mandatory Retention TTL by rejecting any table, document schema, or cache storing user data without an explicit purpose binding and automated TTL garbage collection; and maintain an audited Data Lineage DAG with telemetry egress strictly fenced against an allowlist and differential privacy ($\epsilon \le 1.0$).
46
+ 21. **Type-Level & AST Slop Gate (Oxlint & Strict AST Discipline):** When writing or auditing TypeScript/JavaScript code, refactoring contracts, or configuring linters, read [Type-Level & AST Slop Gate](skills/type-level-and-ast-slop-gate/SKILL.md). Enforce the 18 generic and 5 Effect AST rules: eliminate chained type assertions (`as unknown as T`), ungrounded assertions (`as T` without nearby `// SAFETY:` invariant justification), quadratic reducer accumulator copies, eager array `.filter().map()` chaining, conditional empty spreads `...(c ? { x } : {})`, and test-oracle erosion via module mocking (`vi.mock()`). Audit diffs with `bunx anti-slop-engineering ast --base HEAD` and vendor Oxlint plugins via `bunx anti-slop-engineering install-oxlint`.
47
+ 22. **API Ergonomics & Contract Governor (Microsoft TypeScript & Stripe DX):** When designing public SDKs, library interfaces, CLI commands, or internal module boundaries, read [API Ergonomics & Contract Governor](skills/api-ergonomics-and-contract-governor/SKILL.md). Enforce Pit-of-Success defaults (safe timeouts <=10s, automatic idempotent retries with full jitter, default bounded pagination), render illegal states unrepresentable via tagged discriminated unions and nominal branded types (`CustomerId`, `PaymentIntentId`), structure progressive disclosure across 3 tiers (1-liner common facade -> typed options bag -> raw transport/streaming power engine), and standardize all machine and network errors on RFC 9457 Problem Details with deterministic machine codes and remediation guidance. Audit contract records with `npx anti-slop-engineering contract audit <record.json> --json`.
48
+ 23. **UI Craftsmanship, Copywriting & WCAG 2.2 Contrast Discipline:** When generating or modifying frontend user interfaces, styling, components, or marketing/product copy, read [UI & Copywriting Discipline](skills/ui-and-copy-discipline/SKILL.md). Enforce the 5 Craftsmanship Standards (C-1 Intentionality, C-2 Functional Completeness, C-3 Content-Driven Composition, C-4 Resilience & WCAG 2.2 Contrast, C-5 Performance & Motion). All visual techniques must pass the Purpose Test. Low-contrast text (<4.5:1 for normal, <3:1 for large), uniform pill buttons on inputs, decorative comment banners (`// =====`), generic AI gradient cliches (`from-blue-500 via-purple-500 to-pink-500`), and AI marketing hyperbole ("Unleash the power of AI") are strictly flagged. Verify contrast with `bunx anti-slop-engineering contrast "#FFFFFF" "#1E293B"` or `bunx anti-slop-engineering contrast --scan src/`.
49
+ 24. **Apple Craft & Interaction Physics (Apple HIG & Design Engineering):** When building, refactoring, or auditing user interfaces, transitions, animations, or client state flows, read [Apple Craft & Interaction Physics](skills/apple-craft-and-interaction-physics/SKILL.md). Enforce the Four Physical Pillars: (1) Exhaustive UI State Matrix covering loading_skeleton, empty, partial_error, offline, and optimistic_rollback via Discriminated Unions with compile-time exhaustiveness; (2) Zero Cumulative Layout Shift (CLS = 0.000) via pre-reserved geometry for skeletons, images, dynamic error slots, and scrollbar-gutter: stable; (3) Interruptible Physics with velocity continuity ($F = -kx - cv$), immediate cancellation on user intent change, compositor-only transform/opacity, and epsilon-terminated rAF ($\epsilon \le 10^{-4}$); and (4) Keyboard & Focus Mastery with high-contrast :focus-visible rings (never unstyled outline: none), modal focus trap and restoration, roving tabindex for composite controls, and ARIA live regions. Audit records with `npx anti-slop-engineering apple-craft audit <record.json> --json`.
50
+ 25. **Observability & SLO Architect (Google Monarch & Dapper Telemetry):** When designing telemetry architectures, instrumenting APIs, background queues, outbox workers, or database queries, read [Observability & SLO Architect](skills/observability-and-slo-architect/SKILL.md). Transform observability into proactive engineering: enforce OpenTelemetry by default with unbroken W3C `traceparent` (`00-<trace_id>-<span_id>-<flags>`) and `correlation_id` across every synchronous RPC, message broker hop (Kafka, SQS, RabbitMQ, BullMQ), Transactional Outbox, and SQLcommenter database span; mandate Google Monarch stream pre-aggregation discipline by strictly banning dynamic identifiers (`user_id`, `request_id`, `order_id`, `email`, raw URLs) in metric labels ($\prod |L_i| \le 1,000$) and collapsing unmatched 404 routes to `"__unmatched__"`; measure latencies exclusively via explicit-bucket Histograms with Trace Exemplars (never Gauge averages); emit automated RED metrics (Rate, Errors, Duration) for endpoints and USE metrics (Utilization, Saturation, Errors) for resources; and ban non-impact threshold alerts (e.g. CPU > 80%), gating production alerts strictly on Google SRE Multi-Window Multi-Burn-Rate Error Budget policies (14.4x 1h/5m for paging; 6.0x 6h/30m for ticketing). Audit telemetry records with `npx anti-slop-engineering observability audit <record.json> [--source <file>] --json`.
51
+ 26. **Repo Memory & Invariant Steward (Architectural Memory & Zero-Drift Defense):** When designing architectures, conducting PR reviews, starting tasks at Gate 0, or evolving contracts, read [Repo Memory & Invariant Steward](skills/repo-memory-and-invariant-steward/SKILL.md). Prevent architectural amnesia across sessions: sync historical decision records into the compact Invariant Ledger (`.anti-slop/invariant-ledger.json` and `.anti-slop/invariant-ledger.toon`), enforce Gate 0 ingestion of active invariants before modifying governed paths, audit PRs for architectural drift (`bunx anti-slop-engineering steward drift --base HEAD`), and require formal Reassessment Triggers (`reassessment-trigger.json`) before modifying or superseding established invariants. Audit ledger records with `bunx anti-slop-engineering steward audit <file> --json`.
52
+ 27. **Cognitive Bandwidth & Attention Economy Governor:** When communicating with users, drafting pull request descriptions, generating standalone deliverables, authoring documentation, or orchestrating multi-agent handoffs, read [Cognitive Bandwidth & Attention Governor](skills/cognitive-load-and-attention-governor/SKILL.md). Enforce scannability metrics ($TTP \le 20$ words, $W_{max} \le 60$ words, anchor density $\ge 3.0$ anchors per 100 words), terminal blocking-question placement, deliverable purity (zero opener/closer fluff), working memory bounding ($\le 5$ items), and non-regression discipline. Audit records with `bunx anti-slop-engineering attention --file <file> --json`.
53
+ 28. **Tagore Engineering Discourse & Substance Guard:** When drafting, editing, or auditing pull request descriptions, git commit messages, Architectural Decision Records (ADRs), documentation, state notes, or agent reasoning traces, read [Tagore Engineering Discourse Guard](skills/tagore-guard/SKILL.md). Eliminate the 29 cataloged AI tells (significance inflation, copula avoidance, superficial -ing chains, rule-of-three, em-dash addiction, and promotional hype); mandate active engineering agency and empirical measurements; enforce the 8-Dimension Scoring Matrix with non-negotiable Mechanics ($\ge 35/50$) and Substance ($\ge 21/30$) subtotal floors ($\text{Total} \ge 56/80$); calibrate prose to repository ground truth via `.anti-slop/voice-profile.json`; and run the self-audit reflection loop before delivering. Audit with `bunx anti-slop-engineering tagore --file <file> --json`.
44
54
 
45
55
  ## Activation / modes
46
56
 
@@ -50,11 +60,27 @@ Select the relevant mode and follow the same gates:
50
60
  - **FIX:** reproduce observed bug first, fix smallest root cause, prove regression tests hold.
51
61
  - **REVIEW:** read-only diff and repository-context audit; report findings with severity, evidence, and counterfactual.
52
62
  - **CLEANUP:** establish an observable behavior baseline, isolate pure refactors from feature changes, prove no drift.
63
+ - **ATTENTION:** when communicating with human developers, writing pull request bodies, generating standalone artifacts, or compressing inter-agent handoff messages, follow [Cognitive Bandwidth & Attention Governor](skills/cognitive-load-and-attention-governor/SKILL.md) to eliminate cognitive slop.
53
64
  - **NOTED_SLOP:** codify newly observed AI slop into a diagnostic catalog pattern, agent directive, and automated diff guard heuristic (see [CONTRIBUTING.md](CONTRIBUTING.md)).
54
65
  - **DECIDE:** when premises, direct answers or long-term architecture choices are materially uncertain, follow [Decision Guard](skills/decision-guard/SKILL.md) before BUILD. Return to ordinary modes after a decision; skip the extra protocol for routine repairs.
55
66
  - **ROOT-FIX:** when a symptom attracts scattered fixes or ownership is uncertain, follow [Root-Fix Gate](skills/root-fix-gate/SKILL.md) to establish the change boundary, then resume BUILD/FIX with regression tests.
56
67
  - **FUTURE-SCALE:** when an architecture commitment would be expensive to reverse as the product evolves, follow [Future-Scale Gate](skills/future-scale-gate/SKILL.md). Skip routine reversible edits and avoid capacity theater.
57
68
  - **PARANOID-ARCHITECT:** when building or reviewing systems against 10M concurrent user load, adversarial traffic, race conditions, hot-key contention, or zero-trust boundaries, follow [Paranoid Principal Architect](skills/paranoid-principal-architect/SKILL.md).
69
+ - **OBSERVABILITY-ARCHITECT:** when designing telemetry, instrumenting OpenTelemetry spans, emitting RED/USE metrics, or configuring Multi-Window Multi-Burn-Rate SLO alerting, follow [Observability & SLO Architect](skills/observability-and-slo-architect/SKILL.md).
70
+ - **INVARIANT-STEWARD:** when syncing architectural decisions into the living Invariant Ledger, ingesting constraints at Gate 0, checking PRs for architectural drift, or validating Reassessment Triggers, follow [Repo Memory & Invariant Steward](skills/repo-memory-and-invariant-steward/SKILL.md).
71
+ - **APPLE-CRAFT:** when designing or auditing client interfaces for 120Hz ProMotion interaction physics, CLS=0.000, exhaustive state matrices, interruptible spring transitions, and keyboard/screen reader accessibility, follow [Apple Craft & Interaction Physics](skills/apple-craft-and-interaction-physics/SKILL.md).
72
+ - **DETERMINISTIC-SIMULATION:** when verifying distributed protocols, concurrent actors, complex state machines, or parsers, follow [Deterministic Simulation & Property Testing](skills/deterministic-simulation-and-property-testing/SKILL.md).
73
+ - **PRIVACY-GATE:** when designing user data pipelines, processing personal identifiers, enforcing cryptographic erasure, or instrumenting telemetry egress, follow [Privacy & Data Lineage Gate](skills/privacy-and-data-lineage-gate/SKILL.md).
74
+ - **AST-SLOP:** when auditing type safety, eliminating type assertions, optimizing reducer complexity, or configuring Oxlint rules, follow [Type-Level & AST Slop Gate](skills/type-level-and-ast-slop-gate/SKILL.md).
75
+ - **API-GOVERNOR:** when designing public SDKs, library interfaces, CLI commands, or internal boundaries, follow [API Ergonomics & Contract Governor](skills/api-ergonomics-and-contract-governor/SKILL.md).
76
+ - **SYSTEM-DRIFT:** when auditing multi-surface applications for cross-route design system drift, component variant budgets, and keyboard focus ring suppression, follow [Design System Drift Guard](skills/design-system-drift-guard/SKILL.md).
77
+ - **CHROMA-DRIFT:** when auditing colors, themes, or gradients for cheerful saturation drift, OKLCH adherence, and category reflex band clichés, follow [Chromatic Drift Guard](skills/chromatic-drift-guard/SKILL.md).
78
+ - **HOUSE-TELL:** before writing code for any landing or UI surface, enforce the Gate 0 Pre-Commit Contract and contractually break at least two habits of the agent itself via [House-Tell Guard](skills/house-tell-guard/SKILL.md).
79
+ - **MOTION-RUNTIME:** when profiling or verifying animations, scroll flights, or canvas state machines under DPR 2 retina conditions and 4x CPU throttle, follow [Motion Runtime Guard](skills/motion-runtime-guard/SKILL.md).
80
+ - **ASSET-PROVENANCE:** when sourcing or embedding media, models, audio, or fonts, maintain cryptographic SHA-256 and open-license ledger tracking via [Asset Provenance Guard](skills/asset-provenance-guard/SKILL.md).
81
+ - **TAGORE:** when drafting, editing, or reviewing engineering prose, PR descriptions, commit messages, ADRs, state notes, or agent reasoning traces, eliminate the 29 cataloged tells, enforce mechanics (>=35/50) and substance (>=21/30) floors, and calibrate to repository ground truth via [Tagore Engineering Discourse Guard](skills/tagore-guard/SKILL.md).
82
+ - **AUDIT:** orchestrate all guards (Diff, SRE, AST Slop, Contrast, Privacy, Contract) into a structured, numbered markdown report `anti-slop/audit-NNN.md` via `bunx anti-slop-engineering audit`. Configure modes (`during`, `after`, `ask`) via `bunx anti-slop-engineering mode [during|after|ask]`.
83
+ - **INSTALL-AGENTS:** install and configure anti-slop skills across 14 AI coding agents via `bunx anti-slop-engineering install`. Upgrade in one shot via `bunx anti-slop-engineering update`.
58
84
 
59
85
  For extensive audits, load [anti-pattern catalog](references/anti-pattern-catalog.md). For Google SRE discipline and distributed resilience patterns, load [google-sre-discipline](references/google-sre-discipline.md). For any test changes, load [test integrity policy](references/test-integrity.md). For a PR or merge request, load [PR review protocol](references/pr-review.md). For elevated permissions, sensitive code, network access, or deployment, load [security and execution boundaries](references/security-and-operations.md). For project-specific exceptions, load [judgment and exceptions](references/engineering-judgment.md). For community contributions, follow [contributor guidelines](CONTRIBUTING.md).
60
86
 
package/action.yml ADDED
@@ -0,0 +1,90 @@
1
+ name: "Anti-Slop Engineering Guard"
2
+ description: "Clean-room AI coding guard, PR boundary triage, AST slop detector, honeypot sensor, and Google SRE discipline for GitHub Pull Requests."
3
+ author: "Mamdouh Aboammar <mamdouhfces1997@gmail.com>"
4
+
5
+ inputs:
6
+ base:
7
+ description: "Base commit or branch to compare against (default: HEAD~1 or origin/main)"
8
+ required: false
9
+ default: "HEAD~1"
10
+ pr-title:
11
+ description: "PR title string to evaluate against conventional commits and length bounds"
12
+ required: false
13
+ default: ""
14
+ pr-body-file:
15
+ description: "Path to file containing PR description markdown"
16
+ required: false
17
+ default: ""
18
+ template-file:
19
+ description: "Path to repository PR template markdown"
20
+ required: false
21
+ default: ".github/pull_request_template.md"
22
+ fail-on-blocker:
23
+ description: "Whether to fail the action if blocker-severity findings are detected"
24
+ required: false
25
+ default: "true"
26
+ canary-token:
27
+ description: "Active HMAC canary token to verify against hallucinated bot echoes"
28
+ required: false
29
+ default: ""
30
+
31
+ outputs:
32
+ status:
33
+ description: "Overall audit status (PASSED or BLOCKED)"
34
+ value: ${{ steps.anti-slop-audit.outputs.status }}
35
+ findings-count:
36
+ description: "Total number of findings identified"
37
+ value: ${{ steps.anti-slop-audit.outputs.findings-count }}
38
+ blockers-count:
39
+ description: "Number of blocker-severity findings identified"
40
+ value: ${{ steps.anti-slop-audit.outputs.blockers-count }}
41
+
42
+ runs:
43
+ using: "composite"
44
+ steps:
45
+ - name: Run Anti-Slop Multi-Guard Audit
46
+ id: anti-slop-audit
47
+ shell: bash
48
+ run: |
49
+ python3 -u "${{ github.action_path }}/scripts/audit_runner.py" audit --base "${{ inputs.base }}" --json > audit_result.json || true
50
+ cat audit_result.json
51
+
52
+ # Check PR boundary if title or body provided
53
+ if [ -n "${{ inputs.pr-title }}" ] || [ -f "${{ inputs.pr-body-file }}" ]; then
54
+ python3 -u "${{ github.action_path }}/scripts/pr_boundary_guard.py" \
55
+ --base "${{ inputs.base }}" \
56
+ --pr-title "${{ inputs.pr-title }}" \
57
+ --pr-body-file "${{ inputs.pr-body-file }}" \
58
+ --template-file "${{ inputs.template-file }}" \
59
+ --json > pr_boundary_result.json || true
60
+ cat pr_boundary_result.json
61
+ fi
62
+
63
+ # Check Honeypots if canary provided
64
+ if [ -n "${{ inputs.canary-token }}" ]; then
65
+ python3 -u "${{ github.action_path }}/scripts/honeypot_trap_guard.py" \
66
+ --pr-title "${{ inputs.pr-title }}" \
67
+ --pr-body-file "${{ inputs.pr-body-file }}" \
68
+ --canary-token "${{ inputs.canary-token }}" \
69
+ --json > honeypot_result.json || true
70
+ cat honeypot_result.json
71
+ fi
72
+
73
+ # Check comment budget
74
+ python3 -u "${{ github.action_path }}/scripts/comment_budget_guard.py" \
75
+ --base "${{ inputs.base }}" \
76
+ --json > comment_budget_result.json || true
77
+ cat comment_budget_result.json
78
+
79
+ BLOCKERS=$(grep -c '"severity": "blocker"' pr_boundary_result.json honeypot_result.json comment_budget_result.json 2>/dev/null || echo 0)
80
+ echo "blockers-count=$BLOCKERS" >> $GITHUB_OUTPUT
81
+ if [ "$BLOCKERS" -gt 0 ]; then
82
+ echo "status=BLOCKED" >> $GITHUB_OUTPUT
83
+ if [ "${{ inputs.fail-on-blocker }}" = "true" ]; then
84
+ echo "❌ Anti-Slop Guard detected $BLOCKERS blocker finding(s)."
85
+ exit 2
86
+ fi
87
+ else
88
+ echo "status=PASSED" >> $GITHUB_OUTPUT
89
+ echo "✅ All Anti-Slop checks passed cleanly."
90
+ fi
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" role="img" aria-label="Anti-Slop Engineering logo for dark surfaces">
2
+ <rect width="512" height="512" rx="112" fill="#0F172A"/>
3
+ <path d="M256 96 L384 152 V264 C384 340 328 400 256 424 C184 400 128 340 128 264 V152 Z" fill="#1E293B" stroke="#38BDF8" stroke-width="20" stroke-linejoin="round"/>
4
+ <path d="M192 256 L236 300 L324 212" fill="none" stroke="#F8FAFC" stroke-width="28" stroke-linecap="round" stroke-linejoin="round"/>
5
+ <circle cx="256" cy="180" r="16" fill="#38BDF8"/>
6
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" role="img" aria-label="Anti-Slop Engineering logo for light surfaces">
2
+ <rect width="512" height="512" rx="112" fill="#F8FAFC"/>
3
+ <path d="M256 96 L384 152 V264 C384 340 328 400 256 424 C184 400 128 340 128 264 V152 Z" fill="#0F172A" stroke="#0284C7" stroke-width="20" stroke-linejoin="round"/>
4
+ <path d="M192 256 L236 300 L324 212" fill="none" stroke="#F8FAFC" stroke-width="28" stroke-linecap="round" stroke-linejoin="round"/>
5
+ <circle cx="256" cy="180" r="16" fill="#38BDF8"/>
6
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" role="img" aria-label="Anti-Slop Engineering mark">
2
+ <rect width="512" height="512" rx="112" fill="#0F172A"/>
3
+ <path d="M256 96 L384 152 V264 C384 340 328 400 256 424 C184 400 128 340 128 264 V152 Z" fill="none" stroke="#38BDF8" stroke-width="24" stroke-linejoin="round"/>
4
+ <path d="M192 256 L236 300 L324 212" fill="none" stroke="#F8FAFC" stroke-width="28" stroke-linecap="round" stroke-linejoin="round"/>
5
+ </svg>