sourcecode 1.8.0__py3-none-any.whl → 1.9.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.8.0"
3
+ __version__ = "1.9.0"
sourcecode/cli.py CHANGED
@@ -1485,7 +1485,17 @@ def main(
1485
1485
  if _is_contract_mode and sm.file_contracts:
1486
1486
  from sourcecode.serializer import _serialize_contract_minimal
1487
1487
  data.pop("file_relevance", None)
1488
- data["contracts"] = [_serialize_contract_minimal(c) for c in sm.file_contracts]
1488
+ _MAX_AGENT_CONTRACTS = 10
1489
+ _all_contracts = sm.file_contracts
1490
+ _sorted = sorted(_all_contracts, key=lambda c: getattr(c, "relevance_score", 0.0), reverse=True)
1491
+ _sampled = _sorted[:_MAX_AGENT_CONTRACTS]
1492
+ _total_contracts = len(_all_contracts)
1493
+ data["contracts"] = [_serialize_contract_minimal(c) for c in _sampled]
1494
+ data["contracts_meta"] = {
1495
+ "total": _total_contracts,
1496
+ "shown": len(_sampled),
1497
+ "truncated": _total_contracts > _MAX_AGENT_CONTRACTS,
1498
+ }
1489
1499
  if sm.contract_summary is not None:
1490
1500
  cs = sm.contract_summary
1491
1501
  data["contract_summary"] = {
sourcecode/serializer.py CHANGED
@@ -958,7 +958,13 @@ def agent_view(sm: SourceMap) -> dict[str, Any]:
958
958
  "sections": _section_confidence(sm),
959
959
  }
960
960
  if cs.hard_signals:
961
- conf["hard_signals"] = cs.hard_signals
961
+ _MAX_HARD_SIGNALS = 20
962
+ _hs = cs.hard_signals
963
+ _hs_total = len(_hs)
964
+ conf["hard_signals"] = _hs[:_MAX_HARD_SIGNALS]
965
+ if _hs_total > _MAX_HARD_SIGNALS:
966
+ conf["hard_signals_truncated"] = True
967
+ conf["hard_signals_total"] = _hs_total
962
968
  if cs.soft_signals:
963
969
  conf["soft_signals"] = cs.soft_signals
964
970
  if cs.ignored_signals:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sourcecode
3
- Version: 1.8.0
3
+ Version: 1.9.0
4
4
  Summary: Deterministic codebase context for AI coding agents
5
5
  License: Apache License
6
6
  Version 2.0, January 2004
@@ -1,10 +1,10 @@
1
- sourcecode/__init__.py,sha256=hfsfyZ-wPscs1ntyW4yJwNobviz3jSuQqZTPKH4D_BU,102
1
+ sourcecode/__init__.py,sha256=7vT9zGHBIzJnrOurwpOa5S9QoTVH_lpybnxNKWeq4Kg,102
2
2
  sourcecode/adaptive_scanner.py,sha256=RTNExwWPXzjgLaRueT7UuxkPj5ZEToWjGbx1j0LSZ9E,10250
3
3
  sourcecode/architecture_analyzer.py,sha256=oPmGPf9_p6y8Z7SIGHEu57nVYwxycIovDzBvlHl-l5k,32557
4
4
  sourcecode/architecture_summary.py,sha256=J9yoLgh8wXwIRrT6q6JooB6PekivbOEYpJz4BUXdalk,20545
5
5
  sourcecode/ast_extractor.py,sha256=XgrZg2DcWcUm9r87cRG3KGO7IK2TIL_N-CvhSbUmmh4,49901
6
6
  sourcecode/classifier.py,sha256=GKTMN8qKZX7ponSwDJfN08RrasI4CVpq1_gFBgEopps,7093
7
- sourcecode/cli.py,sha256=xIGfuX-7MVhsc7z2DeqjYjpHJHF43XMudOu5e7Xh2Hs,71408
7
+ sourcecode/cli.py,sha256=Z1GTg74dTkItUsrj9DzBTq_wzkhpcTto9qjmxYVxfhA,71914
8
8
  sourcecode/code_notes_analyzer.py,sha256=rRd8bFYV0krjlxxQV0wenwE9K7pVpUQSR7KvSvUQKw4,9226
9
9
  sourcecode/confidence_analyzer.py,sha256=HcaewB2pZaZ_hfKrZWtr_yPMY2-CxS1zzTUD7c4argc,13188
10
10
  sourcecode/context_scorer.py,sha256=QpChSpsmaAYz91rXA4Ue5xzQmNz_ZboZN09YOHScq1U,14679
@@ -30,7 +30,7 @@ sourcecode/runtime_classifier.py,sha256=zWX3r3HCKHc-qtIobErOa8aKMmaoPYREtJKvPcBG
30
30
  sourcecode/scanner.py,sha256=aM3h9-DCQ3xKpeHpHYdo2vX6T5P95HA_YwZbkAVNwmo,8288
31
31
  sourcecode/schema.py,sha256=rNxpDUgOfvJDzz6DKitL-5_0UAh0YomNwTsSSe8PafY,24066
32
32
  sourcecode/semantic_analyzer.py,sha256=12TwXYkYbDcBdu0heX_EmfPM2EkO8a_r5osf0SaeQbs,88956
33
- sourcecode/serializer.py,sha256=6dHvWc-iqqCjpu9-FcAXqtpKEO4mO3AZVzWT7Tphajo,69736
33
+ sourcecode/serializer.py,sha256=LQuAb2YNkNhckuT9fYNCrRe3TV_BJkPlgbb85Cwsyoo,70001
34
34
  sourcecode/summarizer.py,sha256=ZuzIdm3t8A-d5MuQL0TSNLrd-L0IQIuguIxeNXMNJf8,16070
35
35
  sourcecode/tree_utils.py,sha256=Fj9OIuUksBvgibNd3feog0sMDjVypJzPexp5lvMoYWI,1424
36
36
  sourcecode/workspace.py,sha256=X_6NmNnitvT3_38V-JDChydo_sR68s249hLFlrQskU0,8271
@@ -61,8 +61,8 @@ sourcecode/telemetry/consent.py,sha256=wLMvGNJeSSyZoNkQXpoUioY6mMv4Qdvuw7S9jAEWn
61
61
  sourcecode/telemetry/events.py,sha256=oEvvulfsv5GIDWG2174gSS6tNB95w38AIYiYeifGKlE,2294
62
62
  sourcecode/telemetry/filters.py,sha256=Asa71oRl7q3Wt_FMwuufIZJFzSYdgRNKS8LHCIyFeYE,4805
63
63
  sourcecode/telemetry/transport.py,sha256=KJeIPCPWMdmbCP3ySGs2iUlia34U6vWne2dZsUezesw,1560
64
- sourcecode-1.8.0.dist-info/METADATA,sha256=-_qZyqL9jUy7Jkw-vSkqChHx8UyCDb6y8qWcjhyiyPA,20411
65
- sourcecode-1.8.0.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
66
- sourcecode-1.8.0.dist-info/entry_points.txt,sha256=ex3F9rmbXeyDIoFQHtkEqTsKSaJow8F0LrVu8XfIktQ,57
67
- sourcecode-1.8.0.dist-info/licenses/LICENSE,sha256=7DdHrU9Z_3e7dSvq4ISijZNjnuHo5NIHNiHDouMQ9JU,10491
68
- sourcecode-1.8.0.dist-info/RECORD,,
64
+ sourcecode-1.9.0.dist-info/METADATA,sha256=lyqhpfo9LG4IjfyXZ8QBhqfTncocJBA7_cKPKO3PEP4,20411
65
+ sourcecode-1.9.0.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
66
+ sourcecode-1.9.0.dist-info/entry_points.txt,sha256=ex3F9rmbXeyDIoFQHtkEqTsKSaJow8F0LrVu8XfIktQ,57
67
+ sourcecode-1.9.0.dist-info/licenses/LICENSE,sha256=7DdHrU9Z_3e7dSvq4ISijZNjnuHo5NIHNiHDouMQ9JU,10491
68
+ sourcecode-1.9.0.dist-info/RECORD,,