code-standards 7.11.2__tar.gz → 7.12.0__tar.gz

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 (119) hide show
  1. {code_standards-7.11.2 → code_standards-7.12.0}/PKG-INFO +5 -4
  2. {code_standards-7.11.2 → code_standards-7.12.0}/pyproject.toml +5 -4
  3. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/api.py +23 -32
  4. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/cli/main.py +1372 -565
  5. code_standards-7.12.0/src/sarj_standards/configs/cli-reference.v1.json +1 -0
  6. code_standards-7.12.0/src/sarj_standards/configs/eslint.application.mjs +2 -0
  7. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/configs/eslint.peers.json +2 -2
  8. code_standards-7.11.2/src/sarj_standards/configs/eslint.application.mjs → code_standards-7.12.0/src/sarj_standards/configs/eslint.strict.mjs +94 -94
  9. code_standards-7.12.0/src/sarj_standards/configs/ruff.application.toml +2 -0
  10. code_standards-7.11.2/src/sarj_standards/configs/ruff.application.toml → code_standards-7.12.0/src/sarj_standards/configs/ruff.strict.toml +12 -79
  11. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/configs/rule-calibration-campaign.v1.json +8 -0
  12. code_standards-7.12.0/src/sarj_standards/configs/rule-inventory.v1.json +1 -0
  13. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/configs/rule-ledger.json +3 -1
  14. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/configs/rule-warning-levels.v1.json +1 -1
  15. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/adoption/configs.py +2 -2
  16. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/adoption/doctor.py +15 -70
  17. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/adoption/hooks.py +38 -28
  18. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/adoption/launcher.py +14 -65
  19. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/adoption/manifest.py +0 -1
  20. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/adoption/scaffold.py +45 -50
  21. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/adoption/service.py +1 -6
  22. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/adoption/upgrade.py +2 -2
  23. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/diagnostics/analysis.schema.json +1 -0
  24. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/diagnostics/models.py +7 -0
  25. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/diagnostics/serialize.py +18 -0
  26. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/linting/analysis.py +2 -9
  27. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/linting/external.py +8 -7
  28. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/linting/library_policy.py +20 -17
  29. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/linting/runner.py +1 -0
  30. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/release/registry.py +38 -24
  31. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/release/rollout.py +86 -35
  32. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/repository/cli_reference_artifact.py +58 -64
  33. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/repository/config_generation.py +43 -14
  34. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/repository/docs.py +17 -5
  35. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/repository/third_party_catalog_artifact.py +30 -19
  36. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/schemas/rule-catalog.v1.json +1 -1
  37. code_standards-7.11.2/src/sarj_standards/configs/cli-reference.v1.json +0 -1
  38. code_standards-7.11.2/src/sarj_standards/configs/eslint.strict.mjs +0 -1236
  39. code_standards-7.11.2/src/sarj_standards/configs/ruff.strict.toml +0 -346
  40. code_standards-7.11.2/src/sarj_standards/configs/rule-inventory.v1.json +0 -1
  41. {code_standards-7.11.2 → code_standards-7.12.0}/.gitignore +0 -0
  42. {code_standards-7.11.2 → code_standards-7.12.0}/LICENSE +0 -0
  43. {code_standards-7.11.2 → code_standards-7.12.0}/README.md +0 -0
  44. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/__init__.py +0 -0
  45. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/__main__.py +0 -0
  46. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/_meta.py +0 -0
  47. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/cli/__init__.py +0 -0
  48. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/configs/Mintfile.mobile.strict +0 -0
  49. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/configs/basedpyright.python315-watch.json +0 -0
  50. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/configs/basedpyright.strict.json +0 -0
  51. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/configs/detekt.strict.yml +0 -0
  52. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/configs/doctor.config.json +0 -0
  53. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/configs/eslint-compact-formatter.mjs +0 -0
  54. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/configs/ktlint.strict.editorconfig +0 -0
  55. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/configs/markdownlint.strict.yaml +0 -0
  56. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/configs/mobile-tools.versions.json +0 -0
  57. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/configs/mobsf.strict.yml +0 -0
  58. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/configs/pyright.strict.json +0 -0
  59. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/configs/ruff.python315-watch.toml +0 -0
  60. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/configs/shellcheck.strict.rc +0 -0
  61. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/configs/swiftformat.strict +0 -0
  62. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/configs/swiftlint.strict.yml +0 -0
  63. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/configs/taplo.strict.toml +0 -0
  64. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/configs/yamllint.strict.yaml +0 -0
  65. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/__init__.py +0 -0
  66. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/adoption/__init__.py +0 -0
  67. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/adoption/exclusions.py +0 -0
  68. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/adoption/lifecycle.py +0 -0
  69. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/adoption/packagemanager.py +0 -0
  70. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/adoption/retired_suppressions.py +0 -0
  71. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/adoption/transaction.py +0 -0
  72. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/adoption/uvtool.py +0 -0
  73. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/catalogs/__init__.py +0 -0
  74. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/catalogs/slack_automations.py +0 -0
  75. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/corpus/__init__.py +0 -0
  76. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/corpus/manifest.py +0 -0
  77. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/corpus/snapshot.py +0 -0
  78. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/diagnostics/__init__.py +0 -0
  79. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/diagnostics/baseline.py +0 -0
  80. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/diagnostics/source.py +0 -0
  81. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/filesystem.py +0 -0
  82. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/linting/__init__.py +0 -0
  83. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/linting/mobile_tools.py +0 -0
  84. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/linting/policy.py +0 -0
  85. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/linting/textlint.py +0 -0
  86. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/release/__init__.py +0 -0
  87. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/release/_values.py +0 -0
  88. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/release/artifacts.py +0 -0
  89. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/release/causality.py +0 -0
  90. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/release/changes.py +0 -0
  91. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/release/process.py +0 -0
  92. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/release/publish.py +0 -0
  93. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/release/release_age.py +0 -0
  94. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/release/tags.py +0 -0
  95. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/release/typescript.py +0 -0
  96. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/repository/__init__.py +0 -0
  97. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/repository/comment_corpus.py +0 -0
  98. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/repository/hooks.py +0 -0
  99. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/repository/ledger.py +0 -0
  100. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/repository/repository.py +0 -0
  101. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/repository/rule_authoring.py +0 -0
  102. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/repository/rule_catalog_artifact.py +0 -0
  103. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/repository/rule_changes.py +0 -0
  104. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/repository/rule_inventory_artifact.py +0 -0
  105. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/repository/rule_lifecycle.py +0 -0
  106. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/repository/rule_maintenance.py +0 -0
  107. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/rules/__init__.py +0 -0
  108. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/rules/catalog.py +0 -0
  109. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/rules/contracts.py +0 -0
  110. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/rules/corpus_runner.py +0 -0
  111. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/rules/evaluation.py +0 -0
  112. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/rules/warning_levels.py +0 -0
  113. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/setup/__init__.py +0 -0
  114. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/libs/setup/repository.py +0 -0
  115. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/py.typed +0 -0
  116. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/schemas/__init__.py +0 -0
  117. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/schemas/_paths.py +0 -0
  118. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/schemas/rule-catalog.v1.schema.json +0 -0
  119. {code_standards-7.11.2 → code_standards-7.12.0}/src/sarj_standards/schemas/slack-automations.v1.schema.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: code-standards
3
- Version: 7.11.2
3
+ Version: 7.12.0
4
4
  Summary: One deterministic quality gate for Sarj Python, TypeScript, Swift, Kotlin, shell, SQL, IaC, and repository policy.
5
5
  Project-URL: Homepage, https://code-standards.sarj.ai/
6
6
  Project-URL: Documentation, https://code-standards.sarj.ai/cli/
@@ -26,11 +26,12 @@ Requires-Dist: pydantic==2.13.5
26
26
  Requires-Dist: pyyaml==6.0.3
27
27
  Requires-Dist: repo-standards==5.11.4
28
28
  Requires-Dist: ruff==0.16.5
29
- Requires-Dist: sarj-iac-lint==0.15.3
30
- Requires-Dist: sarj-python-lint==0.80.15
31
- Requires-Dist: sarj-sql-lint==0.16.11
29
+ Requires-Dist: sarj-iac-lint==0.15.4
30
+ Requires-Dist: sarj-python-lint==0.80.17
31
+ Requires-Dist: sarj-sql-lint==0.16.12
32
32
  Requires-Dist: semgrep==1.175.0
33
33
  Requires-Dist: shellcheck-py==0.11.0.1; (sys_platform == 'darwin' and platform_machine == 'arm64') or (sys_platform == 'darwin' and platform_machine == 'x86_64') or (sys_platform == 'linux' and platform_machine == 'x86_64') or (sys_platform == 'win32' and platform_machine == 'AMD64')
34
+ Requires-Dist: typer==0.27.2
34
35
  Description-Content-Type: text/markdown
35
36
 
36
37
  <!-- Generated by `code-standards maintain docs sync`; do not edit. -->
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "code-standards"
3
- version = "7.11.2"
3
+ version = "7.12.0"
4
4
  description = "One deterministic quality gate for Sarj Python, TypeScript, Swift, Kotlin, shell, SQL, IaC, and repository policy."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.14"
@@ -27,9 +27,10 @@ dependencies = [
27
27
  "ruff==0.16.5",
28
28
  "semgrep==1.175.0",
29
29
  "shellcheck-py==0.11.0.1; (sys_platform == 'darwin' and platform_machine == 'arm64') or (sys_platform == 'darwin' and platform_machine == 'x86_64') or (sys_platform == 'linux' and platform_machine == 'x86_64') or (sys_platform == 'win32' and platform_machine == 'AMD64')",
30
- "sarj-iac-lint==0.15.3",
31
- "sarj-python-lint==0.80.15",
32
- "sarj-sql-lint==0.16.11",
30
+ "sarj-iac-lint==0.15.4",
31
+ "sarj-python-lint==0.80.17",
32
+ "sarj-sql-lint==0.16.12",
33
+ "typer==0.27.2",
33
34
  ]
34
35
 
35
36
  [project.scripts]
@@ -207,11 +207,7 @@ class Standards:
207
207
  exit_code=_INVALID_EXIT,
208
208
  )
209
209
  try:
210
- policy_findings = (
211
- check_selected_library_policy(self.root, selected)
212
- if adopted is not None and adopted.profile == "application"
213
- else ()
214
- )
210
+ policy_findings = check_selected_library_policy(self.root, selected)
215
211
  except (OSError, TypeError, ValueError, ManifestPolicyError) as exc:
216
212
  return Result(
217
213
  Status.INVALID,
@@ -291,7 +287,7 @@ class Standards:
291
287
  grouped=selected_groups,
292
288
  rule_selection=rule_selection,
293
289
  )
294
- if adopted is not None and adopted.profile == "application" and rule_selection is None:
290
+ if rule_selection is None:
295
291
  try:
296
292
  policy = _filter_tool_report(_policy_report(self.root, active_selected), selection_policy)
297
293
  except (OSError, TypeError, ValueError, ManifestPolicyError) as exc:
@@ -310,7 +306,7 @@ class Standards:
310
306
  )
311
307
  )
312
308
  routed = _routed_for_selection(selected_groups, rule_selection)
313
- if adopted is not None and adopted.profile == "application":
309
+ if rule_selection is None:
314
310
  routed.update(
315
311
  item
316
312
  for item in active_selected
@@ -545,7 +541,7 @@ def _verify(root: Path) -> int:
545
541
  policy=policy,
546
542
  ):
547
543
  return 1
548
- if adopted is not None and adopted.profile == "application" and check_library_policy(root):
544
+ if check_library_policy(root):
549
545
  return 1
550
546
  return execute(verification_commands(detect(root)))
551
547
 
@@ -575,16 +571,17 @@ def _operation_result(
575
571
  *,
576
572
  findings: tuple[Finding, ...] = (),
577
573
  ) -> Result:
578
- if exit_code == 0:
579
- status = Status.CHANGED if changes else Status.OK
580
- elif exit_code == 1:
581
- status = Status.DRIFT
582
- elif exit_code == _INVALID_EXIT:
583
- status = Status.INVALID
584
- elif exit_code == _INTERRUPTED_EXIT:
585
- status = Status.INTERRUPTED
586
- else:
587
- status = Status.FAILED
574
+ match exit_code:
575
+ case 0:
576
+ status = Status.CHANGED if changes else Status.OK
577
+ case 1:
578
+ status = Status.DRIFT
579
+ case _ if exit_code == _INVALID_EXIT:
580
+ status = Status.INVALID
581
+ case _ if exit_code == _INTERRUPTED_EXIT:
582
+ status = Status.INTERRUPTED
583
+ case _:
584
+ status = Status.FAILED
588
585
  return Result(status, findings, changes, exit_code)
589
586
 
590
587
 
@@ -616,21 +613,15 @@ def _without_baselined_diagnostics(
616
613
  remaining[fingerprint] = budget - 1
617
614
  return False
618
615
 
619
- tools = tuple(
620
- ToolReport(
621
- item.name,
622
- item.completion,
623
- diagnostics=tuple(diagnostic for diagnostic in item.diagnostics if active(diagnostic)),
624
- issues=item.issues,
625
- analyzer_id=item.analyzer_id,
626
- invocation_id=item.invocation_id,
627
- version=item.version,
628
- duration_ms=item.duration_ms,
629
- file_count=item.file_count,
630
- cache_status=item.cache_status,
616
+ def filter_tool(item: ToolReport) -> ToolReport:
617
+ diagnostics = tuple(diagnostic for diagnostic in item.diagnostics if active(diagnostic))
618
+ return replace(
619
+ item,
620
+ diagnostics=diagnostics,
621
+ baselined_count=item.baselined_count + len(item.diagnostics) - len(diagnostics),
631
622
  )
632
- for item in report.tools
633
- )
623
+
624
+ tools = tuple(filter_tool(item) for item in report.tools)
634
625
  return report_from_tools(report.root, tools)
635
626
 
636
627