codictator 0.0.0 → 0.1.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.
Files changed (840) hide show
  1. package/LICENSE +9 -0
  2. package/README.md +5 -0
  3. package/dist/builtin-packs/core/fixtures/agent-assets-present/passing/basic/case.json +10 -0
  4. package/dist/builtin-packs/core/fixtures/agent-assets-present/violating/basic/case.json +10 -0
  5. package/dist/builtin-packs/core/fixtures/arch-boundaries/passing/basic/case.json +10 -0
  6. package/dist/builtin-packs/core/fixtures/arch-boundaries/violating/basic/case.json +10 -0
  7. package/dist/builtin-packs/core/fixtures/arch-module-mapped/passing/basic/case.json +10 -0
  8. package/dist/builtin-packs/core/fixtures/arch-module-mapped/violating/basic/case.json +10 -0
  9. package/dist/builtin-packs/core/fixtures/arch-module-size/passing/basic/case.json +10 -0
  10. package/dist/builtin-packs/core/fixtures/arch-module-size/violating/basic/case.json +10 -0
  11. package/dist/builtin-packs/core/fixtures/arch-no-cycles/passing/basic/case.json +10 -0
  12. package/dist/builtin-packs/core/fixtures/arch-no-cycles/violating/basic/case.json +10 -0
  13. package/dist/builtin-packs/core/fixtures/arch-profile-declared/passing/basic/case.json +10 -0
  14. package/dist/builtin-packs/core/fixtures/arch-profile-declared/violating/basic/case.json +10 -0
  15. package/dist/builtin-packs/core/fixtures/arch-public-entry/passing/basic/case.json +10 -0
  16. package/dist/builtin-packs/core/fixtures/arch-public-entry/violating/basic/case.json +10 -0
  17. package/dist/builtin-packs/core/fixtures/branch-protection/passing/basic/case.json +10 -0
  18. package/dist/builtin-packs/core/fixtures/branch-protection/violating/basic/case.json +10 -0
  19. package/dist/builtin-packs/core/fixtures/bug-registry/passing/basic/case.json +10 -0
  20. package/dist/builtin-packs/core/fixtures/bug-registry/violating/basic/case.json +10 -0
  21. package/dist/builtin-packs/core/fixtures/bug-rows-immutable/passing/basic/case.json +10 -0
  22. package/dist/builtin-packs/core/fixtures/bug-rows-immutable/violating/basic/case.json +10 -0
  23. package/dist/builtin-packs/core/fixtures/ci-actions-pinned/passing/basic/case.json +10 -0
  24. package/dist/builtin-packs/core/fixtures/ci-actions-pinned/violating/basic/case.json +10 -0
  25. package/dist/builtin-packs/core/fixtures/ci-present/passing/basic/case.json +10 -0
  26. package/dist/builtin-packs/core/fixtures/ci-present/violating/basic/case.json +10 -0
  27. package/dist/builtin-packs/core/fixtures/ci-required-check/passing/basic/case.json +10 -0
  28. package/dist/builtin-packs/core/fixtures/ci-required-check/violating/basic/case.json +10 -0
  29. package/dist/builtin-packs/core/fixtures/compiler-strict/passing/basic/case.json +10 -0
  30. package/dist/builtin-packs/core/fixtures/compiler-strict/violating/basic/case.json +10 -0
  31. package/dist/builtin-packs/core/fixtures/complexity/passing/basic/case.json +10 -0
  32. package/dist/builtin-packs/core/fixtures/complexity/violating/basic/case.json +10 -0
  33. package/dist/builtin-packs/core/fixtures/context-hard-band/passing/basic/case.json +10 -0
  34. package/dist/builtin-packs/core/fixtures/context-hard-band/violating/basic/case.json +10 -0
  35. package/dist/builtin-packs/core/fixtures/context-soft-band/passing/basic/case.json +10 -0
  36. package/dist/builtin-packs/core/fixtures/context-soft-band/violating/basic/case.json +10 -0
  37. package/dist/builtin-packs/core/fixtures/conventional-commit/passing/basic/case.json +10 -0
  38. package/dist/builtin-packs/core/fixtures/conventional-commit/violating/basic/case.json +10 -0
  39. package/dist/builtin-packs/core/fixtures/coverage-floor/passing/basic/case.json +10 -0
  40. package/dist/builtin-packs/core/fixtures/coverage-floor/violating/basic/case.json +10 -0
  41. package/dist/builtin-packs/core/fixtures/custom-pack-selftest/passing/basic/case.json +10 -0
  42. package/dist/builtin-packs/core/fixtures/custom-pack-selftest/violating/basic/case.json +10 -0
  43. package/dist/builtin-packs/core/fixtures/dangerous-shell/passing/basic/case.json +10 -0
  44. package/dist/builtin-packs/core/fixtures/dangerous-shell/violating/basic/case.json +10 -0
  45. package/dist/builtin-packs/core/fixtures/dead-code/passing/basic/case.json +10 -0
  46. package/dist/builtin-packs/core/fixtures/dead-code/violating/basic/case.json +10 -0
  47. package/dist/builtin-packs/core/fixtures/dep-exact-pin/passing/basic/case.json +10 -0
  48. package/dist/builtin-packs/core/fixtures/dep-exact-pin/violating/basic/case.json +10 -0
  49. package/dist/builtin-packs/core/fixtures/dep-latest-stable/passing/basic/case.json +10 -0
  50. package/dist/builtin-packs/core/fixtures/dep-latest-stable/violating/basic/case.json +10 -0
  51. package/dist/builtin-packs/core/fixtures/dep-license/passing/basic/case.json +10 -0
  52. package/dist/builtin-packs/core/fixtures/dep-license/violating/basic/case.json +10 -0
  53. package/dist/builtin-packs/core/fixtures/dep-lockfile/passing/basic/case.json +10 -0
  54. package/dist/builtin-packs/core/fixtures/dep-lockfile/violating/basic/case.json +10 -0
  55. package/dist/builtin-packs/core/fixtures/dep-new-needs-reason/passing/basic/case.json +10 -0
  56. package/dist/builtin-packs/core/fixtures/dep-new-needs-reason/violating/basic/case.json +10 -0
  57. package/dist/builtin-packs/core/fixtures/dep-no-deprecated/passing/basic/case.json +10 -0
  58. package/dist/builtin-packs/core/fixtures/dep-no-deprecated/violating/basic/case.json +10 -0
  59. package/dist/builtin-packs/core/fixtures/dep-no-vulnerable/passing/basic/case.json +10 -0
  60. package/dist/builtin-packs/core/fixtures/dep-no-vulnerable/violating/basic/case.json +10 -0
  61. package/dist/builtin-packs/core/fixtures/dep-one-per-capability/passing/basic/case.json +10 -0
  62. package/dist/builtin-packs/core/fixtures/dep-one-per-capability/violating/basic/case.json +10 -0
  63. package/dist/builtin-packs/core/fixtures/diagnose-before-fix/passing/basic/case.json +10 -0
  64. package/dist/builtin-packs/core/fixtures/diagnose-before-fix/violating/basic/case.json +10 -0
  65. package/dist/builtin-packs/core/fixtures/doc-breadth/passing/basic/case.json +10 -0
  66. package/dist/builtin-packs/core/fixtures/doc-breadth/violating/basic/case.json +10 -0
  67. package/dist/builtin-packs/core/fixtures/doc-density/passing/basic/case.json +10 -0
  68. package/dist/builtin-packs/core/fixtures/doc-density/violating/basic/case.json +10 -0
  69. package/dist/builtin-packs/core/fixtures/doc-links-valid/passing/basic/case.json +10 -0
  70. package/dist/builtin-packs/core/fixtures/doc-links-valid/violating/basic/case.json +10 -0
  71. package/dist/builtin-packs/core/fixtures/doc-no-corpus-counts/passing/basic/case.json +10 -0
  72. package/dist/builtin-packs/core/fixtures/doc-no-corpus-counts/violating/basic/case.json +10 -0
  73. package/dist/builtin-packs/core/fixtures/doc-no-inline-changelog/passing/basic/case.json +10 -0
  74. package/dist/builtin-packs/core/fixtures/doc-no-inline-changelog/violating/basic/case.json +10 -0
  75. package/dist/builtin-packs/core/fixtures/doc-one-level/passing/basic/case.json +10 -0
  76. package/dist/builtin-packs/core/fixtures/doc-one-level/violating/basic/case.json +10 -0
  77. package/dist/builtin-packs/core/fixtures/doc-placement/passing/basic/case.json +10 -0
  78. package/dist/builtin-packs/core/fixtures/doc-placement/violating/basic/case.json +10 -0
  79. package/dist/builtin-packs/core/fixtures/doc-router-leaf/passing/basic/case.json +10 -0
  80. package/dist/builtin-packs/core/fixtures/doc-router-leaf/violating/basic/case.json +10 -0
  81. package/dist/builtin-packs/core/fixtures/doc-single-owner/passing/basic/case.json +10 -0
  82. package/dist/builtin-packs/core/fixtures/doc-single-owner/violating/basic/case.json +10 -0
  83. package/dist/builtin-packs/core/fixtures/doc-size/passing/basic/case.json +10 -0
  84. package/dist/builtin-packs/core/fixtures/doc-size/violating/basic/case.json +10 -0
  85. package/dist/builtin-packs/core/fixtures/duplication/passing/basic/case.json +10 -0
  86. package/dist/builtin-packs/core/fixtures/duplication/violating/basic/case.json +10 -0
  87. package/dist/builtin-packs/core/fixtures/engine-version-match/passing/basic/case.json +10 -0
  88. package/dist/builtin-packs/core/fixtures/engine-version-match/violating/basic/case.json +10 -0
  89. package/dist/builtin-packs/core/fixtures/file-naming/passing/basic/case.json +10 -0
  90. package/dist/builtin-packs/core/fixtures/file-naming/violating/basic/case.json +10 -0
  91. package/dist/builtin-packs/core/fixtures/file-size/passing/basic/case.json +10 -0
  92. package/dist/builtin-packs/core/fixtures/file-size/violating/basic/case.json +10 -0
  93. package/dist/builtin-packs/core/fixtures/function-size/passing/basic/case.json +10 -0
  94. package/dist/builtin-packs/core/fixtures/function-size/violating/basic/case.json +10 -0
  95. package/dist/builtin-packs/core/fixtures/graph-before-scan/passing/basic/case.json +10 -0
  96. package/dist/builtin-packs/core/fixtures/graph-before-scan/violating/basic/case.json +10 -0
  97. package/dist/builtin-packs/core/fixtures/guardrail-manifest/passing/basic/case.json +10 -0
  98. package/dist/builtin-packs/core/fixtures/guardrail-manifest/violating/basic/case.json +10 -0
  99. package/dist/builtin-packs/core/fixtures/history-append-only/passing/basic/case.json +10 -0
  100. package/dist/builtin-packs/core/fixtures/history-append-only/violating/basic/case.json +10 -0
  101. package/dist/builtin-packs/core/fixtures/history-entry/passing/basic/case.json +10 -0
  102. package/dist/builtin-packs/core/fixtures/history-entry/violating/basic/case.json +10 -0
  103. package/dist/builtin-packs/core/fixtures/history-entry-complete/passing/basic/case.json +10 -0
  104. package/dist/builtin-packs/core/fixtures/history-entry-complete/violating/basic/case.json +10 -0
  105. package/dist/builtin-packs/core/fixtures/hooks-active/passing/basic/case.json +10 -0
  106. package/dist/builtin-packs/core/fixtures/hooks-active/violating/basic/case.json +10 -0
  107. package/dist/builtin-packs/core/fixtures/loop-breaker/passing/basic/case.json +10 -0
  108. package/dist/builtin-packs/core/fixtures/loop-breaker/violating/basic/case.json +10 -0
  109. package/dist/builtin-packs/core/fixtures/max-file-bytes/passing/basic/case.json +10 -0
  110. package/dist/builtin-packs/core/fixtures/max-file-bytes/violating/basic/case.json +10 -0
  111. package/dist/builtin-packs/core/fixtures/mcp-declared/passing/basic/case.json +10 -0
  112. package/dist/builtin-packs/core/fixtures/mcp-declared/violating/basic/case.json +10 -0
  113. package/dist/builtin-packs/core/fixtures/no-assertion-loss/passing/basic/case.json +10 -0
  114. package/dist/builtin-packs/core/fixtures/no-assertion-loss/violating/basic/case.json +10 -0
  115. package/dist/builtin-packs/core/fixtures/no-baseline-raise/passing/basic/case.json +10 -0
  116. package/dist/builtin-packs/core/fixtures/no-baseline-raise/violating/basic/case.json +10 -0
  117. package/dist/builtin-packs/core/fixtures/no-bypass/passing/basic/case.json +10 -0
  118. package/dist/builtin-packs/core/fixtures/no-bypass/violating/basic/case.json +10 -0
  119. package/dist/builtin-packs/core/fixtures/no-fixture-shrink/passing/basic/case.json +10 -0
  120. package/dist/builtin-packs/core/fixtures/no-fixture-shrink/violating/basic/case.json +10 -0
  121. package/dist/builtin-packs/core/fixtures/no-guard-removal/passing/basic/case.json +10 -0
  122. package/dist/builtin-packs/core/fixtures/no-guard-removal/violating/basic/case.json +10 -0
  123. package/dist/builtin-packs/core/fixtures/no-new-suppressions/passing/basic/case.json +10 -0
  124. package/dist/builtin-packs/core/fixtures/no-new-suppressions/violating/basic/case.json +10 -0
  125. package/dist/builtin-packs/core/fixtures/no-secret-reads/passing/basic/case.json +10 -0
  126. package/dist/builtin-packs/core/fixtures/no-secret-reads/violating/basic/case.json +10 -0
  127. package/dist/builtin-packs/core/fixtures/no-secrets/passing/basic/case.json +10 -0
  128. package/dist/builtin-packs/core/fixtures/no-secrets/violating/basic/case.json +10 -0
  129. package/dist/builtin-packs/core/fixtures/no-skipped-tests/passing/basic/case.json +10 -0
  130. package/dist/builtin-packs/core/fixtures/no-skipped-tests/violating/basic/case.json +10 -0
  131. package/dist/builtin-packs/core/fixtures/no-speculative-abstraction/passing/basic/case.json +10 -0
  132. package/dist/builtin-packs/core/fixtures/no-speculative-abstraction/violating/basic/case.json +10 -0
  133. package/dist/builtin-packs/core/fixtures/no-threshold-lowering/passing/basic/case.json +10 -0
  134. package/dist/builtin-packs/core/fixtures/no-threshold-lowering/violating/basic/case.json +10 -0
  135. package/dist/builtin-packs/core/fixtures/perf-budgets/passing/basic/case.json +10 -0
  136. package/dist/builtin-packs/core/fixtures/perf-budgets/violating/basic/case.json +10 -0
  137. package/dist/builtin-packs/core/fixtures/ratchet-touched-improves/passing/basic/case.json +10 -0
  138. package/dist/builtin-packs/core/fixtures/ratchet-touched-improves/violating/basic/case.json +10 -0
  139. package/dist/builtin-packs/core/fixtures/read-dedupe/passing/basic/case.json +10 -0
  140. package/dist/builtin-packs/core/fixtures/read-dedupe/violating/basic/case.json +10 -0
  141. package/dist/builtin-packs/core/fixtures/red-before-green/passing/basic/case.json +10 -0
  142. package/dist/builtin-packs/core/fixtures/red-before-green/violating/basic/case.json +10 -0
  143. package/dist/builtin-packs/core/fixtures/regression-test-for-fix/passing/basic/case.json +10 -0
  144. package/dist/builtin-packs/core/fixtures/regression-test-for-fix/violating/basic/case.json +10 -0
  145. package/dist/builtin-packs/core/fixtures/remediation-step-size/passing/basic/case.json +10 -0
  146. package/dist/builtin-packs/core/fixtures/remediation-step-size/violating/basic/case.json +10 -0
  147. package/dist/builtin-packs/core/fixtures/repo-hygiene/passing/basic/case.json +10 -0
  148. package/dist/builtin-packs/core/fixtures/repo-hygiene/violating/basic/case.json +10 -0
  149. package/dist/builtin-packs/core/fixtures/review-gate/passing/basic/case.json +10 -0
  150. package/dist/builtin-packs/core/fixtures/review-gate/violating/basic/case.json +10 -0
  151. package/dist/builtin-packs/core/fixtures/review-round-cap/passing/basic/case.json +10 -0
  152. package/dist/builtin-packs/core/fixtures/review-round-cap/violating/basic/case.json +10 -0
  153. package/dist/builtin-packs/core/fixtures/session-tool-call-limit/passing/basic/case.json +10 -0
  154. package/dist/builtin-packs/core/fixtures/session-tool-call-limit/violating/basic/case.json +10 -0
  155. package/dist/builtin-packs/core/fixtures/spec-trace/passing/basic/case.json +10 -0
  156. package/dist/builtin-packs/core/fixtures/spec-trace/violating/basic/case.json +10 -0
  157. package/dist/builtin-packs/core/fixtures/test-command-intact/passing/basic/case.json +10 -0
  158. package/dist/builtin-packs/core/fixtures/test-command-intact/violating/basic/case.json +10 -0
  159. package/dist/builtin-packs/core/fixtures/test-kinds-by-scenario/passing/basic/case.json +10 -0
  160. package/dist/builtin-packs/core/fixtures/test-kinds-by-scenario/violating/basic/case.json +10 -0
  161. package/dist/builtin-packs/core/fixtures/waivers-valid/passing/basic/case.json +10 -0
  162. package/dist/builtin-packs/core/fixtures/waivers-valid/violating/basic/case.json +10 -0
  163. package/dist/builtin-packs/core/fixtures/workflow-gates/passing/basic/case.json +10 -0
  164. package/dist/builtin-packs/core/fixtures/workflow-gates/violating/basic/case.json +10 -0
  165. package/dist/builtin-packs/core/fixtures/write-confinement/passing/basic/case.json +10 -0
  166. package/dist/builtin-packs/core/fixtures/write-confinement/violating/basic/case.json +10 -0
  167. package/dist/builtin-packs/core/fixtures/writes-within-plan/passing/basic/case.json +10 -0
  168. package/dist/builtin-packs/core/fixtures/writes-within-plan/violating/basic/case.json +10 -0
  169. package/dist/builtin-packs/core/index.ts +8 -0
  170. package/dist/builtin-packs/core/pack.json +2057 -0
  171. package/dist/builtin-packs/dotnet/index.ts +47 -0
  172. package/dist/builtin-packs/python/extract.ts +245 -0
  173. package/dist/builtin-packs/python/fixtures/lint/passing/basic/case.json +10 -0
  174. package/dist/builtin-packs/python/fixtures/lint/violating/basic/case.json +10 -0
  175. package/dist/builtin-packs/python/fixtures/no-phantom-import/passing/basic/case.json +12 -0
  176. package/dist/builtin-packs/python/fixtures/no-phantom-import/violating/basic/case.json +11 -0
  177. package/dist/builtin-packs/python/fixtures/security-patterns/passing/basic/case.json +10 -0
  178. package/dist/builtin-packs/python/fixtures/security-patterns/violating/basic/case.json +10 -0
  179. package/dist/builtin-packs/python/fixtures/typecheck/passing/basic/case.json +10 -0
  180. package/dist/builtin-packs/python/fixtures/typecheck/violating/basic/case.json +10 -0
  181. package/dist/builtin-packs/python/index.ts +57 -0
  182. package/dist/builtin-packs/python/pack.json +116 -0
  183. package/dist/builtin-packs/typescript/extract-clauses.ts +153 -0
  184. package/dist/builtin-packs/typescript/extract-literals.ts +111 -0
  185. package/dist/builtin-packs/typescript/extract-words.ts +79 -0
  186. package/dist/builtin-packs/typescript/extract.ts +77 -0
  187. package/dist/builtin-packs/typescript/fixtures/lint/passing/basic/case.json +10 -0
  188. package/dist/builtin-packs/typescript/fixtures/lint/passing/exported/case.json +8 -0
  189. package/dist/builtin-packs/typescript/fixtures/lint/violating/basic/case.json +10 -0
  190. package/dist/builtin-packs/typescript/fixtures/no-phantom-import/passing/basic/case.json +10 -0
  191. package/dist/builtin-packs/typescript/fixtures/no-phantom-import/passing/host-provided/case.json +10 -0
  192. package/dist/builtin-packs/typescript/fixtures/no-phantom-import/violating/basic/case.json +10 -0
  193. package/dist/builtin-packs/typescript/fixtures/no-phantom-import/violating/host-provided/case.json +10 -0
  194. package/dist/builtin-packs/typescript/fixtures/security-patterns/passing/basic/case.json +10 -0
  195. package/dist/builtin-packs/typescript/fixtures/security-patterns/violating/basic/case.json +10 -0
  196. package/dist/builtin-packs/typescript/fixtures/typecheck/passing/basic/case.json +10 -0
  197. package/dist/builtin-packs/typescript/fixtures/typecheck/violating/basic/case.json +10 -0
  198. package/dist/builtin-packs/typescript/index.ts +85 -0
  199. package/dist/builtin-packs/typescript/lex.ts +199 -0
  200. package/dist/builtin-packs/typescript/measures-exports.ts +173 -0
  201. package/dist/builtin-packs/typescript/measures-functions.ts +138 -0
  202. package/dist/builtin-packs/typescript/measures.ts +10 -0
  203. package/dist/builtin-packs/typescript/naming.ts +47 -0
  204. package/dist/builtin-packs/typescript/pack.json +169 -0
  205. package/dist/builtin-packs/typescript/patterns.ts +93 -0
  206. package/dist/builtin-packs/typescript/resolve.ts +224 -0
  207. package/dist/builtin-packs/typescript/strict.ts +177 -0
  208. package/dist/builtin-packs/typescript/titles.ts +184 -0
  209. package/dist/cli/baseline.d.ts +3 -0
  210. package/dist/cli/baseline.js +67 -0
  211. package/dist/cli/ci-bot-change.d.ts +3 -0
  212. package/dist/cli/ci-bot-change.js +54 -0
  213. package/dist/cli/ci-range.d.ts +18 -0
  214. package/dist/cli/ci-range.js +228 -0
  215. package/dist/cli/ci-summary.d.ts +3 -0
  216. package/dist/cli/ci-summary.js +45 -0
  217. package/dist/cli/ci.d.ts +4 -0
  218. package/dist/cli/ci.js +195 -0
  219. package/dist/cli/commands.d.ts +5 -0
  220. package/dist/cli/commands.js +39 -0
  221. package/dist/cli/deps.d.ts +3 -0
  222. package/dist/cli/deps.js +115 -0
  223. package/dist/cli/drift.d.ts +11 -0
  224. package/dist/cli/drift.js +91 -0
  225. package/dist/cli/evaluate.d.ts +20 -0
  226. package/dist/cli/evaluate.js +213 -0
  227. package/dist/cli/gate-scope.d.ts +11 -0
  228. package/dist/cli/gate-scope.js +93 -0
  229. package/dist/cli/git-hook.d.ts +3 -0
  230. package/dist/cli/git-hook.js +184 -0
  231. package/dist/cli/guardrail.d.ts +5 -0
  232. package/dist/cli/guardrail.js +190 -0
  233. package/dist/cli/index.d.ts +12 -0
  234. package/dist/cli/index.js +198 -0
  235. package/dist/cli/init-plan.d.ts +23 -0
  236. package/dist/cli/init-plan.js +135 -0
  237. package/dist/cli/init.d.ts +3 -0
  238. package/dist/cli/init.js +122 -0
  239. package/dist/cli/inspect-status.d.ts +8 -0
  240. package/dist/cli/inspect-status.js +164 -0
  241. package/dist/cli/inspect.d.ts +5 -0
  242. package/dist/cli/inspect.js +98 -0
  243. package/dist/cli/main.d.ts +2 -0
  244. package/dist/cli/main.js +60 -0
  245. package/dist/cli/pack-adapters.d.ts +3 -0
  246. package/dist/cli/pack-adapters.js +81 -0
  247. package/dist/cli/packs.d.ts +6 -0
  248. package/dist/cli/packs.js +131 -0
  249. package/dist/cli/plan-launcher.d.ts +2 -0
  250. package/dist/cli/plan-launcher.js +272 -0
  251. package/dist/cli/plan.d.ts +25 -0
  252. package/dist/cli/plan.js +121 -0
  253. package/dist/cli/proofs-test.d.ts +3 -0
  254. package/dist/cli/proofs-test.js +77 -0
  255. package/dist/cli/proofs.d.ts +3 -0
  256. package/dist/cli/proofs.js +168 -0
  257. package/dist/cli/remediation.d.ts +3 -0
  258. package/dist/cli/remediation.js +107 -0
  259. package/dist/cli/report.d.ts +4 -0
  260. package/dist/cli/report.js +93 -0
  261. package/dist/cli/serve-eval.d.ts +2 -0
  262. package/dist/cli/serve-eval.js +165 -0
  263. package/dist/cli/serve-log.d.ts +2 -0
  264. package/dist/cli/serve-log.js +150 -0
  265. package/dist/cli/serve-methods.d.ts +2 -0
  266. package/dist/cli/serve-methods.js +181 -0
  267. package/dist/cli/serve-protocol.d.ts +35 -0
  268. package/dist/cli/serve-protocol.js +97 -0
  269. package/dist/cli/serve-run.d.ts +9 -0
  270. package/dist/cli/serve-run.js +135 -0
  271. package/dist/cli/serve-server.d.ts +5 -0
  272. package/dist/cli/serve-server.js +120 -0
  273. package/dist/cli/serve-shared.d.ts +34 -0
  274. package/dist/cli/serve-shared.js +20 -0
  275. package/dist/cli/serve-status.d.ts +2 -0
  276. package/dist/cli/serve-status.js +130 -0
  277. package/dist/cli/serve-transport.d.ts +2 -0
  278. package/dist/cli/serve-transport.js +114 -0
  279. package/dist/cli/shared.d.ts +35 -0
  280. package/dist/cli/shared.js +181 -0
  281. package/dist/cli/task-advance.d.ts +3 -0
  282. package/dist/cli/task-advance.js +144 -0
  283. package/dist/cli/task-phases.d.ts +3 -0
  284. package/dist/cli/task-phases.js +77 -0
  285. package/dist/cli/tasks.d.ts +12 -0
  286. package/dist/cli/tasks.js +176 -0
  287. package/dist/cli/transparency.d.ts +4 -0
  288. package/dist/cli/transparency.js +197 -0
  289. package/dist/cli/waivers.d.ts +3 -0
  290. package/dist/cli/waivers.js +195 -0
  291. package/dist/features/adapters/claude-code.d.ts +8 -0
  292. package/dist/features/adapters/claude-code.js +198 -0
  293. package/dist/features/adapters/claude-shaped.d.ts +4 -0
  294. package/dist/features/adapters/claude-shaped.js +174 -0
  295. package/dist/features/adapters/codex-cli.d.ts +8 -0
  296. package/dist/features/adapters/codex-cli.js +180 -0
  297. package/dist/features/adapters/contract.d.ts +104 -0
  298. package/dist/features/adapters/contract.js +17 -0
  299. package/dist/features/adapters/copilot-capabilities.d.ts +2 -0
  300. package/dist/features/adapters/copilot-capabilities.js +46 -0
  301. package/dist/features/adapters/copilot.d.ts +8 -0
  302. package/dist/features/adapters/copilot.js +200 -0
  303. package/dist/features/adapters/cursor.d.ts +8 -0
  304. package/dist/features/adapters/cursor.js +245 -0
  305. package/dist/features/adapters/custom-event.d.ts +3 -0
  306. package/dist/features/adapters/custom-event.js +180 -0
  307. package/dist/features/adapters/custom-load.d.ts +3 -0
  308. package/dist/features/adapters/custom-load.js +185 -0
  309. package/dist/features/adapters/custom-shape.d.ts +21 -0
  310. package/dist/features/adapters/custom-shape.js +87 -0
  311. package/dist/features/adapters/custom.d.ts +9 -0
  312. package/dist/features/adapters/custom.js +130 -0
  313. package/dist/features/adapters/effective-cache.d.ts +5 -0
  314. package/dist/features/adapters/effective-cache.js +45 -0
  315. package/dist/features/adapters/gemini-cli.d.ts +6 -0
  316. package/dist/features/adapters/gemini-cli.js +160 -0
  317. package/dist/features/adapters/gemini-tables.d.ts +7 -0
  318. package/dist/features/adapters/gemini-tables.js +104 -0
  319. package/dist/features/adapters/hook-dispatch.d.ts +7 -0
  320. package/dist/features/adapters/hook-dispatch.js +97 -0
  321. package/dist/features/adapters/hook-injection.d.ts +12 -0
  322. package/dist/features/adapters/hook-injection.js +75 -0
  323. package/dist/features/adapters/hook-load.d.ts +15 -0
  324. package/dist/features/adapters/hook-load.js +152 -0
  325. package/dist/features/adapters/hook-scope.d.ts +3 -0
  326. package/dist/features/adapters/hook-scope.js +54 -0
  327. package/dist/features/adapters/index.d.ts +22 -0
  328. package/dist/features/adapters/index.js +86 -0
  329. package/dist/features/adapters/muse-code.d.ts +8 -0
  330. package/dist/features/adapters/muse-code.js +223 -0
  331. package/dist/features/adapters/opencode-bridge.d.ts +1 -0
  332. package/dist/features/adapters/opencode-bridge.js +230 -0
  333. package/dist/features/adapters/opencode-capabilities.d.ts +2 -0
  334. package/dist/features/adapters/opencode-capabilities.js +47 -0
  335. package/dist/features/adapters/opencode-parse.d.ts +3 -0
  336. package/dist/features/adapters/opencode-parse.js +137 -0
  337. package/dist/features/adapters/opencode-tables.d.ts +5 -0
  338. package/dist/features/adapters/opencode-tables.js +63 -0
  339. package/dist/features/adapters/opencode.d.ts +10 -0
  340. package/dist/features/adapters/opencode.js +97 -0
  341. package/dist/features/adapters/runtime.d.ts +25 -0
  342. package/dist/features/adapters/runtime.js +148 -0
  343. package/dist/features/adapters/universal.d.ts +7 -0
  344. package/dist/features/adapters/universal.js +89 -0
  345. package/dist/features/arch/arch-profiles.d.ts +3 -0
  346. package/dist/features/arch/arch-profiles.js +5 -0
  347. package/dist/features/arch/checks.d.ts +25 -0
  348. package/dist/features/arch/checks.js +173 -0
  349. package/dist/features/arch/codictator-modules.d.ts +4 -0
  350. package/dist/features/arch/codictator-modules.js +180 -0
  351. package/dist/features/arch/cycle-walk.d.ts +1 -0
  352. package/dist/features/arch/cycle-walk.js +36 -0
  353. package/dist/features/arch/edge-checks.d.ts +13 -0
  354. package/dist/features/arch/edge-checks.js +186 -0
  355. package/dist/features/arch/graph.d.ts +32 -0
  356. package/dist/features/arch/graph.js +202 -0
  357. package/dist/features/arch/index.d.ts +29 -0
  358. package/dist/features/arch/index.js +16 -0
  359. package/dist/features/arch/layer-rules.d.ts +3 -0
  360. package/dist/features/arch/layer-rules.js +38 -0
  361. package/dist/features/arch/module-map-validation.d.ts +3 -0
  362. package/dist/features/arch/module-map-validation.js +30 -0
  363. package/dist/features/arch/module-mapping.d.ts +15 -0
  364. package/dist/features/arch/module-mapping.js +184 -0
  365. package/dist/features/arch/profiles.d.ts +4 -0
  366. package/dist/features/arch/profiles.js +8 -0
  367. package/dist/features/audit/append.d.ts +26 -0
  368. package/dist/features/audit/append.js +210 -0
  369. package/dist/features/audit/explain-table-tail.d.ts +2 -0
  370. package/dist/features/audit/explain-table-tail.js +29 -0
  371. package/dist/features/audit/explain-table.d.ts +8 -0
  372. package/dist/features/audit/explain-table.js +48 -0
  373. package/dist/features/audit/explain.d.ts +7 -0
  374. package/dist/features/audit/explain.js +87 -0
  375. package/dist/features/audit/index.d.ts +37 -0
  376. package/dist/features/audit/index.js +17 -0
  377. package/dist/features/audit/injection-event.d.ts +11 -0
  378. package/dist/features/audit/injection-event.js +17 -0
  379. package/dist/features/audit/read.d.ts +8 -0
  380. package/dist/features/audit/read.js +62 -0
  381. package/dist/features/audit/summarize.d.ts +1 -0
  382. package/dist/features/audit/summarize.js +41 -0
  383. package/dist/features/audit/surfaces.d.ts +47 -0
  384. package/dist/features/audit/surfaces.js +172 -0
  385. package/dist/features/audit/token-saver-evidence.d.ts +14 -0
  386. package/dist/features/audit/token-saver-evidence.js +85 -0
  387. package/dist/features/ci/changes.d.ts +28 -0
  388. package/dist/features/ci/changes.js +88 -0
  389. package/dist/features/ci/index.d.ts +22 -0
  390. package/dist/features/ci/index.js +75 -0
  391. package/dist/features/ci/protection-read.d.ts +3 -0
  392. package/dist/features/ci/protection-read.js +264 -0
  393. package/dist/features/ci/protection.d.ts +25 -0
  394. package/dist/features/ci/protection.js +101 -0
  395. package/dist/features/ci/workflow.d.ts +23 -0
  396. package/dist/features/ci/workflow.js +261 -0
  397. package/dist/features/config/human.d.ts +4 -0
  398. package/dist/features/config/human.js +31 -0
  399. package/dist/features/config/index.d.ts +37 -0
  400. package/dist/features/config/index.js +129 -0
  401. package/dist/features/config/pack-data.d.ts +18 -0
  402. package/dist/features/config/pack-data.js +116 -0
  403. package/dist/features/config/validate-sections.d.ts +6 -0
  404. package/dist/features/config/validate-sections.js +198 -0
  405. package/dist/features/config/validate-shared.d.ts +8 -0
  406. package/dist/features/config/validate-shared.js +69 -0
  407. package/dist/features/config/validate-tunables.d.ts +1 -0
  408. package/dist/features/config/validate-tunables.js +89 -0
  409. package/dist/features/config/validate.d.ts +2 -0
  410. package/dist/features/config/validate.js +57 -0
  411. package/dist/features/deps/bots.d.ts +5 -0
  412. package/dist/features/deps/bots.js +39 -0
  413. package/dist/features/deps/capabilities.d.ts +3 -0
  414. package/dist/features/deps/capabilities.js +91 -0
  415. package/dist/features/deps/check.d.ts +18 -0
  416. package/dist/features/deps/check.js +70 -0
  417. package/dist/features/deps/dependabot.d.ts +10 -0
  418. package/dist/features/deps/dependabot.js +154 -0
  419. package/dist/features/deps/eval.d.ts +41 -0
  420. package/dist/features/deps/eval.js +24 -0
  421. package/dist/features/deps/fields.d.ts +4 -0
  422. package/dist/features/deps/fields.js +18 -0
  423. package/dist/features/deps/index.d.ts +67 -0
  424. package/dist/features/deps/index.js +27 -0
  425. package/dist/features/deps/lockfile.d.ts +8 -0
  426. package/dist/features/deps/lockfile.js +87 -0
  427. package/dist/features/deps/npm.d.ts +22 -0
  428. package/dist/features/deps/npm.js +187 -0
  429. package/dist/features/deps/npmrc.d.ts +12 -0
  430. package/dist/features/deps/npmrc.js +50 -0
  431. package/dist/features/deps/nuget.d.ts +25 -0
  432. package/dist/features/deps/nuget.js +112 -0
  433. package/dist/features/deps/osv-ranges.d.ts +12 -0
  434. package/dist/features/deps/osv-ranges.js +83 -0
  435. package/dist/features/deps/osv.d.ts +16 -0
  436. package/dist/features/deps/osv.js +144 -0
  437. package/dist/features/deps/pypi-pyproject.d.ts +7 -0
  438. package/dist/features/deps/pypi-pyproject.js +118 -0
  439. package/dist/features/deps/pypi.d.ts +29 -0
  440. package/dist/features/deps/pypi.js +137 -0
  441. package/dist/features/deps/registry.d.ts +29 -0
  442. package/dist/features/deps/registry.js +158 -0
  443. package/dist/features/deps/renovate.d.ts +15 -0
  444. package/dist/features/deps/renovate.js +98 -0
  445. package/dist/features/deps/selection.d.ts +20 -0
  446. package/dist/features/deps/selection.js +150 -0
  447. package/dist/features/deps/snapshot-verdicts.d.ts +16 -0
  448. package/dist/features/deps/snapshot-verdicts.js +184 -0
  449. package/dist/features/deps/stable.d.ts +19 -0
  450. package/dist/features/deps/stable.js +131 -0
  451. package/dist/features/deps/step-size.d.ts +7 -0
  452. package/dist/features/deps/step-size.js +24 -0
  453. package/dist/features/deps/upgrade.d.ts +35 -0
  454. package/dist/features/deps/upgrade.js +124 -0
  455. package/dist/features/deps/verdicts.d.ts +21 -0
  456. package/dist/features/deps/verdicts.js +219 -0
  457. package/dist/features/engine/evaluate.d.ts +12 -0
  458. package/dist/features/engine/evaluate.js +170 -0
  459. package/dist/features/engine/index.d.ts +21 -0
  460. package/dist/features/engine/index.js +24 -0
  461. package/dist/features/engine/message.d.ts +3 -0
  462. package/dist/features/engine/message.js +69 -0
  463. package/dist/features/engine/ratchet.d.ts +1 -0
  464. package/dist/features/engine/ratchet.js +63 -0
  465. package/dist/features/engine/run-enforcer.d.ts +4 -0
  466. package/dist/features/engine/run-enforcer.js +82 -0
  467. package/dist/features/engine/waivers.d.ts +23 -0
  468. package/dist/features/engine/waivers.js +169 -0
  469. package/dist/features/generator/draft.d.ts +7 -0
  470. package/dist/features/generator/draft.js +148 -0
  471. package/dist/features/generator/index.d.ts +22 -0
  472. package/dist/features/generator/index.js +8 -0
  473. package/dist/features/generator/llm-draft.d.ts +3 -0
  474. package/dist/features/generator/llm-draft.js +93 -0
  475. package/dist/features/generator/prompt.d.ts +25 -0
  476. package/dist/features/generator/prompt.js +105 -0
  477. package/dist/features/generator/self-test.d.ts +12 -0
  478. package/dist/features/generator/self-test.js +65 -0
  479. package/dist/features/generator/templates.d.ts +26 -0
  480. package/dist/features/generator/templates.js +177 -0
  481. package/dist/features/integrity/drift.d.ts +19 -0
  482. package/dist/features/integrity/drift.js +168 -0
  483. package/dist/features/integrity/hooks.d.ts +19 -0
  484. package/dist/features/integrity/hooks.js +54 -0
  485. package/dist/features/integrity/index.d.ts +10 -0
  486. package/dist/features/integrity/index.js +14 -0
  487. package/dist/features/integrity/manifest.d.ts +15 -0
  488. package/dist/features/integrity/manifest.js +26 -0
  489. package/dist/features/integrity/self-protection.d.ts +12 -0
  490. package/dist/features/integrity/self-protection.js +144 -0
  491. package/dist/features/llm/attempt.d.ts +17 -0
  492. package/dist/features/llm/attempt.js +99 -0
  493. package/dist/features/llm/errors.d.ts +5 -0
  494. package/dist/features/llm/errors.js +18 -0
  495. package/dist/features/llm/index.d.ts +23 -0
  496. package/dist/features/llm/index.js +46 -0
  497. package/dist/features/llm/presets.d.ts +25 -0
  498. package/dist/features/llm/presets.js +159 -0
  499. package/dist/features/llm/wire.d.ts +17 -0
  500. package/dist/features/llm/wire.js +163 -0
  501. package/dist/features/packs/accept.d.ts +7 -0
  502. package/dist/features/packs/accept.js +73 -0
  503. package/dist/features/packs/enforcers/arch-guards.d.ts +12 -0
  504. package/dist/features/packs/enforcers/arch-guards.js +193 -0
  505. package/dist/features/packs/enforcers/binding.d.ts +31 -0
  506. package/dist/features/packs/enforcers/binding.js +157 -0
  507. package/dist/features/packs/enforcers/ci-guards.d.ts +10 -0
  508. package/dist/features/packs/enforcers/ci-guards.js +131 -0
  509. package/dist/features/packs/enforcers/code-health.d.ts +9 -0
  510. package/dist/features/packs/enforcers/code-health.js +180 -0
  511. package/dist/features/packs/enforcers/code.d.ts +5 -0
  512. package/dist/features/packs/enforcers/code.js +129 -0
  513. package/dist/features/packs/enforcers/command-forbid.d.ts +8 -0
  514. package/dist/features/packs/enforcers/command-forbid.js +61 -0
  515. package/dist/features/packs/enforcers/deps-guards.d.ts +15 -0
  516. package/dist/features/packs/enforcers/deps-guards.js +235 -0
  517. package/dist/features/packs/enforcers/deps-policy-guards.d.ts +9 -0
  518. package/dist/features/packs/enforcers/deps-policy-guards.js +135 -0
  519. package/dist/features/packs/enforcers/docs-guards-measures.d.ts +9 -0
  520. package/dist/features/packs/enforcers/docs-guards-measures.js +117 -0
  521. package/dist/features/packs/enforcers/docs-guards.d.ts +11 -0
  522. package/dist/features/packs/enforcers/docs-guards.js +180 -0
  523. package/dist/features/packs/enforcers/engine-version-guards.d.ts +6 -0
  524. package/dist/features/packs/enforcers/engine-version-guards.js +42 -0
  525. package/dist/features/packs/enforcers/external-attribute.d.ts +18 -0
  526. package/dist/features/packs/enforcers/external-attribute.js +122 -0
  527. package/dist/features/packs/enforcers/external-bind.d.ts +4 -0
  528. package/dist/features/packs/enforcers/external-bind.js +206 -0
  529. package/dist/features/packs/enforcers/external-check.d.ts +7 -0
  530. package/dist/features/packs/enforcers/external-check.js +131 -0
  531. package/dist/features/packs/enforcers/external-output.d.ts +30 -0
  532. package/dist/features/packs/enforcers/external-output.js +144 -0
  533. package/dist/features/packs/enforcers/external-probe.d.ts +4 -0
  534. package/dist/features/packs/enforcers/external-probe.js +65 -0
  535. package/dist/features/packs/enforcers/external-runs.d.ts +33 -0
  536. package/dist/features/packs/enforcers/external-runs.js +162 -0
  537. package/dist/features/packs/enforcers/external-sarif.d.ts +3 -0
  538. package/dist/features/packs/enforcers/external-sarif.js +109 -0
  539. package/dist/features/packs/enforcers/external.d.ts +39 -0
  540. package/dist/features/packs/enforcers/external.js +11 -0
  541. package/dist/features/packs/enforcers/gate-guards.d.ts +11 -0
  542. package/dist/features/packs/enforcers/gate-guards.js +117 -0
  543. package/dist/features/packs/enforcers/health-abstraction.d.ts +5 -0
  544. package/dist/features/packs/enforcers/health-abstraction.js +126 -0
  545. package/dist/features/packs/enforcers/health-duplication.d.ts +5 -0
  546. package/dist/features/packs/enforcers/health-duplication.js +197 -0
  547. package/dist/features/packs/enforcers/health-lex-imports.d.ts +5 -0
  548. package/dist/features/packs/enforcers/health-lex-imports.js +225 -0
  549. package/dist/features/packs/enforcers/health-lex-template.d.ts +10 -0
  550. package/dist/features/packs/enforcers/health-lex-template.js +67 -0
  551. package/dist/features/packs/enforcers/health-lex.d.ts +8 -0
  552. package/dist/features/packs/enforcers/health-lex.js +227 -0
  553. package/dist/features/packs/enforcers/health-markers.d.ts +3 -0
  554. package/dist/features/packs/enforcers/health-markers.js +31 -0
  555. package/dist/features/packs/enforcers/health-measures.d.ts +26 -0
  556. package/dist/features/packs/enforcers/health-measures.js +223 -0
  557. package/dist/features/packs/enforcers/health-refs.d.ts +5 -0
  558. package/dist/features/packs/enforcers/health-refs.js +76 -0
  559. package/dist/features/packs/enforcers/integrity-guards-repo.d.ts +6 -0
  560. package/dist/features/packs/enforcers/integrity-guards-repo.js +189 -0
  561. package/dist/features/packs/enforcers/integrity-guards.d.ts +12 -0
  562. package/dist/features/packs/enforcers/integrity-guards.js +202 -0
  563. package/dist/features/packs/enforcers/jsonkey.d.ts +13 -0
  564. package/dist/features/packs/enforcers/jsonkey.js +95 -0
  565. package/dist/features/packs/enforcers/parametric.d.ts +7 -0
  566. package/dist/features/packs/enforcers/parametric.js +138 -0
  567. package/dist/features/packs/enforcers/pattern.d.ts +11 -0
  568. package/dist/features/packs/enforcers/pattern.js +88 -0
  569. package/dist/features/packs/enforcers/placement.d.ts +10 -0
  570. package/dist/features/packs/enforcers/placement.js +54 -0
  571. package/dist/features/packs/enforcers/py-checks.d.ts +7 -0
  572. package/dist/features/packs/enforcers/py-checks.js +131 -0
  573. package/dist/features/packs/enforcers/py-lex.d.ts +10 -0
  574. package/dist/features/packs/enforcers/py-lex.js +271 -0
  575. package/dist/features/packs/enforcers/py-phantom.d.ts +6 -0
  576. package/dist/features/packs/enforcers/py-phantom.js +163 -0
  577. package/dist/features/packs/enforcers/py-pins.d.ts +16 -0
  578. package/dist/features/packs/enforcers/py-pins.js +184 -0
  579. package/dist/features/packs/enforcers/py-security-patterns.d.ts +18 -0
  580. package/dist/features/packs/enforcers/py-security-patterns.js +70 -0
  581. package/dist/features/packs/enforcers/records-guards.d.ts +12 -0
  582. package/dist/features/packs/enforcers/records-guards.js +178 -0
  583. package/dist/features/packs/enforcers/remediation-guards.d.ts +6 -0
  584. package/dist/features/packs/enforcers/remediation-guards.js +42 -0
  585. package/dist/features/packs/enforcers/required.d.ts +10 -0
  586. package/dist/features/packs/enforcers/required.js +65 -0
  587. package/dist/features/packs/enforcers/secret-scan.d.ts +6 -0
  588. package/dist/features/packs/enforcers/secret-scan.js +173 -0
  589. package/dist/features/packs/enforcers/shell-analyse.d.ts +14 -0
  590. package/dist/features/packs/enforcers/shell-analyse.js +105 -0
  591. package/dist/features/packs/enforcers/sizes.d.ts +10 -0
  592. package/dist/features/packs/enforcers/sizes.js +82 -0
  593. package/dist/features/packs/enforcers/steering-guards.d.ts +11 -0
  594. package/dist/features/packs/enforcers/steering-guards.js +162 -0
  595. package/dist/features/packs/enforcers/testing-guards.d.ts +10 -0
  596. package/dist/features/packs/enforcers/testing-guards.js +118 -0
  597. package/dist/features/packs/enforcers/ts-checks.d.ts +7 -0
  598. package/dist/features/packs/enforcers/ts-checks.js +147 -0
  599. package/dist/features/packs/enforcers/ts-phantom-host.d.ts +11 -0
  600. package/dist/features/packs/enforcers/ts-phantom-host.js +155 -0
  601. package/dist/features/packs/enforcers/ts-phantom.d.ts +6 -0
  602. package/dist/features/packs/enforcers/ts-phantom.js +117 -0
  603. package/dist/features/packs/enforcers/ts-security-patterns.d.ts +18 -0
  604. package/dist/features/packs/enforcers/ts-security-patterns.js +97 -0
  605. package/dist/features/packs/enforcers/workflow-guards.d.ts +10 -0
  606. package/dist/features/packs/enforcers/workflow-guards.js +117 -0
  607. package/dist/features/packs/enforcers/write-confine.d.ts +13 -0
  608. package/dist/features/packs/enforcers/write-confine.js +131 -0
  609. package/dist/features/packs/hashes.d.ts +6 -0
  610. package/dist/features/packs/hashes.js +84 -0
  611. package/dist/features/packs/index.d.ts +22 -0
  612. package/dist/features/packs/index.js +15 -0
  613. package/dist/features/packs/loader.d.ts +13 -0
  614. package/dist/features/packs/loader.js +205 -0
  615. package/dist/features/packs/manifest-decl.d.ts +13 -0
  616. package/dist/features/packs/manifest-decl.js +121 -0
  617. package/dist/features/packs/manifest.d.ts +7 -0
  618. package/dist/features/packs/manifest.js +95 -0
  619. package/dist/features/packs/params.d.ts +2 -0
  620. package/dist/features/packs/params.js +90 -0
  621. package/dist/features/packs/registry.d.ts +11 -0
  622. package/dist/features/packs/registry.js +136 -0
  623. package/dist/features/packs/selftest.d.ts +3 -0
  624. package/dist/features/packs/selftest.js +144 -0
  625. package/dist/features/records/bug-grammar.d.ts +17 -0
  626. package/dist/features/records/bug-grammar.js +128 -0
  627. package/dist/features/records/bug-registry.d.ts +9 -0
  628. package/dist/features/records/bug-registry.js +67 -0
  629. package/dist/features/records/bug-rows-immutable.d.ts +3 -0
  630. package/dist/features/records/bug-rows-immutable.js +52 -0
  631. package/dist/features/records/bugs.d.ts +2 -0
  632. package/dist/features/records/bugs.js +24 -0
  633. package/dist/features/records/docs-lines.d.ts +16 -0
  634. package/dist/features/records/docs-lines.js +36 -0
  635. package/dist/features/records/docs-prose.d.ts +14 -0
  636. package/dist/features/records/docs-prose.js +252 -0
  637. package/dist/features/records/docs-structure.d.ts +17 -0
  638. package/dist/features/records/docs-structure.js +223 -0
  639. package/dist/features/records/docs.d.ts +9 -0
  640. package/dist/features/records/docs.js +238 -0
  641. package/dist/features/records/history-checks.d.ts +6 -0
  642. package/dist/features/records/history-checks.js +94 -0
  643. package/dist/features/records/history-parse.d.ts +16 -0
  644. package/dist/features/records/history-parse.js +101 -0
  645. package/dist/features/records/history-scope.d.ts +5 -0
  646. package/dist/features/records/history-scope.js +86 -0
  647. package/dist/features/records/history.d.ts +3 -0
  648. package/dist/features/records/history.js +5 -0
  649. package/dist/features/records/index.d.ts +8 -0
  650. package/dist/features/records/index.js +11 -0
  651. package/dist/features/remediation/adoption.d.ts +32 -0
  652. package/dist/features/remediation/adoption.js +142 -0
  653. package/dist/features/remediation/index.d.ts +12 -0
  654. package/dist/features/remediation/index.js +21 -0
  655. package/dist/features/remediation/plan-chains.d.ts +3 -0
  656. package/dist/features/remediation/plan-chains.js +111 -0
  657. package/dist/features/remediation/plan-generate.d.ts +3 -0
  658. package/dist/features/remediation/plan-generate.js +129 -0
  659. package/dist/features/remediation/plan-kinds.d.ts +32 -0
  660. package/dist/features/remediation/plan-kinds.js +42 -0
  661. package/dist/features/remediation/plan-markers.d.ts +2 -0
  662. package/dist/features/remediation/plan-markers.js +155 -0
  663. package/dist/features/remediation/plan-merge.d.ts +6 -0
  664. package/dist/features/remediation/plan-merge.js +33 -0
  665. package/dist/features/remediation/plan.d.ts +4 -0
  666. package/dist/features/remediation/plan.js +7 -0
  667. package/dist/features/remediation/step-floor.d.ts +5 -0
  668. package/dist/features/remediation/step-floor.js +76 -0
  669. package/dist/features/remediation/step-gates.d.ts +18 -0
  670. package/dist/features/remediation/step-gates.js +77 -0
  671. package/dist/features/remediation/step-split.d.ts +12 -0
  672. package/dist/features/remediation/step-split.js +75 -0
  673. package/dist/features/remediation/steps.d.ts +3 -0
  674. package/dist/features/remediation/steps.js +6 -0
  675. package/dist/features/remediation/types.d.ts +37 -0
  676. package/dist/features/remediation/types.js +1 -0
  677. package/dist/features/security/index.d.ts +12 -0
  678. package/dist/features/security/index.js +142 -0
  679. package/dist/features/steering/agent-assets.d.ts +7 -0
  680. package/dist/features/steering/agent-assets.js +75 -0
  681. package/dist/features/steering/budgets.d.ts +20 -0
  682. package/dist/features/steering/budgets.js +86 -0
  683. package/dist/features/steering/checks.d.ts +7 -0
  684. package/dist/features/steering/checks.js +67 -0
  685. package/dist/features/steering/context-file.d.ts +11 -0
  686. package/dist/features/steering/context-file.js +107 -0
  687. package/dist/features/steering/graph-scan.d.ts +7 -0
  688. package/dist/features/steering/graph-scan.js +17 -0
  689. package/dist/features/steering/index.d.ts +30 -0
  690. package/dist/features/steering/index.js +45 -0
  691. package/dist/features/steering/injection.d.ts +23 -0
  692. package/dist/features/steering/injection.js +124 -0
  693. package/dist/features/steering/mcp.d.ts +2 -0
  694. package/dist/features/steering/mcp.js +18 -0
  695. package/dist/features/steering/precedence.d.ts +10 -0
  696. package/dist/features/steering/precedence.js +28 -0
  697. package/dist/features/steering/read-cache.d.ts +13 -0
  698. package/dist/features/steering/read-cache.js +51 -0
  699. package/dist/features/testing/base.d.ts +1 -0
  700. package/dist/features/testing/base.js +8 -0
  701. package/dist/features/testing/covers.d.ts +8 -0
  702. package/dist/features/testing/covers.js +50 -0
  703. package/dist/features/testing/evaluate.d.ts +19 -0
  704. package/dist/features/testing/evaluate.js +47 -0
  705. package/dist/features/testing/index.d.ts +10 -0
  706. package/dist/features/testing/index.js +13 -0
  707. package/dist/features/testing/integrity.d.ts +28 -0
  708. package/dist/features/testing/integrity.js +140 -0
  709. package/dist/features/testing/ledger.d.ts +11 -0
  710. package/dist/features/testing/ledger.js +51 -0
  711. package/dist/features/testing/proofs.d.ts +26 -0
  712. package/dist/features/testing/proofs.js +88 -0
  713. package/dist/features/testing/report.d.ts +6 -0
  714. package/dist/features/testing/report.js +16 -0
  715. package/dist/features/testing/scenarios.d.ts +34 -0
  716. package/dist/features/testing/scenarios.js +112 -0
  717. package/dist/features/testing/tap-parser.d.ts +9 -0
  718. package/dist/features/testing/tap-parser.js +96 -0
  719. package/dist/features/testing/trace.d.ts +23 -0
  720. package/dist/features/testing/trace.js +110 -0
  721. package/dist/features/workflow/index.d.ts +14 -0
  722. package/dist/features/workflow/index.js +19 -0
  723. package/dist/features/workflow/loop.d.ts +5 -0
  724. package/dist/features/workflow/loop.js +36 -0
  725. package/dist/features/workflow/phases.d.ts +10 -0
  726. package/dist/features/workflow/phases.js +184 -0
  727. package/dist/features/workflow/review.d.ts +25 -0
  728. package/dist/features/workflow/review.js +119 -0
  729. package/dist/features/workflow/tasks.d.ts +73 -0
  730. package/dist/features/workflow/tasks.js +80 -0
  731. package/dist/features/workflow/writes.d.ts +8 -0
  732. package/dist/features/workflow/writes.js +96 -0
  733. package/dist/kernel/clock.d.ts +4 -0
  734. package/dist/kernel/clock.js +5 -0
  735. package/dist/kernel/config-keys.d.ts +2 -0
  736. package/dist/kernel/config-keys.js +5 -0
  737. package/dist/kernel/config-toml-keys.d.ts +2 -0
  738. package/dist/kernel/config-toml-keys.js +237 -0
  739. package/dist/kernel/config-yaml-keys.d.ts +2 -0
  740. package/dist/kernel/config-yaml-keys.js +177 -0
  741. package/dist/kernel/contracts.d.ts +76 -0
  742. package/dist/kernel/contracts.js +9 -0
  743. package/dist/kernel/entry.d.ts +1 -0
  744. package/dist/kernel/entry.js +31 -0
  745. package/dist/kernel/env.d.ts +4 -0
  746. package/dist/kernel/env.js +5 -0
  747. package/dist/kernel/errors.d.ts +7 -0
  748. package/dist/kernel/errors.js +6 -0
  749. package/dist/kernel/fs-confine.d.ts +14 -0
  750. package/dist/kernel/fs-confine.js +129 -0
  751. package/dist/kernel/fs-errors.d.ts +8 -0
  752. package/dist/kernel/fs-errors.js +37 -0
  753. package/dist/kernel/fs.d.ts +28 -0
  754. package/dist/kernel/fs.js +245 -0
  755. package/dist/kernel/git.d.ts +16 -0
  756. package/dist/kernel/git.js +128 -0
  757. package/dist/kernel/glob.d.ts +1 -0
  758. package/dist/kernel/glob.js +178 -0
  759. package/dist/kernel/hash.d.ts +3 -0
  760. package/dist/kernel/hash.js +12 -0
  761. package/dist/kernel/host.d.ts +3 -0
  762. package/dist/kernel/host.js +48 -0
  763. package/dist/kernel/index.d.ts +115 -0
  764. package/dist/kernel/index.js +33 -0
  765. package/dist/kernel/json.d.ts +4 -0
  766. package/dist/kernel/json.js +68 -0
  767. package/dist/kernel/net-allow.d.ts +8 -0
  768. package/dist/kernel/net-allow.js +45 -0
  769. package/dist/kernel/net-fetch.d.ts +5 -0
  770. package/dist/kernel/net-fetch.js +135 -0
  771. package/dist/kernel/net.d.ts +10 -0
  772. package/dist/kernel/net.js +24 -0
  773. package/dist/kernel/path.d.ts +3 -0
  774. package/dist/kernel/path.js +40 -0
  775. package/dist/kernel/pattern.d.ts +2 -0
  776. package/dist/kernel/pattern.js +150 -0
  777. package/dist/kernel/proc.d.ts +6 -0
  778. package/dist/kernel/proc.js +207 -0
  779. package/dist/kernel/read-cache.d.ts +6 -0
  780. package/dist/kernel/read-cache.js +27 -0
  781. package/dist/kernel/redact.d.ts +1 -0
  782. package/dist/kernel/redact.js +206 -0
  783. package/dist/kernel/repo-root.d.ts +3 -0
  784. package/dist/kernel/repo-root.js +29 -0
  785. package/dist/kernel/result.d.ts +10 -0
  786. package/dist/kernel/result.js +6 -0
  787. package/dist/kernel/schema-helpers.d.ts +11 -0
  788. package/dist/kernel/schema-helpers.js +101 -0
  789. package/dist/kernel/schema.d.ts +2 -0
  790. package/dist/kernel/schema.js +203 -0
  791. package/dist/kernel/secret-paths.d.ts +3 -0
  792. package/dist/kernel/secret-paths.js +70 -0
  793. package/dist/kernel/shell-bypass.d.ts +4 -0
  794. package/dist/kernel/shell-bypass.js +151 -0
  795. package/dist/kernel/shell-cmd.d.ts +6 -0
  796. package/dist/kernel/shell-cmd.js +213 -0
  797. package/dist/kernel/shell-deny-cmd.d.ts +7 -0
  798. package/dist/kernel/shell-deny-cmd.js +35 -0
  799. package/dist/kernel/shell-deny-destroy.d.ts +7 -0
  800. package/dist/kernel/shell-deny-destroy.js +71 -0
  801. package/dist/kernel/shell-deny-escalate.d.ts +7 -0
  802. package/dist/kernel/shell-deny-escalate.js +96 -0
  803. package/dist/kernel/shell-deny-target.d.ts +4 -0
  804. package/dist/kernel/shell-deny-target.js +51 -0
  805. package/dist/kernel/shell-deny.d.ts +8 -0
  806. package/dist/kernel/shell-deny.js +171 -0
  807. package/dist/kernel/shell-scan.d.ts +3 -0
  808. package/dist/kernel/shell-scan.js +226 -0
  809. package/dist/kernel/shell-word.d.ts +15 -0
  810. package/dist/kernel/shell-word.js +216 -0
  811. package/dist/kernel/shell.d.ts +22 -0
  812. package/dist/kernel/shell.js +2 -0
  813. package/dist/kernel/stdin.d.ts +2 -0
  814. package/dist/kernel/stdin.js +59 -0
  815. package/dist/kernel/test-report.d.ts +7 -0
  816. package/dist/kernel/test-report.js +112 -0
  817. package/dist/kernel/version.d.ts +2 -0
  818. package/dist/kernel/version.js +46 -0
  819. package/dist/tsconfig.build.tsbuildinfo +1 -0
  820. package/package.json +19 -11
  821. package/schema/accepted.schema.json +20 -0
  822. package/schema/baseline.schema.json +17 -0
  823. package/schema/capability.schema.json +31 -0
  824. package/schema/cli/error.schema.json +15 -0
  825. package/schema/cli/explain.schema.json +19 -0
  826. package/schema/cli/report.schema.json +15 -0
  827. package/schema/cli/status.schema.json +51 -0
  828. package/schema/cli/verify.schema.json +15 -0
  829. package/schema/config.schema.json +43 -0
  830. package/schema/event-log.schema.json +52 -0
  831. package/schema/hook-decision.schema.json +13 -0
  832. package/schema/hook-event.schema.json +50 -0
  833. package/schema/manifest.schema.json +26 -0
  834. package/schema/pack-draft.schema.json +42 -0
  835. package/schema/pack.schema.json +70 -0
  836. package/schema/registry-snapshot.schema.json +41 -0
  837. package/schema/remediation-plan.schema.json +44 -0
  838. package/schema/review-findings.schema.json +25 -0
  839. package/schema/task-record.schema.json +49 -0
  840. package/schema/waivers.schema.json +29 -0
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/dep-new-needs-reason",
3
+ "section": "§5.3",
4
+ "expectation": "passing",
5
+ "trigger": "new dependency with no recorded reason",
6
+ "expectRules": [],
7
+ "files": {
8
+ "sample.txt": "added: lodash\nreason: debounce for the resize handler\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/dep-new-needs-reason",
3
+ "section": "§5.3",
4
+ "expectation": "violating",
5
+ "trigger": "new dependency with no recorded reason",
6
+ "expectRules": ["core/dep-new-needs-reason"],
7
+ "files": {
8
+ "sample.txt": "added: lodash\nreason: none\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/dep-no-deprecated",
3
+ "section": "§5.3",
4
+ "expectation": "passing",
5
+ "trigger": "dependency marked deprecated upstream",
6
+ "expectRules": [],
7
+ "files": {
8
+ "sample.txt": "dep: got@12.6.1\nstatus: supported\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/dep-no-deprecated",
3
+ "section": "§5.3",
4
+ "expectation": "violating",
5
+ "trigger": "dependency marked deprecated upstream",
6
+ "expectRules": ["core/dep-no-deprecated"],
7
+ "files": {
8
+ "sample.txt": "dep: request@2.88.2\nstatus: deprecated\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/dep-no-vulnerable",
3
+ "section": "§5.3",
4
+ "expectation": "passing",
5
+ "trigger": "dependency with a known advisory",
6
+ "expectRules": [],
7
+ "files": {
8
+ "sample.txt": "dep: minimist@1.2.8\nadvisory: none\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/dep-no-vulnerable",
3
+ "section": "§5.3",
4
+ "expectation": "violating",
5
+ "trigger": "dependency with a known advisory",
6
+ "expectRules": ["core/dep-no-vulnerable"],
7
+ "files": {
8
+ "sample.txt": "dep: minimist@1.2.5\nadvisory: GHSA-x\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/dep-one-per-capability",
3
+ "section": "§5.3",
4
+ "expectation": "passing",
5
+ "trigger": "two HTTP clients for one capability",
6
+ "expectRules": [],
7
+ "files": {
8
+ "sample.txt": "http: platform fetch\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/dep-one-per-capability",
3
+ "section": "§5.3",
4
+ "expectation": "violating",
5
+ "trigger": "two HTTP clients for one capability",
6
+ "expectRules": ["core/dep-one-per-capability"],
7
+ "files": {
8
+ "sample.txt": "http: axios + got\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/diagnose-before-fix",
3
+ "section": "§5.8",
4
+ "expectation": "passing",
5
+ "trigger": "fix with no diagnosis record",
6
+ "expectRules": [],
7
+ "files": {
8
+ "sample.txt": "fix: retry loop\ndiagnosis: recorded\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/diagnose-before-fix",
3
+ "section": "§5.8",
4
+ "expectation": "violating",
5
+ "trigger": "fix with no diagnosis record",
6
+ "expectRules": ["core/diagnose-before-fix"],
7
+ "files": {
8
+ "sample.txt": "fix: retry loop\ndiagnosis: none\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/doc-breadth",
3
+ "section": "§5.10",
4
+ "expectation": "passing",
5
+ "trigger": "doc with 30 headings over a 15 limit",
6
+ "expectRules": [],
7
+ "files": {
8
+ "sample.txt": "h2: 8\nfiles-in-folder: 12\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/doc-breadth",
3
+ "section": "§5.10",
4
+ "expectation": "violating",
5
+ "trigger": "doc with 30 headings over a 15 limit",
6
+ "expectRules": ["core/doc-breadth"],
7
+ "files": {
8
+ "sample.txt": "h2: 30\nfiles-in-folder: 55\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/doc-density",
3
+ "section": "§5.10",
4
+ "expectation": "passing",
5
+ "trigger": "sentence with 70 words over a 40 limit",
6
+ "expectRules": [],
7
+ "files": {
8
+ "sample.txt": "sentence-words: 18\nparagraph-sentences: 4\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/doc-density",
3
+ "section": "§5.10",
4
+ "expectation": "violating",
5
+ "trigger": "sentence with 70 words over a 40 limit",
6
+ "expectRules": ["core/doc-density"],
7
+ "files": {
8
+ "sample.txt": "sentence-words: 70\nparagraph-sentences: 12\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/doc-links-valid",
3
+ "section": "§5.10",
4
+ "expectation": "passing",
5
+ "trigger": "link to a missing doc",
6
+ "expectRules": [],
7
+ "files": {
8
+ "sample.txt": "link: docs/PRD.md\nstatus: 200\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/doc-links-valid",
3
+ "section": "§5.10",
4
+ "expectation": "violating",
5
+ "trigger": "link to a missing doc",
6
+ "expectRules": ["core/doc-links-valid"],
7
+ "files": {
8
+ "sample.txt": "link: docs/MISSING.md\nstatus: 404\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/doc-no-corpus-counts",
3
+ "section": "§5.10",
4
+ "expectation": "passing",
5
+ "trigger": "hardcoded corpus count in a doc",
6
+ "expectRules": [],
7
+ "files": {
8
+ "sample.txt": "text: no counts\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/doc-no-corpus-counts",
3
+ "section": "§5.10",
4
+ "expectation": "violating",
5
+ "trigger": "hardcoded corpus count in a doc",
6
+ "expectRules": ["core/doc-no-corpus-counts"],
7
+ "files": {
8
+ "sample.txt": "text: The repository has 1,234 rules.\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/doc-no-inline-changelog",
3
+ "section": "§5.10",
4
+ "expectation": "passing",
5
+ "trigger": "inline changelog section in a doc",
6
+ "expectRules": [],
7
+ "files": {
8
+ "sample.txt": "section: none\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/doc-no-inline-changelog",
3
+ "section": "§5.10",
4
+ "expectation": "violating",
5
+ "trigger": "inline changelog section in a doc",
6
+ "expectRules": ["core/doc-no-inline-changelog"],
7
+ "files": {
8
+ "sample.txt": "section: ## Changelog\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/doc-one-level",
3
+ "section": "§5.10",
4
+ "expectation": "passing",
5
+ "trigger": "docs nested three levels deep",
6
+ "expectRules": [],
7
+ "files": {
8
+ "sample.txt": "path: docs/guide.md\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/doc-one-level",
3
+ "section": "§5.10",
4
+ "expectation": "violating",
5
+ "trigger": "docs nested three levels deep",
6
+ "expectRules": ["core/doc-one-level"],
7
+ "files": {
8
+ "sample.txt": "path: docs/a/b/c.md\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/doc-placement",
3
+ "section": "§5.10",
4
+ "expectation": "passing",
5
+ "trigger": "doc under docs/ inside the allowlist",
6
+ "expectRules": [],
7
+ "files": {
8
+ "docs/NOTES.md": "# Notes\n\nProject notes live here.\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/doc-placement",
3
+ "section": "§5.10",
4
+ "expectation": "violating",
5
+ "trigger": "doc at the repo root outside the allowlist",
6
+ "expectRules": ["core/doc-placement"],
7
+ "files": {
8
+ "NOTES.md": "# Notes\n\nProject notes live here.\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/doc-router-leaf",
3
+ "section": "§5.10",
4
+ "expectation": "passing",
5
+ "trigger": "folder without its router leaf",
6
+ "expectRules": [],
7
+ "files": {
8
+ "sample.txt": "folder: GUIDE/\nrouter: GUIDE.md\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/doc-router-leaf",
3
+ "section": "§5.10",
4
+ "expectation": "violating",
5
+ "trigger": "folder without its router leaf",
6
+ "expectRules": ["core/doc-router-leaf"],
7
+ "files": {
8
+ "sample.txt": "folder: GUIDE/\nrouter: missing\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/doc-single-owner",
3
+ "section": "§5.10",
4
+ "expectation": "passing",
5
+ "trigger": "fact stated in two docs at once",
6
+ "expectRules": [],
7
+ "files": {
8
+ "sample.txt": "fact: budget value\nowners: 1\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/doc-single-owner",
3
+ "section": "§5.10",
4
+ "expectation": "violating",
5
+ "trigger": "fact stated in two docs at once",
6
+ "expectRules": ["core/doc-single-owner"],
7
+ "files": {
8
+ "sample.txt": "fact: budget value\nowners: 2\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/doc-size",
3
+ "section": "§5.10",
4
+ "expectation": "passing",
5
+ "trigger": "doc with 200 lines under every limit",
6
+ "expectRules": [],
7
+ "files": {
8
+ "docs/guide.md": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/doc-size",
3
+ "section": "§5.10",
4
+ "expectation": "violating",
5
+ "trigger": "doc with 520 lines over a 500 limit",
6
+ "expectRules": ["core/doc-size"],
7
+ "files": {
8
+ "docs/guide.md": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/duplication",
3
+ "section": "§5.6",
4
+ "expectation": "passing",
5
+ "trigger": "duplicated token run of 80 over a 50 limit",
6
+ "expectRules": [],
7
+ "files": {
8
+ "sample.txt": "duplicated-tokens: 12\nlimit: 50\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/duplication",
3
+ "section": "§5.6",
4
+ "expectation": "violating",
5
+ "trigger": "duplicated token run of 80 over a 50 limit",
6
+ "expectRules": ["core/duplication"],
7
+ "files": {
8
+ "sample.txt": "duplicated-tokens: 80\nlimit: 50\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/engine-version-match",
3
+ "section": "§5.12",
4
+ "expectation": "passing",
5
+ "trigger": "pack version equal to the engine",
6
+ "expectRules": [],
7
+ "files": {
8
+ "engine.json": "{\"engine\": \"1.3.0\", \"pack\": \"1.3.0\"}\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/engine-version-match",
3
+ "section": "§5.12",
4
+ "expectation": "violating",
5
+ "trigger": "pack version ahead of the engine",
6
+ "expectRules": ["core/engine-version-match"],
7
+ "files": {
8
+ "engine.json": "{\"engine\": \"1.2.0\", \"pack\": \"1.3.0\"}\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/file-naming",
3
+ "section": "§5.11",
4
+ "expectation": "passing",
5
+ "trigger": "source file outside kebab-case",
6
+ "expectRules": [],
7
+ "files": {
8
+ "sample.txt": "file: my-util.ts\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/file-naming",
3
+ "section": "§5.11",
4
+ "expectation": "violating",
5
+ "trigger": "source file outside kebab-case",
6
+ "expectRules": ["core/file-naming"],
7
+ "files": {
8
+ "sample.txt": "file: MyUtil.TS\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/file-size",
3
+ "section": "§5.6",
4
+ "expectation": "passing",
5
+ "trigger": "source file with 120 lines under a 300 limit",
6
+ "expectRules": [],
7
+ "files": {
8
+ "src/small.ts": "export const row001 = 1;\nexport const row002 = 1;\nexport const row003 = 1;\nexport const row004 = 1;\nexport const row005 = 1;\nexport const row006 = 1;\nexport const row007 = 1;\nexport const row008 = 1;\nexport const row009 = 1;\nexport const row010 = 1;\nexport const row011 = 1;\nexport const row012 = 1;\nexport const row013 = 1;\nexport const row014 = 1;\nexport const row015 = 1;\nexport const row016 = 1;\nexport const row017 = 1;\nexport const row018 = 1;\nexport const row019 = 1;\nexport const row020 = 1;\nexport const row021 = 1;\nexport const row022 = 1;\nexport const row023 = 1;\nexport const row024 = 1;\nexport const row025 = 1;\nexport const row026 = 1;\nexport const row027 = 1;\nexport const row028 = 1;\nexport const row029 = 1;\nexport const row030 = 1;\nexport const row031 = 1;\nexport const row032 = 1;\nexport const row033 = 1;\nexport const row034 = 1;\nexport const row035 = 1;\nexport const row036 = 1;\nexport const row037 = 1;\nexport const row038 = 1;\nexport const row039 = 1;\nexport const row040 = 1;\nexport const row041 = 1;\nexport const row042 = 1;\nexport const row043 = 1;\nexport const row044 = 1;\nexport const row045 = 1;\nexport const row046 = 1;\nexport const row047 = 1;\nexport const row048 = 1;\nexport const row049 = 1;\nexport const row050 = 1;\nexport const row051 = 1;\nexport const row052 = 1;\nexport const row053 = 1;\nexport const row054 = 1;\nexport const row055 = 1;\nexport const row056 = 1;\nexport const row057 = 1;\nexport const row058 = 1;\nexport const row059 = 1;\nexport const row060 = 1;\nexport const row061 = 1;\nexport const row062 = 1;\nexport const row063 = 1;\nexport const row064 = 1;\nexport const row065 = 1;\nexport const row066 = 1;\nexport const row067 = 1;\nexport const row068 = 1;\nexport const row069 = 1;\nexport const row070 = 1;\nexport const row071 = 1;\nexport const row072 = 1;\nexport const row073 = 1;\nexport const row074 = 1;\nexport const row075 = 1;\nexport const row076 = 1;\nexport const row077 = 1;\nexport const row078 = 1;\nexport const row079 = 1;\nexport const row080 = 1;\nexport const row081 = 1;\nexport const row082 = 1;\nexport const row083 = 1;\nexport const row084 = 1;\nexport const row085 = 1;\nexport const row086 = 1;\nexport const row087 = 1;\nexport const row088 = 1;\nexport const row089 = 1;\nexport const row090 = 1;\nexport const row091 = 1;\nexport const row092 = 1;\nexport const row093 = 1;\nexport const row094 = 1;\nexport const row095 = 1;\nexport const row096 = 1;\nexport const row097 = 1;\nexport const row098 = 1;\nexport const row099 = 1;\nexport const row100 = 1;\nexport const row101 = 1;\nexport const row102 = 1;\nexport const row103 = 1;\nexport const row104 = 1;\nexport const row105 = 1;\nexport const row106 = 1;\nexport const row107 = 1;\nexport const row108 = 1;\nexport const row109 = 1;\nexport const row110 = 1;\nexport const row111 = 1;\nexport const row112 = 1;\nexport const row113 = 1;\nexport const row114 = 1;\nexport const row115 = 1;\nexport const row116 = 1;\nexport const row117 = 1;\nexport const row118 = 1;\nexport const row119 = 1;\nexport const row120 = 1;\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/file-size",
3
+ "section": "§5.6",
4
+ "expectation": "violating",
5
+ "trigger": "source file with 320 lines over a 300 limit",
6
+ "expectRules": ["core/file-size"],
7
+ "files": {
8
+ "src/big.ts": "export const row001 = 1;\nexport const row002 = 1;\nexport const row003 = 1;\nexport const row004 = 1;\nexport const row005 = 1;\nexport const row006 = 1;\nexport const row007 = 1;\nexport const row008 = 1;\nexport const row009 = 1;\nexport const row010 = 1;\nexport const row011 = 1;\nexport const row012 = 1;\nexport const row013 = 1;\nexport const row014 = 1;\nexport const row015 = 1;\nexport const row016 = 1;\nexport const row017 = 1;\nexport const row018 = 1;\nexport const row019 = 1;\nexport const row020 = 1;\nexport const row021 = 1;\nexport const row022 = 1;\nexport const row023 = 1;\nexport const row024 = 1;\nexport const row025 = 1;\nexport const row026 = 1;\nexport const row027 = 1;\nexport const row028 = 1;\nexport const row029 = 1;\nexport const row030 = 1;\nexport const row031 = 1;\nexport const row032 = 1;\nexport const row033 = 1;\nexport const row034 = 1;\nexport const row035 = 1;\nexport const row036 = 1;\nexport const row037 = 1;\nexport const row038 = 1;\nexport const row039 = 1;\nexport const row040 = 1;\nexport const row041 = 1;\nexport const row042 = 1;\nexport const row043 = 1;\nexport const row044 = 1;\nexport const row045 = 1;\nexport const row046 = 1;\nexport const row047 = 1;\nexport const row048 = 1;\nexport const row049 = 1;\nexport const row050 = 1;\nexport const row051 = 1;\nexport const row052 = 1;\nexport const row053 = 1;\nexport const row054 = 1;\nexport const row055 = 1;\nexport const row056 = 1;\nexport const row057 = 1;\nexport const row058 = 1;\nexport const row059 = 1;\nexport const row060 = 1;\nexport const row061 = 1;\nexport const row062 = 1;\nexport const row063 = 1;\nexport const row064 = 1;\nexport const row065 = 1;\nexport const row066 = 1;\nexport const row067 = 1;\nexport const row068 = 1;\nexport const row069 = 1;\nexport const row070 = 1;\nexport const row071 = 1;\nexport const row072 = 1;\nexport const row073 = 1;\nexport const row074 = 1;\nexport const row075 = 1;\nexport const row076 = 1;\nexport const row077 = 1;\nexport const row078 = 1;\nexport const row079 = 1;\nexport const row080 = 1;\nexport const row081 = 1;\nexport const row082 = 1;\nexport const row083 = 1;\nexport const row084 = 1;\nexport const row085 = 1;\nexport const row086 = 1;\nexport const row087 = 1;\nexport const row088 = 1;\nexport const row089 = 1;\nexport const row090 = 1;\nexport const row091 = 1;\nexport const row092 = 1;\nexport const row093 = 1;\nexport const row094 = 1;\nexport const row095 = 1;\nexport const row096 = 1;\nexport const row097 = 1;\nexport const row098 = 1;\nexport const row099 = 1;\nexport const row100 = 1;\nexport const row101 = 1;\nexport const row102 = 1;\nexport const row103 = 1;\nexport const row104 = 1;\nexport const row105 = 1;\nexport const row106 = 1;\nexport const row107 = 1;\nexport const row108 = 1;\nexport const row109 = 1;\nexport const row110 = 1;\nexport const row111 = 1;\nexport const row112 = 1;\nexport const row113 = 1;\nexport const row114 = 1;\nexport const row115 = 1;\nexport const row116 = 1;\nexport const row117 = 1;\nexport const row118 = 1;\nexport const row119 = 1;\nexport const row120 = 1;\nexport const row121 = 1;\nexport const row122 = 1;\nexport const row123 = 1;\nexport const row124 = 1;\nexport const row125 = 1;\nexport const row126 = 1;\nexport const row127 = 1;\nexport const row128 = 1;\nexport const row129 = 1;\nexport const row130 = 1;\nexport const row131 = 1;\nexport const row132 = 1;\nexport const row133 = 1;\nexport const row134 = 1;\nexport const row135 = 1;\nexport const row136 = 1;\nexport const row137 = 1;\nexport const row138 = 1;\nexport const row139 = 1;\nexport const row140 = 1;\nexport const row141 = 1;\nexport const row142 = 1;\nexport const row143 = 1;\nexport const row144 = 1;\nexport const row145 = 1;\nexport const row146 = 1;\nexport const row147 = 1;\nexport const row148 = 1;\nexport const row149 = 1;\nexport const row150 = 1;\nexport const row151 = 1;\nexport const row152 = 1;\nexport const row153 = 1;\nexport const row154 = 1;\nexport const row155 = 1;\nexport const row156 = 1;\nexport const row157 = 1;\nexport const row158 = 1;\nexport const row159 = 1;\nexport const row160 = 1;\nexport const row161 = 1;\nexport const row162 = 1;\nexport const row163 = 1;\nexport const row164 = 1;\nexport const row165 = 1;\nexport const row166 = 1;\nexport const row167 = 1;\nexport const row168 = 1;\nexport const row169 = 1;\nexport const row170 = 1;\nexport const row171 = 1;\nexport const row172 = 1;\nexport const row173 = 1;\nexport const row174 = 1;\nexport const row175 = 1;\nexport const row176 = 1;\nexport const row177 = 1;\nexport const row178 = 1;\nexport const row179 = 1;\nexport const row180 = 1;\nexport const row181 = 1;\nexport const row182 = 1;\nexport const row183 = 1;\nexport const row184 = 1;\nexport const row185 = 1;\nexport const row186 = 1;\nexport const row187 = 1;\nexport const row188 = 1;\nexport const row189 = 1;\nexport const row190 = 1;\nexport const row191 = 1;\nexport const row192 = 1;\nexport const row193 = 1;\nexport const row194 = 1;\nexport const row195 = 1;\nexport const row196 = 1;\nexport const row197 = 1;\nexport const row198 = 1;\nexport const row199 = 1;\nexport const row200 = 1;\nexport const row201 = 1;\nexport const row202 = 1;\nexport const row203 = 1;\nexport const row204 = 1;\nexport const row205 = 1;\nexport const row206 = 1;\nexport const row207 = 1;\nexport const row208 = 1;\nexport const row209 = 1;\nexport const row210 = 1;\nexport const row211 = 1;\nexport const row212 = 1;\nexport const row213 = 1;\nexport const row214 = 1;\nexport const row215 = 1;\nexport const row216 = 1;\nexport const row217 = 1;\nexport const row218 = 1;\nexport const row219 = 1;\nexport const row220 = 1;\nexport const row221 = 1;\nexport const row222 = 1;\nexport const row223 = 1;\nexport const row224 = 1;\nexport const row225 = 1;\nexport const row226 = 1;\nexport const row227 = 1;\nexport const row228 = 1;\nexport const row229 = 1;\nexport const row230 = 1;\nexport const row231 = 1;\nexport const row232 = 1;\nexport const row233 = 1;\nexport const row234 = 1;\nexport const row235 = 1;\nexport const row236 = 1;\nexport const row237 = 1;\nexport const row238 = 1;\nexport const row239 = 1;\nexport const row240 = 1;\nexport const row241 = 1;\nexport const row242 = 1;\nexport const row243 = 1;\nexport const row244 = 1;\nexport const row245 = 1;\nexport const row246 = 1;\nexport const row247 = 1;\nexport const row248 = 1;\nexport const row249 = 1;\nexport const row250 = 1;\nexport const row251 = 1;\nexport const row252 = 1;\nexport const row253 = 1;\nexport const row254 = 1;\nexport const row255 = 1;\nexport const row256 = 1;\nexport const row257 = 1;\nexport const row258 = 1;\nexport const row259 = 1;\nexport const row260 = 1;\nexport const row261 = 1;\nexport const row262 = 1;\nexport const row263 = 1;\nexport const row264 = 1;\nexport const row265 = 1;\nexport const row266 = 1;\nexport const row267 = 1;\nexport const row268 = 1;\nexport const row269 = 1;\nexport const row270 = 1;\nexport const row271 = 1;\nexport const row272 = 1;\nexport const row273 = 1;\nexport const row274 = 1;\nexport const row275 = 1;\nexport const row276 = 1;\nexport const row277 = 1;\nexport const row278 = 1;\nexport const row279 = 1;\nexport const row280 = 1;\nexport const row281 = 1;\nexport const row282 = 1;\nexport const row283 = 1;\nexport const row284 = 1;\nexport const row285 = 1;\nexport const row286 = 1;\nexport const row287 = 1;\nexport const row288 = 1;\nexport const row289 = 1;\nexport const row290 = 1;\nexport const row291 = 1;\nexport const row292 = 1;\nexport const row293 = 1;\nexport const row294 = 1;\nexport const row295 = 1;\nexport const row296 = 1;\nexport const row297 = 1;\nexport const row298 = 1;\nexport const row299 = 1;\nexport const row300 = 1;\nexport const row301 = 1;\nexport const row302 = 1;\nexport const row303 = 1;\nexport const row304 = 1;\nexport const row305 = 1;\nexport const row306 = 1;\nexport const row307 = 1;\nexport const row308 = 1;\nexport const row309 = 1;\nexport const row310 = 1;\nexport const row311 = 1;\nexport const row312 = 1;\nexport const row313 = 1;\nexport const row314 = 1;\nexport const row315 = 1;\nexport const row316 = 1;\nexport const row317 = 1;\nexport const row318 = 1;\nexport const row319 = 1;\nexport const row320 = 1;\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/function-size",
3
+ "section": "§5.6",
4
+ "expectation": "passing",
5
+ "trigger": "function with 95 lines over a 40 limit",
6
+ "expectRules": [],
7
+ "files": {
8
+ "sample.txt": "function-lines: 28\nlimit: 40\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/function-size",
3
+ "section": "§5.6",
4
+ "expectation": "violating",
5
+ "trigger": "function with 95 lines over a 40 limit",
6
+ "expectRules": ["core/function-size"],
7
+ "files": {
8
+ "sample.txt": "function-lines: 95\nlimit: 40\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/graph-before-scan",
3
+ "section": "§5.1",
4
+ "expectation": "passing",
5
+ "trigger": "full-repo scan with no knowledge graph",
6
+ "expectRules": [],
7
+ "files": {
8
+ "sample.txt": "scan: graph-guided\nknowledge-graph: present\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/graph-before-scan",
3
+ "section": "§5.1",
4
+ "expectation": "violating",
5
+ "trigger": "full-repo scan with no knowledge graph",
6
+ "expectRules": ["core/graph-before-scan"],
7
+ "files": {
8
+ "sample.txt": "scan: full-repo grep\nknowledge-graph: absent\n"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "rule": "core/guardrail-manifest",
3
+ "section": "§5.12",
4
+ "expectation": "passing",
5
+ "trigger": "guardrail manifest missing",
6
+ "expectRules": [],
7
+ "files": {
8
+ "sample.txt": "manifest: present\n"
9
+ }
10
+ }