sourcecode 1.50.0__py3-none-any.whl → 1.51.0__py3-none-any.whl

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.
sourcecode/__init__.py CHANGED
@@ -1,3 +1,3 @@
1
1
  """sourcecode — Deterministic codebase context maps for AI coding agents."""
2
2
 
3
- __version__ = "1.50.0"
3
+ __version__ = "1.51.0"
@@ -536,6 +536,11 @@ _ALL_RULES: list[_Rule] = (
536
536
 
537
537
  SEVERITY_ORDER: dict[str, int] = {"critical": 0, "high": 1, "medium": 2, "low": 3}
538
538
 
539
+ # G-1: cap on total readiness deduction from low-severity (advisory, non-blocking)
540
+ # findings, so optional modernization cleanups cannot collapse the migration-readiness
541
+ # headline on a repo with zero blockers. See MigrationReport.finalize.
542
+ _LOW_SEVERITY_DEDUCTION_CAP: int = 15
543
+
539
544
 
540
545
  # ---------------------------------------------------------------------------
541
546
  # XML config rules (applied to Spring XML config files)
@@ -1022,11 +1027,17 @@ class MigrationReport:
1022
1027
  else:
1023
1028
  low_files.add(f.source_file)
1024
1029
 
1030
+ # G-1: low-severity findings are advisory (e.g. java.time modernization),
1031
+ # not Boot-2→3 blockers. Cap their total contribution so a repo with zero
1032
+ # blockers cannot score near zero on optional cleanups alone (mall: 96 low
1033
+ # findings dragged readiness to 4/100 despite 0 blocking, already on Boot 3).
1034
+ # Blockers (critical/high) stay uncapped — a genuinely blocked repo still
1035
+ # floors at 0 (shopizer: 301 blocking → 0/100, unchanged).
1025
1036
  deduction = (
1026
1037
  len(critical_files) * 15
1027
1038
  + len(high_files) * 8
1028
1039
  + len(medium_files) * 3
1029
- + len(low_files) * 1
1040
+ + min(len(low_files) * 1, _LOW_SEVERITY_DEDUCTION_CAP)
1030
1041
  )
1031
1042
  self.readiness_score = max(0, 100 - deduction)
1032
1043
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sourcecode
3
- Version: 1.50.0
3
+ Version: 1.51.0
4
4
  Summary: Persistent structural context and ultra-fast repeated analysis for AI coding agents
5
5
  License-File: LICENSE
6
6
  Keywords: agents,ai,codebase,context,developer-tools,llm
@@ -1,4 +1,4 @@
1
- sourcecode/__init__.py,sha256=pCkOXPgXyXxjAbBGF1i4NrzrWef2vm102RXTjjOE8go,103
1
+ sourcecode/__init__.py,sha256=_wGmSIirvZbvcf9uQNlNJs_jaX8mbucBaAgRR5jo_YA,103
2
2
  sourcecode/adaptive_scanner.py,sha256=XffluXKzJUXrMtjEiAOnSNPZnztdIcts17T9ouHeID0,10521
3
3
  sourcecode/architecture_analyzer.py,sha256=liCwQmLgb5vplohy8arjYxs_HOIv5C9MjLh_gY6bc5Q,44115
4
4
  sourcecode/architecture_summary.py,sha256=z34_6v7cSwy98cof2UVciGho7SCrZ93tiqMmq5WNzRQ,20405
@@ -31,7 +31,7 @@ sourcecode/graph_analyzer.py,sha256=DHR8fY69oU_Pi4SYaWboX6EoEFrctQKB9dsjpqwGMzw,
31
31
  sourcecode/license.py,sha256=i_X1bYdobL_z9OVuLiycnWEFSaaNhcKKuTd6G55U3_k,20747
32
32
  sourcecode/mcp_nudge.py,sha256=5ELU_ixzh6uA83NXLOZT8h00OhL53okfQdji3jyKOjg,2917
33
33
  sourcecode/metrics_analyzer.py,sha256=m0ENgtqKeBL17kUIK3fmGkgo7UfXBNHxCMj0H_Y5K7c,22750
34
- sourcecode/migrate_check.py,sha256=vowVIAxVaHU8vhZUEt-HrWrWM38m6a5INHJQGjEg5E0,55390
34
+ sourcecode/migrate_check.py,sha256=H8iy7Vk8cGL0dnR3ZkFPS20CtfF5LJWuzQVQE4awQ9s,56192
35
35
  sourcecode/openapi_surface.py,sha256=BTt0K-woZbkbWTN77IkqeBm_Okag9owR0848fmot8sk,16207
36
36
  sourcecode/output_budget.py,sha256=Js9yUlfQtPhqBl9R6wn_9UHVjjJc3GtLcqyfjf5t50Q,9869
37
37
  sourcecode/path_filters.py,sha256=EN1RGZRvLq5EcPgpjYV_IyCKVlAQQn2bbpEisQ5LpGg,3780
@@ -101,8 +101,8 @@ sourcecode/telemetry/consent.py,sha256=wLMvGNJeSSyZoNkQXpoUioY6mMv4Qdvuw7S9jAEWn
101
101
  sourcecode/telemetry/events.py,sha256=LtzYfaX9Ilckj5PTvAcTpDa9mLqDsYPDUiDkRa58piY,2580
102
102
  sourcecode/telemetry/filters.py,sha256=NHa5T-6DaZduQPFuC34jOqHWQgSizM-Ygq8aZ4j19ng,5834
103
103
  sourcecode/telemetry/transport.py,sha256=4gGHsq0WeY9VywEZXA3vUxykfiYnw9uuqfjAAec7F8o,1681
104
- sourcecode-1.50.0.dist-info/METADATA,sha256=AMKgfVLsoGpmtnK3Vk75eHizMToSqxiiPsoMzTA-res,34684
105
- sourcecode-1.50.0.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
106
- sourcecode-1.50.0.dist-info/entry_points.txt,sha256=ex3F9rmbXeyDIoFQHtkEqTsKSaJow8F0LrVu8XfIktQ,57
107
- sourcecode-1.50.0.dist-info/licenses/LICENSE,sha256=7DdHrU9Z_3e7dSvq4ISijZNjnuHo5NIHNiHDouMQ9JU,10491
108
- sourcecode-1.50.0.dist-info/RECORD,,
104
+ sourcecode-1.51.0.dist-info/METADATA,sha256=v-FRo1rN-BioZGvKK-WIC7mT3R-q3lQvXqyBXYj0s4U,34684
105
+ sourcecode-1.51.0.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
106
+ sourcecode-1.51.0.dist-info/entry_points.txt,sha256=ex3F9rmbXeyDIoFQHtkEqTsKSaJow8F0LrVu8XfIktQ,57
107
+ sourcecode-1.51.0.dist-info/licenses/LICENSE,sha256=7DdHrU9Z_3e7dSvq4ISijZNjnuHo5NIHNiHDouMQ9JU,10491
108
+ sourcecode-1.51.0.dist-info/RECORD,,