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.
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/PKG-INFO +1 -1
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/plugin.toml +7 -3
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/pyproject.toml +1 -1
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/__init__.py +1 -1
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/call_resolver.py +3 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/extractor.py +4 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/pyright_session.py +323 -40
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/server.py +5 -1
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_package.py +3 -3
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_pyright_session.py +405 -26
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_server.py +15 -11
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/uv.lock +1 -1
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/.gitignore +0 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/README.md +0 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/__main__.py +0 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/entity_id.py +0 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/interpreter.py +0 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/py.typed +0 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/qualname.py +0 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/reference_resolver.py +0 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/stdout_guard.py +0 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/src/loomweave_plugin_python/wardline_descriptor.py +0 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/__init__.py +0 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/fixtures/wardline-vocabulary-descriptor.generic-3.preview.yaml +0 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/fixtures/wardline-vocabulary-descriptor.golden.yaml +0 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_dogfood_uniqueness.py +0 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_entity_id.py +0 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_extractor.py +0 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_interpreter.py +0 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_qualname.py +0 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_round_trip.py +0 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_stdout_guard.py +0 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_wardline_descriptor.py +0 -0
- {loomweave_plugin_python-1.5.1 → loomweave_plugin_python-1.6.0}/tests/test_wardline_vocabulary_descriptor_conformance.py +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[plugin]
|
|
2
2
|
name = "loomweave-plugin-python"
|
|
3
3
|
plugin_id = "python"
|
|
4
|
-
version = "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.
|
|
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.
|
|
70
|
+
ontology_version = "0.13.0"
|
|
67
71
|
classifier_tags = [
|
|
68
72
|
"cli-command",
|
|
69
73
|
"data-model",
|
|
@@ -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,
|