loomweave-plugin-python 1.5.1__tar.gz → 1.6.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 (34) hide show
  1. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/PKG-INFO +1 -1
  2. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/plugin.toml +7 -3
  3. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/pyproject.toml +1 -1
  4. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/__init__.py +1 -1
  5. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/call_resolver.py +3 -0
  6. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/extractor.py +4 -0
  7. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/pyright_session.py +323 -40
  8. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/server.py +5 -1
  9. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_package.py +3 -3
  10. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_pyright_session.py +405 -26
  11. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_server.py +15 -11
  12. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/uv.lock +1 -1
  13. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/.gitignore +0 -0
  14. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/README.md +0 -0
  15. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/__main__.py +0 -0
  16. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/entity_id.py +0 -0
  17. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/interpreter.py +0 -0
  18. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/py.typed +0 -0
  19. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/qualname.py +0 -0
  20. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/reference_resolver.py +0 -0
  21. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/stdout_guard.py +0 -0
  22. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/wardline_descriptor.py +0 -0
  23. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/__init__.py +0 -0
  24. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/fixtures/wardline-vocabulary-descriptor.generic-3.preview.yaml +0 -0
  25. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/fixtures/wardline-vocabulary-descriptor.golden.yaml +0 -0
  26. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_dogfood_uniqueness.py +0 -0
  27. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_entity_id.py +0 -0
  28. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_extractor.py +0 -0
  29. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_interpreter.py +0 -0
  30. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_qualname.py +0 -0
  31. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_round_trip.py +0 -0
  32. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_stdout_guard.py +0 -0
  33. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_wardline_descriptor.py +0 -0
  34. {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_wardline_vocabulary_descriptor_conformance.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: loomweave-plugin-python
3
- Version: 1.5.1
3
+ Version: 1.6.0
4
4
  Summary: Loomweave Python language plugin — v1.0 release
5
5
  Author-email: John Morrissey <qacona@gmail.com>
6
6
  Classifier: Development Status :: 4 - Beta
@@ -1,7 +1,7 @@
1
1
  [plugin]
2
2
  name = "loomweave-plugin-python"
3
3
  plugin_id = "python"
4
- version = "1.5.1"
4
+ version = "1.6.0"
5
5
  protocol_version = "1.0"
6
6
  # Bare basename per ADR-021 §Layer 1 + WP2 scrub commit eb0a41d — the host
7
7
  # refuses manifests whose `executable` carries any path component.
@@ -57,13 +57,17 @@ rule_id_prefix = "LMWV-PY-"
57
57
  # runner-wrapper, `sys.argv`, and argparse `cli-command` tagging; 0.12.0
58
58
  # declares the complete static classifier set so supported-empty results are
59
59
  # distinguishable from unsupported classifiers and forces unchanged files to
60
- # re-dispatch. Classifier declarations do not create entity-tag rows. NOTE:
60
+ # re-dispatch. Classifier declarations do not create entity-tag rows. 0.13.0
61
+ # widens `calls` targets to class entities: an instantiation ``Name(...)``
62
+ # is a call to the class (clarion-e5224c3aff) -- a semantic widening of an
63
+ # existing kind, bumped so unchanged files re-dispatch and pick up the edges.
64
+ # NOTE:
61
65
  # ADR-007's summary-cache key is the 5-tuple (entity_id, content_hash,
62
66
  # prompt_template_id, model_tier, guidance_fingerprint) — ontology_version is
63
67
  # handshake-validation, NOT a cache-key component. New edge rows miss the
64
68
  # cache by component-1 of the 5-tuple organically (no edges live in the
65
69
  # 5-tuple yet anyway).
66
- ontology_version = "0.12.0"
70
+ ontology_version = "0.13.0"
67
71
  classifier_tags = [
68
72
  "cli-command",
69
73
  "data-model",
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "loomweave-plugin-python"
7
- version = "1.5.1"
7
+ version = "1.6.0"
8
8
  description = "Loomweave Python language plugin — v1.0 release"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -1,3 +1,3 @@
1
1
  """loomweave-plugin-python — Python language plugin for Loomweave."""
2
2
 
3
- __version__ = "1.5.1"
3
+ __version__ = "1.6.0"
@@ -115,6 +115,9 @@ class FacetCoverage:
115
115
  class CallResolutionResult:
116
116
  edges: list[CallsRawEdge] = field(default_factory=list)
117
117
  unresolved_call_sites_total: int = 0
118
+ # Bare unshadowed-builtin calls dropped before persistence; disclosed so
119
+ # the omission is visible in run stats (clarion-8a862d8f7e).
120
+ unresolved_call_sites_skipped_builtin_total: int = 0
118
121
  unresolved_call_sites: list[UnresolvedCallSite] = field(default_factory=list)
119
122
  pyright_query_latency_ms: list[int] = field(default_factory=list)
120
123
  pyright_index_parse_latency_ms: list[int] = field(default_factory=list)
@@ -260,6 +260,7 @@ class ImportsEdgeProperties(TypedDict):
260
260
  @dataclass
261
261
  class ExtractionStats:
262
262
  unresolved_call_sites_total: int = 0
263
+ unresolved_call_sites_skipped_builtin_total: int = 0
263
264
  unresolved_call_sites: list[UnresolvedCallSite] = field(default_factory=list)
264
265
  reference_sites_total: int = 0
265
266
  references_resolved_total: int = 0
@@ -307,6 +308,9 @@ class ExtractionStats:
307
308
  calls_coverage=calls.coverage,
308
309
  references_coverage=references.coverage,
309
310
  unresolved_call_sites_total=calls.unresolved_call_sites_total,
311
+ unresolved_call_sites_skipped_builtin_total=(
312
+ calls.unresolved_call_sites_skipped_builtin_total
313
+ ),
310
314
  unresolved_call_sites=calls.unresolved_call_sites,
311
315
  reference_sites_total=references.reference_sites_total,
312
316
  references_resolved_total=references.references_resolved_total,