sourcecode 1.30.7__py3-none-any.whl → 1.30.8__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 +1 -1
- sourcecode/flow_analyzer.py +6 -5
- sourcecode/prepare_context.py +21 -17
- {sourcecode-1.30.7.dist-info → sourcecode-1.30.8.dist-info}/METADATA +3 -3
- {sourcecode-1.30.7.dist-info → sourcecode-1.30.8.dist-info}/RECORD +8 -8
- {sourcecode-1.30.7.dist-info → sourcecode-1.30.8.dist-info}/WHEEL +0 -0
- {sourcecode-1.30.7.dist-info → sourcecode-1.30.8.dist-info}/entry_points.txt +0 -0
- {sourcecode-1.30.7.dist-info → sourcecode-1.30.8.dist-info}/licenses/LICENSE +0 -0
sourcecode/__init__.py
CHANGED
sourcecode/flow_analyzer.py
CHANGED
|
@@ -364,7 +364,8 @@ def _domain_from_class(class_name: str) -> str:
|
|
|
364
364
|
|
|
365
365
|
|
|
366
366
|
def _impact_item(statement: str, support: str, certainty: str) -> dict:
|
|
367
|
-
|
|
367
|
+
truth_level = "observed" if certainty == "high" else "inferred"
|
|
368
|
+
return {"statement": statement, "support": support, "certainty": certainty, "truth_level": truth_level}
|
|
368
369
|
|
|
369
370
|
|
|
370
371
|
def _impact_descriptions(
|
|
@@ -380,14 +381,14 @@ def _impact_descriptions(
|
|
|
380
381
|
|
|
381
382
|
if changed_type in _REPO_ARTIFACT_TYPES:
|
|
382
383
|
items.append(_impact_item(
|
|
383
|
-
f"{domain} persistence affected" if domain else "persistence affected",
|
|
384
|
-
f"{changed_class}
|
|
384
|
+
f"{domain} persistence may be affected (inferred from path)" if domain else "persistence may be affected (inferred from path)",
|
|
385
|
+
f"{changed_class} classified as repository from path",
|
|
385
386
|
certainty,
|
|
386
387
|
))
|
|
387
388
|
elif changed_type in _SERVICE_ARTIFACT_TYPES:
|
|
388
389
|
if end_state == "DB write":
|
|
389
390
|
items.append(_impact_item(
|
|
390
|
-
f"{domain} persistence affected" if domain else "persistence affected",
|
|
391
|
+
f"{domain} persistence may be affected (repository with DB write in path)" if domain else "persistence may be affected (repository with DB write in path)",
|
|
391
392
|
f"{changed_class} delegates to repository with DB write",
|
|
392
393
|
certainty,
|
|
393
394
|
))
|
|
@@ -439,7 +440,7 @@ def _impact_descriptions_for_controller(
|
|
|
439
440
|
domain = d
|
|
440
441
|
break
|
|
441
442
|
items.append(_impact_item(
|
|
442
|
-
f"{domain} persistence affected" if domain else "data persistence affected",
|
|
443
|
+
f"{domain} persistence may be affected (repository with DB write in path)" if domain else "data persistence may be affected (repository with DB write in path)",
|
|
443
444
|
"repository with DB write detected in path",
|
|
444
445
|
certainty,
|
|
445
446
|
))
|
sourcecode/prepare_context.py
CHANGED
|
@@ -420,19 +420,19 @@ _ALL_EXTENSIONS: frozenset[str] = _SOURCE_EXTENSIONS | frozenset({
|
|
|
420
420
|
})
|
|
421
421
|
|
|
422
422
|
_ARTIFACT_CHANGE_EFFECT: dict[str, str] = {
|
|
423
|
-
"entrypoint": "
|
|
424
|
-
"controller": "
|
|
425
|
-
"service": "
|
|
426
|
-
"repository": "
|
|
427
|
-
"mapper": "
|
|
428
|
-
"security": "
|
|
429
|
-
"spring_config": "
|
|
430
|
-
"spring_profile": "
|
|
431
|
-
"config": "
|
|
423
|
+
"entrypoint": "may affect application startup, CLI entry, or framework bootstrap — all request flows may be affected (inferred from role)",
|
|
424
|
+
"controller": "may alter HTTP routing, API contract, or response shape — API consumers may be affected (inferred from role)",
|
|
425
|
+
"service": "may change business rules, transaction scope, or orchestration logic — callers and dependents may be affected (inferred from role)",
|
|
426
|
+
"repository": "may modify persistence queries or data access patterns — verify data consistency and service layer (inferred from role)",
|
|
427
|
+
"mapper": "may alter SQL-to-object binding or query templates — data shape and repositories may be affected (inferred from role)",
|
|
428
|
+
"security": "may change authentication flow, access control rules, or session handling — all secured endpoints may be affected (inferred from role)",
|
|
429
|
+
"spring_config": "may modify bean wiring, datasource, or framework-wide settings — wired beans potentially affected (inferred from role)",
|
|
430
|
+
"spring_profile": "may change environment-specific overrides — behavior may differ per active profile (inferred from role)",
|
|
431
|
+
"config": "may adjust configuration values — all modules reading this config may be affected (inferred from role)",
|
|
432
432
|
"build_manifest": "changes dependencies, plugins, or project structure — compile-time and runtime classpath affected",
|
|
433
433
|
"db_migration": "modifies database schema — existing queries, mappings, and constraints may break",
|
|
434
|
-
"domain_model": "
|
|
435
|
-
"dto": "
|
|
434
|
+
"domain_model": "may alter entity structure — may cascade to repositories, DTOs, serializers, and mappers (inferred from role)",
|
|
435
|
+
"dto": "may change data transfer contract — serialization and API consumers may break (inferred from role)",
|
|
436
436
|
"test": "modifies test coverage or test behavior — no production code affected",
|
|
437
437
|
"documentation": "updates documentation only — no runtime impact",
|
|
438
438
|
"ide_noise": "IDE/tooling artifact — no application impact",
|
|
@@ -976,7 +976,11 @@ class TaskContextBuilder:
|
|
|
976
976
|
"confidence": _f_conf,
|
|
977
977
|
"artifact_type": _f_atype,
|
|
978
978
|
"evidence": _evidence,
|
|
979
|
-
"change_effect":
|
|
979
|
+
"change_effect": {
|
|
980
|
+
"statement": _ARTIFACT_CHANGE_EFFECT.get(_f_atype, "may modify application logic (role inferred from path)"),
|
|
981
|
+
"truth_level": "inferred",
|
|
982
|
+
"confidence": _role_obj["confidence"],
|
|
983
|
+
},
|
|
980
984
|
})
|
|
981
985
|
|
|
982
986
|
if _build_artifact_files:
|
|
@@ -2521,19 +2525,19 @@ class TaskContextBuilder:
|
|
|
2521
2525
|
def _runtime_impact(tc: dict[str, int]) -> list[str]:
|
|
2522
2526
|
_ri: list[str] = []
|
|
2523
2527
|
if "entrypoint" in tc:
|
|
2524
|
-
_ri.append("
|
|
2528
|
+
_ri.append("Entrypoint-classified file modified — may require full context restart before deploy (role inferred from path)")
|
|
2525
2529
|
if "spring_config" in tc:
|
|
2526
|
-
_ri.append("Spring
|
|
2530
|
+
_ri.append("Spring config-classified file modified — wired beans may be rewired on restart (role inferred from path)")
|
|
2527
2531
|
if "security" in tc:
|
|
2528
|
-
_ri.append("Security
|
|
2532
|
+
_ri.append("Security-classified file modified — secured endpoints may be affected after restart (role inferred from path)")
|
|
2529
2533
|
if "db_migration" in tc:
|
|
2530
2534
|
_ri.append("Database schema migration pending — execute before deploying application")
|
|
2531
2535
|
_svc = tc.get("service", 0)
|
|
2532
2536
|
if _svc >= 2:
|
|
2533
|
-
_ri.append(f"{_svc} service(s) modified — verify transaction scope and data consistency")
|
|
2537
|
+
_ri.append(f"{_svc} service-classified file(s) modified — verify transaction scope and data consistency (role inferred from path)")
|
|
2534
2538
|
_repo = tc.get("repository", 0) + tc.get("mapper", 0)
|
|
2535
2539
|
if _repo > 0:
|
|
2536
|
-
_ri.append(f"{_repo} persistence component(s) modified — verify data access queries")
|
|
2540
|
+
_ri.append(f"{_repo} persistence-classified component(s) modified — verify data access queries (role inferred from path)")
|
|
2537
2541
|
if "build_manifest" in tc:
|
|
2538
2542
|
_ri.append("Build manifest modified — dependency resolution required before compile")
|
|
2539
2543
|
return _ri
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sourcecode
|
|
3
|
-
Version: 1.30.
|
|
3
|
+
Version: 1.30.8
|
|
4
4
|
Summary: Deterministic codebase context for AI coding agents
|
|
5
5
|
License: Apache License
|
|
6
6
|
Version 2.0, January 2004
|
|
@@ -221,7 +221,7 @@ Description-Content-Type: text/markdown
|
|
|
221
221
|
|
|
222
222
|
**Deterministic, behavior-aware codebase context for AI agents and PR review.**
|
|
223
223
|
|
|
224
|
-

|
|
225
225
|

|
|
226
226
|
|
|
227
227
|
---
|
|
@@ -257,7 +257,7 @@ pipx install sourcecode
|
|
|
257
257
|
|
|
258
258
|
```bash
|
|
259
259
|
sourcecode version
|
|
260
|
-
# sourcecode 1.30.
|
|
260
|
+
# sourcecode 1.30.8
|
|
261
261
|
```
|
|
262
262
|
|
|
263
263
|
---
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
sourcecode/__init__.py,sha256=
|
|
1
|
+
sourcecode/__init__.py,sha256=ZTKIQnHpjG7VondBXNLIMwX6gzyForHFvZeV8kZYQz0,103
|
|
2
2
|
sourcecode/adaptive_scanner.py,sha256=RTNExwWPXzjgLaRueT7UuxkPj5ZEToWjGbx1j0LSZ9E,10250
|
|
3
3
|
sourcecode/architecture_analyzer.py,sha256=MyBa0Hf5HmkudZQDLKrjcWDKETXETXl0mQX1swtTwAA,39091
|
|
4
4
|
sourcecode/architecture_summary.py,sha256=z34_6v7cSwy98cof2UVciGho7SCrZ93tiqMmq5WNzRQ,20405
|
|
@@ -17,11 +17,11 @@ sourcecode/doc_analyzer.py,sha256=afA4uJFwXZ_uR2l4J0pQwbeTkRkGmKdN9KhRVYePBUw,24
|
|
|
17
17
|
sourcecode/entrypoint_classifier.py,sha256=gvKgl0f5T8ol1r4JMmkeqGHuZTfZJiOwFOWdc7EYwYw,4061
|
|
18
18
|
sourcecode/env_analyzer.py,sha256=GxCidahAAIptTdDFIlVB6URd4HBnBlIX_SqUov3MBRQ,22076
|
|
19
19
|
sourcecode/file_classifier.py,sha256=48ly5Z6exkzBy8lNy1AkdP4-oJqIA1zT3LZfffuTyDo,11572
|
|
20
|
-
sourcecode/flow_analyzer.py,sha256=
|
|
20
|
+
sourcecode/flow_analyzer.py,sha256=jJZG-cQrENI7zc6kduNT1dLVtxY2EvJc95Te3Wam_Wk,27550
|
|
21
21
|
sourcecode/git_analyzer.py,sha256=_pCg2V4d2aa17k9hayTzpexAj8syvyk4y9NYNvvgOAI,12802
|
|
22
22
|
sourcecode/graph_analyzer.py,sha256=iUK-7pSV-cvGqqD2hENdYmhnm0wcXFEyK-xnu5ul8OU,62515
|
|
23
23
|
sourcecode/metrics_analyzer.py,sha256=m0ENgtqKeBL17kUIK3fmGkgo7UfXBNHxCMj0H_Y5K7c,22750
|
|
24
|
-
sourcecode/prepare_context.py,sha256=
|
|
24
|
+
sourcecode/prepare_context.py,sha256=7xFKv74lrZcSJHoIornaKJse-BxBNW83ig9tUudKxyI,140546
|
|
25
25
|
sourcecode/progress.py,sha256=qn30sWaHOkjTgXsSBmiPkz7Rsbwc5oSlIe6JNEMYp_k,3149
|
|
26
26
|
sourcecode/ranking_engine.py,sha256=virVglafZufioHpZpwktjMvUiL0TZELWQCQnQNV8dFo,9360
|
|
27
27
|
sourcecode/redactor.py,sha256=xuGcadGEHaPw4qZXlMDvzMCsr4VOkdp3oBQptHyJk8c,2884
|
|
@@ -62,8 +62,8 @@ sourcecode/telemetry/consent.py,sha256=wLMvGNJeSSyZoNkQXpoUioY6mMv4Qdvuw7S9jAEWn
|
|
|
62
62
|
sourcecode/telemetry/events.py,sha256=oEvvulfsv5GIDWG2174gSS6tNB95w38AIYiYeifGKlE,2294
|
|
63
63
|
sourcecode/telemetry/filters.py,sha256=Asa71oRl7q3Wt_FMwuufIZJFzSYdgRNKS8LHCIyFeYE,4805
|
|
64
64
|
sourcecode/telemetry/transport.py,sha256=KJeIPCPWMdmbCP3ySGs2iUlia34U6vWne2dZsUezesw,1560
|
|
65
|
-
sourcecode-1.30.
|
|
66
|
-
sourcecode-1.30.
|
|
67
|
-
sourcecode-1.30.
|
|
68
|
-
sourcecode-1.30.
|
|
69
|
-
sourcecode-1.30.
|
|
65
|
+
sourcecode-1.30.8.dist-info/METADATA,sha256=x5o5ME22JWbw9ul5OCF9T3He4VrSuAE9VAR6eUyIN_U,26770
|
|
66
|
+
sourcecode-1.30.8.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
|
|
67
|
+
sourcecode-1.30.8.dist-info/entry_points.txt,sha256=ex3F9rmbXeyDIoFQHtkEqTsKSaJow8F0LrVu8XfIktQ,57
|
|
68
|
+
sourcecode-1.30.8.dist-info/licenses/LICENSE,sha256=7DdHrU9Z_3e7dSvq4ISijZNjnuHo5NIHNiHDouMQ9JU,10491
|
|
69
|
+
sourcecode-1.30.8.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|