sourcecode 3.2.0__py3-none-any.whl → 3.2.2__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.
Potentially problematic release.
This version of sourcecode might be problematic. Click here for more details.
- sourcecode/__init__.py +1 -1
- sourcecode/cache.py +104 -0
- sourcecode/cache_model.py +295 -0
- sourcecode/chain_rules.py +49 -8
- sourcecode/cli.py +419 -205
- sourcecode/confidence_analyzer.py +10 -6
- sourcecode/context_cache.py +7 -27
- sourcecode/deployment_prefix.py +85 -0
- sourcecode/facts/__init__.py +71 -0
- sourcecode/facts/registry.json +158 -0
- sourcecode/license.py +1 -1
- sourcecode/mcp/registry.py +1 -1
- sourcecode/mcp/server.py +3 -3
- sourcecode/metrics_analyzer.py +8 -5
- sourcecode/posture.py +78 -6
- sourcecode/prepare_context.py +51 -26
- sourcecode/reference_facts.py +307 -0
- sourcecode/ris.py +27 -1
- sourcecode/serializer.py +36 -9
- sourcecode/spring_profiles.py +93 -13
- sourcecode/telemetry/__init__.py +4 -3
- sourcecode/telemetry/config.py +31 -23
- sourcecode/telemetry/consent.py +20 -16
- sourcecode/test_sources.py +178 -0
- {sourcecode-3.2.0.dist-info → sourcecode-3.2.2.dist-info}/METADATA +128 -14
- {sourcecode-3.2.0.dist-info → sourcecode-3.2.2.dist-info}/RECORD +29 -24
- {sourcecode-3.2.0.dist-info → sourcecode-3.2.2.dist-info}/WHEEL +0 -0
- {sourcecode-3.2.0.dist-info → sourcecode-3.2.2.dist-info}/entry_points.txt +0 -0
- {sourcecode-3.2.0.dist-info → sourcecode-3.2.2.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sourcecode
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.2
|
|
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
|
|
@@ -73,6 +73,19 @@ Cache keyed on content hashes — invalidated only when source changes. On repea
|
|
|
73
73
|
|
|
74
74
|
At 0.3s per call, ASK Engine becomes **constant infrastructure** inside agent loops — call it before every edit, every PR review, every test run, without batching or caching manually.
|
|
75
75
|
|
|
76
|
+
**What a warm actually covers.** `ask cache warm` runs the compact analysis: it rebuilds the
|
|
77
|
+
shared structural layers (L1/L2 + the Repository Intelligence Snapshot + the shared Canonical
|
|
78
|
+
IR) and the **compact view**. Pass `--agent` to warm the agent view as well. Deeper projections
|
|
79
|
+
are separate keys and are *not* covered by either — `--full`, `--env-map` and a raised `--depth`
|
|
80
|
+
recompute on first use, as do most `prepare-context` tasks. Measured on a 3,342-file Spring
|
|
81
|
+
monolith: `cache warm` 103s → `--compact --git-context` 1s (hit), but `--agent --full --env-map
|
|
82
|
+
--depth 20` still 171s (miss).
|
|
83
|
+
|
|
84
|
+
**One rule for invalidation, and a table that names every command.** Every layer keys on the
|
|
85
|
+
exact tree state: any change to the analysed files invalidates it, committed or not. Which of
|
|
86
|
+
*your* commands a warm helps — the answer, only the shared work, or nothing — is published per
|
|
87
|
+
command: `ask cache model`, or [docs/CACHE.md](docs/CACHE.md).
|
|
88
|
+
|
|
76
89
|
---
|
|
77
90
|
|
|
78
91
|
## Install
|
|
@@ -95,27 +108,55 @@ ask version # ask 2.5.1
|
|
|
95
108
|
|
|
96
109
|
## Quickstart
|
|
97
110
|
|
|
111
|
+
**Start with these four.** In three independent field evaluations they carried most of the
|
|
112
|
+
measured value, and `posture --diff` is the one no evaluator found an equivalent for —
|
|
113
|
+
commercial or open source.
|
|
114
|
+
|
|
98
115
|
```bash
|
|
99
|
-
#
|
|
100
|
-
|
|
116
|
+
# What does each profile set ACTUALLY wire — and what changes between them?
|
|
117
|
+
# Resolves conditional beans and the filter chain, then diffs effective endpoint access.
|
|
118
|
+
ask posture /path/to/repo --diff dev:prod
|
|
101
119
|
|
|
102
|
-
#
|
|
103
|
-
|
|
120
|
+
# Every REST endpoint with its effective path (context-path + servlet path resolved),
|
|
121
|
+
# its inferred security policy and a confidence per endpoint.
|
|
122
|
+
ask endpoints /path/to/repo
|
|
123
|
+
|
|
124
|
+
# Spring semantic audit: transactional anomalies (private @Transactional = silent
|
|
125
|
+
# CGLIB no-op), security surface, request-body validation.
|
|
126
|
+
ask spring-audit /path/to/repo
|
|
104
127
|
|
|
105
|
-
# Spring Boot 2→3
|
|
128
|
+
# Spring Boot 2→3 readiness: located blockers, per-dimension score, effort estimate.
|
|
106
129
|
ask migrate-check /path/to/repo --compact
|
|
130
|
+
```
|
|
107
131
|
|
|
108
|
-
|
|
109
|
-
|
|
132
|
+
Then the everyday loop:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
# High-signal structural summary — warm cache ~0.3s, cold 2–10s
|
|
136
|
+
ask --compact
|
|
137
|
+
|
|
138
|
+
# Blast radius: what breaks if this class changes? (target the INTERFACE, not the Impl)
|
|
139
|
+
ask impact OrderService /path/to/repo
|
|
110
140
|
|
|
111
141
|
# Onboard to an unfamiliar codebase
|
|
112
142
|
ask onboard /path/to/repo
|
|
113
143
|
|
|
114
144
|
# PR review: risk, test gaps, changed modules
|
|
115
145
|
ask review-pr /path/to/repo --since main
|
|
146
|
+
|
|
147
|
+
# CI gate on NEW violations only, instead of on pre-existing debt
|
|
148
|
+
ask verify /path/to/repo --capture-baseline # accept today's debt, once
|
|
149
|
+
ask verify /path/to/repo # then: only new violations block
|
|
116
150
|
```
|
|
117
151
|
|
|
118
|
-
|
|
152
|
+
> **Adopting a gate on a real codebase.** A repository that starts declaring contracts already
|
|
153
|
+
> violates them somewhere; `ask verify` is **baseline-relative by default** (`--fail-on new`)
|
|
154
|
+
> so the gate survives contact with reality instead of being switched off on day one.
|
|
155
|
+
> `ask baseline capture|diff|trend` is a different thing: versioned architectural metrics over
|
|
156
|
+
> time, for trend reporting rather than blocking.
|
|
157
|
+
|
|
158
|
+
Full command reference: **[docs/USER_GUIDE.md](docs/USER_GUIDE.md)** · posture in depth:
|
|
159
|
+
**[docs/posture.md](docs/posture.md)**.
|
|
119
160
|
|
|
120
161
|
---
|
|
121
162
|
|
|
@@ -148,17 +189,76 @@ Deterministic Spring semantics: transactional anomalies (e.g. `@Transactional` o
|
|
|
148
189
|
`ask spring-audit` · `ask validation`
|
|
149
190
|
→ [reference](docs/USER_GUIDE.md#core-commands)
|
|
150
191
|
|
|
192
|
+
### 5b · Runtime Posture *(experimental — and the most differentiated thing here)*
|
|
193
|
+
What a profile set **actually wires**: which conditional beans register, which do not, and which conditions could not be decided at all — then the effective endpoint access that follows from the filter chain. `--diff` answers the question nobody else answers in one command: *what changes between `dev` and `prod`, across every endpoint at once.*
|
|
194
|
+
`ask posture` · `ask posture --diff dev:prod` · `ask posture --property k=v`
|
|
195
|
+
→ [posture.md](docs/posture.md)
|
|
196
|
+
|
|
197
|
+
Unresolved is a first-class outcome: a condition the resolver cannot decide is reported as a
|
|
198
|
+
hole with the condition named, never folded into active or inactive. **A posture answer that
|
|
199
|
+
guesses is a confident security falsehood — the worst failure mode this tool has.**
|
|
200
|
+
|
|
151
201
|
### 6 · Developer Workflows
|
|
152
202
|
The everyday loop: diff-based PR review, symptom-driven bug triage, and delta context for continuous agent runs.
|
|
153
203
|
`ask review-pr` · `ask fix-bug` · `ask prepare-context`
|
|
154
204
|
→ [reference](docs/USER_GUIDE.md#typical-workflows)
|
|
155
205
|
|
|
156
206
|
### 7 · Utilities
|
|
157
|
-
`ask rename-class` (word-boundary Java rename) · `ask chunk-file` (split large files for agents) · `ask cache` (status / warm / clear / freshness)
|
|
207
|
+
`ask rename-class` (word-boundary Java rename) · `ask chunk-file` (split large files for agents) · `ask cache` (status / warm / model / clear / freshness)
|
|
158
208
|
→ [reference](docs/USER_GUIDE.md)
|
|
159
209
|
|
|
160
210
|
---
|
|
161
211
|
|
|
212
|
+
## Command tiers
|
|
213
|
+
|
|
214
|
+
A tier says **what an output is worth relying on** — it is a stability promise, not a value
|
|
215
|
+
ranking, and not the [pricing tier](docs/PRODUCT_TIERS.md) (Free/Pro gates repository size,
|
|
216
|
+
never capability). `posture` is the most differentiated command in the product *and* it is
|
|
217
|
+
experimental: both are true, and they are two different facts.
|
|
218
|
+
|
|
219
|
+
| Tier | Promise | Commands |
|
|
220
|
+
|---|---|---|
|
|
221
|
+
| **core** | contract stable within a major — safe to gate CI on | `endpoints` · `spring-audit` · `migrate-check` · `impact` · `impact-chain` · `pr-impact` · `verify` |
|
|
222
|
+
| **supported** | maintained; fields are added, never removed without a major | every command not named in another row |
|
|
223
|
+
| **experimental** | shape may change in a minor — do not gate CI on it | `posture` · `archetype` · `retrieve` |
|
|
224
|
+
| **parked** | kept working, no longer developed | none today |
|
|
225
|
+
|
|
226
|
+
The same table is printed by `ask --help`, and both are generated from one authority
|
|
227
|
+
(`cli.COMMAND_TIERS`) — the battery fails if a command is in no tier, or if this file drifts
|
|
228
|
+
from it.
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Every command, in one table
|
|
233
|
+
|
|
234
|
+
*`ask --help` shows a short header; this is the full surface. If you only read one row, read
|
|
235
|
+
`posture`.*
|
|
236
|
+
|
|
237
|
+
| Command | Tier | Answers | Note |
|
|
238
|
+
|---|---|---|---|
|
|
239
|
+
| `posture` | experimental | which beans a profile set wires, and how effective endpoint access differs between two sets | the most differentiated capability here |
|
|
240
|
+
| `endpoints` | core | every REST endpoint, effective path, security policy, confidence | Spring MVC + JAX-RS (~65 % recall on JAX-RS sub-resource locators) |
|
|
241
|
+
| `spring-audit` | core | transactional anomalies + security surface + validation gaps | `--ci`, `-f github-comment` |
|
|
242
|
+
| `migrate-check` | core | Boot 2→3 readiness: located blockers, per-dimension score, effort | `--blast-radius` orders the re-test plan |
|
|
243
|
+
| `impact` / `impact-chain` | core | blast radius of a change, to the endpoints it reaches | target the **interface**, not the `Impl` |
|
|
244
|
+
| `pr-impact` | core | the same, scoped to a PR diff | gating command: `--fail-on`, exit codes |
|
|
245
|
+
| `verify` | core | does the repo satisfy its declared contracts, **relative to a baseline** | `.ask/contracts.yml`; exit 0/1/2 |
|
|
246
|
+
| `verify-edit` | supported | did the working-tree edits change runtime behaviour | semantic diff gate for the edit loop |
|
|
247
|
+
| `--compact` / `--agent` | — | bounded structural context for an agent | flags of the root command, not commands: not tiered |
|
|
248
|
+
| `onboard` / `explain` / `cold-start` | supported | orientation in an unfamiliar repo; per-class summary; bootstrap snapshot | |
|
|
249
|
+
| `export` / `repo-ir` / `schema` | supported | tool-agnostic views (C4, module graph, integrations); symbol-level IR; published JSON Schemas | |
|
|
250
|
+
| `modernize` | supported | coupling hubs, cycles, dead zones, refactor candidates | |
|
|
251
|
+
| `review-pr` / `fix-bug` / `prepare-context` | supported | diff review, symptom triage, task-shaped context | |
|
|
252
|
+
| `plan` / `compare` / `delta` / `contract-diff` | supported | what to review for a change; candidates by measured cost; outcome of a change; public-contract break | no verdicts, measured cost only |
|
|
253
|
+
| `validation` | supported | request-body validation coverage and gaps | |
|
|
254
|
+
| `baseline capture\|diff\|trend` | supported | versioned architectural metrics over time | trend reporting, not gating |
|
|
255
|
+
| `retrieve` | experimental | typed knowledge queries over the model | |
|
|
256
|
+
| `archetype` | experimental | evidence-based architectural archetype | |
|
|
257
|
+
| `rename-class` / `chunk-file` | supported | word-boundary Java rename; split a large file for an agent | |
|
|
258
|
+
| `cache status\|warm\|model\|clear` · `auth` · `telemetry` · `mcp` · `config` · `version` | supported | housekeeping | `activate` too |
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
162
262
|
## What it does — and doesn't
|
|
163
263
|
|
|
164
264
|
**ASK Engine reduces exploration cost.** It accelerates context acquisition and computes
|
|
@@ -182,6 +282,13 @@ Honest limits worth knowing before you rely on it:
|
|
|
182
282
|
> **🎉 Early-adoption: Pro is currently unlocked for everyone.** Every install runs with
|
|
183
283
|
> full Pro entitlements — no size gate, no key. The tiers below describe the model the
|
|
184
284
|
> paywall will return to later.
|
|
285
|
+
>
|
|
286
|
+
> **What that means concretely.** `ask auth status` reports `"status": "unauthenticated"`
|
|
287
|
+
> together with `"pro": true`, `"pro_reason": "early-adoption unlock"` — that combination is
|
|
288
|
+
> expected, not a bug: you are unauthenticated *and* unlocked. When the unlock ends, gating
|
|
289
|
+
> returns **by repo size and automation, never by command**: `posture`, `endpoints`,
|
|
290
|
+
> `spring-audit` and `migrate-check` stay in the base tier at full output. Nothing you can run
|
|
291
|
+
> today becomes a paid-only command tomorrow.
|
|
185
292
|
|
|
186
293
|
**Gating is by repo size and automation — never by command.** Every command runs at full
|
|
187
294
|
power on Free for small and mid-size repos; you upgrade when the work gets bigger or automated.
|
|
@@ -204,12 +311,18 @@ Full breakdown: [docs/PRODUCT_TIERS.md](docs/PRODUCT_TIERS.md).
|
|
|
204
311
|
|
|
205
312
|
```bash
|
|
206
313
|
ask config # version, config file path, telemetry status
|
|
207
|
-
ask telemetry
|
|
314
|
+
ask telemetry enable # anonymous telemetry is OFF by default (opt-in)
|
|
208
315
|
```
|
|
209
316
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
317
|
+
**Nothing is collected or transmitted unless you turn telemetry on** — not on the first run,
|
|
318
|
+
not in CI. If you do opt in, it collects version, OS, commands, flags, duration, repo-size
|
|
319
|
+
range, and errors: **no source code, paths, secrets, or output**. Turn it off again with
|
|
320
|
+
`ask telemetry disable`, `export SOURCECODE_TELEMETRY=0`, or `DO_NOT_TRACK=1`.
|
|
321
|
+
|
|
322
|
+
> **Auditing someone else's code — regulated, client-owned or public-sector?** Nothing to do.
|
|
323
|
+
> Telemetry was opt-out until 3.3.0; it is opt-in now (`docs/DEFECT-LEDGER.md` P-1), because a
|
|
324
|
+
> default you must remember to disable is the wrong default for third-party code. An explicit
|
|
325
|
+
> choice you made before is unchanged.
|
|
213
326
|
|
|
214
327
|
**Custom security annotations.** Teach `endpoints`, `spring-audit`, and `explain` about
|
|
215
328
|
project-specific authorization annotations via an optional `sourcecode.config.json` at the
|
|
@@ -241,3 +354,4 @@ Matching endpoints report `policy: "custom"` and drop out of the `no_security_si
|
|
|
241
354
|
| [MANUAL-USUARIO.md](docs/MANUAL-USUARIO.md) | Guía de usuario en español |
|
|
242
355
|
| [PRODUCT_IDENTITY.md](docs/PRODUCT_IDENTITY.md) | `ask` (command) vs `sourcecode` (package/alias) |
|
|
243
356
|
| [privacy.md](docs/privacy.md) | Telemetry and data-handling policy |
|
|
357
|
+
| [DEFECT-LEDGER.md](docs/DEFECT-LEDGER.md) | Every defect found in the field, its class, and which release closed it — published on purpose |
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
sourcecode/__init__.py,sha256=
|
|
1
|
+
sourcecode/__init__.py,sha256=U82Z_Ox36oAqoNY_hG72f5nWmFp6G5hZFIJetg0zXsI,308
|
|
2
2
|
sourcecode/adaptive_scanner.py,sha256=yJBKjNpkY6bpueYJ2YnRezen3sYZDecEt7WaaNWdqug,9466
|
|
3
3
|
sourcecode/archetype.py,sha256=qWMCyL2UzSGXJhCIZj38JjS7wI15EE3eILsWiaoCZXQ,35779
|
|
4
4
|
sourcecode/architectural_baseline.py,sha256=7QzJri4pbL3nzAn9gNutZW6mZR8HHD6H2C2H1EEwYPE,17904
|
|
@@ -6,20 +6,21 @@ sourcecode/architectural_delta.py,sha256=E6MkyjWl-1ZgR4KSKnI785gUAfc8nq-lK-jd_ru
|
|
|
6
6
|
sourcecode/architecture_analyzer.py,sha256=GFc4ek-s1IHWM7pl-0L32WahZ93AmDgrAMcOuBKA5Dk,61463
|
|
7
7
|
sourcecode/architecture_summary.py,sha256=BVVRHd952cjRhjHnR6CPrvKgaa-tdM16l-pBi1yDCPs,32395
|
|
8
8
|
sourcecode/ast_extractor.py,sha256=ZwHN3Y0iRp2gpv3t5Nm5uvX7Xw1KtULCJPZqKpZQRAE,51255
|
|
9
|
-
sourcecode/cache.py,sha256=
|
|
9
|
+
sourcecode/cache.py,sha256=2zh87pMJ8WJ-ZNNlzogFv6v5lsxqyOUS7XRGoH9xRDc,38095
|
|
10
|
+
sourcecode/cache_model.py,sha256=A29lG7s0WpL1z0A3wZ6oGxwllJbbG0SBpgaSQ_kCmP0,14695
|
|
10
11
|
sourcecode/call_surface.py,sha256=fiqYfHooxN1fX9oQoysq1LS3LoZcobhyUNjAGEZKpwk,4148
|
|
11
12
|
sourcecode/caller_metrics.py,sha256=7xJDoar5RHOgDTvaZhML1V5JERJDFc4DA-y_WPKfJCw,3842
|
|
12
13
|
sourcecode/canonical_ir.py,sha256=LdP_Ri3rl0M5p-MY0ypVvQwhq1WuUF1FmaHid7zyzEg,29807
|
|
13
|
-
sourcecode/chain_rules.py,sha256=
|
|
14
|
+
sourcecode/chain_rules.py,sha256=Bi6UHfgd-GxWswmnHRcPz5jdbAuqka3Zkz_P-MTvqhw,12767
|
|
14
15
|
sourcecode/change_plan.py,sha256=MNgNyu4zrLGvBBaXPwyCh-T2ZGaUQX3Hm4W87uuhZ3w,7750
|
|
15
16
|
sourcecode/cir_graphs.py,sha256=9G0HHj1kw2325IDyzo2OpX73BNswEckecf4MZUXB4JM,12078
|
|
16
17
|
sourcecode/classifier.py,sha256=JBzPwSSrDG-tUHAbcKB678HRbjLpD-ohzbzzO62mgpo,20114
|
|
17
|
-
sourcecode/cli.py,sha256=
|
|
18
|
+
sourcecode/cli.py,sha256=kXMCuDtQtL5Px8cHHsSPwgfB9S31mxoGJk84nOQ3vHA,411359
|
|
18
19
|
sourcecode/code_notes_analyzer.py,sha256=EJemNCNc9Dn-1RZYu-aNbK0ELzmsyC4s6FdHi3XyNEI,9392
|
|
19
20
|
sourcecode/compare.py,sha256=jdePg0dNCxFpysiTGMsROL5XABLjy_zVUgVeySvdb0o,7514
|
|
20
|
-
sourcecode/confidence_analyzer.py,sha256=
|
|
21
|
+
sourcecode/confidence_analyzer.py,sha256=_nvtwO6RM3k0JMuH5m7DsBxOD0PdxGFS4Bb1fTQ536E,21946
|
|
21
22
|
sourcecode/constraint_diff.py,sha256=hWIO5vsxvHjsgQx23K3r_JMy1W6wQ2Ca4DqB9R_iMnY,5831
|
|
22
|
-
sourcecode/context_cache.py,sha256=
|
|
23
|
+
sourcecode/context_cache.py,sha256=VCH-u6wPrTv6fz5uGqqwsLaVEUKVyZZSOhkb0BmZ6cA,26297
|
|
23
24
|
sourcecode/context_graph.py,sha256=i2kOX3XiaCqcR20ojbUnqoX-hJbMyLNYc7rl-n15bwE,46426
|
|
24
25
|
sourcecode/context_scorer.py,sha256=QpChSpsmaAYz91rXA4Ue5xzQmNz_ZboZN09YOHScq1U,14679
|
|
25
26
|
sourcecode/context_summarizer.py,sha256=cI2TZMvEhl0BEma12VtPaX6z03ZVBAetVzuK5GaCOvg,6852
|
|
@@ -28,7 +29,7 @@ sourcecode/contract_model.py,sha256=nRxJKPMs1VHwFTa8AVXhGmaLjti3Lr2sjHDpWgv1bfE,
|
|
|
28
29
|
sourcecode/contract_pipeline.py,sha256=4XE-xhab7ysdExXyUOBl2hAH4MABo7moKnT9V4XcEwQ,30243
|
|
29
30
|
sourcecode/coverage_parser.py,sha256=X9scuUWxacahYTrTBGea2Ku-sf-WCVcnc9OEB35_3IU,19340
|
|
30
31
|
sourcecode/dependency_analyzer.py,sha256=fQCaWQ7_BNcVgZv8gweJCwJ1CGlXsz8nw_tqN3aHJNE,63952
|
|
31
|
-
sourcecode/deployment_prefix.py,sha256=
|
|
32
|
+
sourcecode/deployment_prefix.py,sha256=g0_4bE_m9svjhnapRpOp8BJkj6Ul94Ij_iVezygMZ0I,11956
|
|
32
33
|
sourcecode/doc_analyzer.py,sha256=05bjTUbDbmnbajD_cgRnACzS8T7xxBKVX4CjkJlhZg8,24411
|
|
33
34
|
sourcecode/dynamic_argument_surface.py,sha256=iRzrJhs57UXrGvLhNPiTA-e_sdO6ka-wNqc0wIiegiM,2554
|
|
34
35
|
sourcecode/endpoint_literals.py,sha256=Qf4gTZzvNSFDGDuOvF0YRL9NvaYKKj24klhR5LIOaXc,3263
|
|
@@ -50,9 +51,9 @@ sourcecode/graph_evidence.py,sha256=rENNsYRZeNstX_ExNCLlbHJAruFQwxo5d00x6wO3xwI,
|
|
|
50
51
|
sourcecode/hibernate_strat.py,sha256=5GmHiB865HxKdvaxeFV07ojglUgxyOP41AY2xiHfV30,61700
|
|
51
52
|
sourcecode/integration_coordinates.py,sha256=7vGFxN4tCn_KTisYFJuixa8XkyHBoasEFB3fqM62OBI,7407
|
|
52
53
|
sourcecode/jdk_exports.py,sha256=fCrlwNAXUT9gge_joq6kMnY3zJxYB2pxqy-0w3o3MJI,874
|
|
53
|
-
sourcecode/license.py,sha256=
|
|
54
|
+
sourcecode/license.py,sha256=OwLh4x1gU_iGL69zFKAgsnwHO2yx9jBsCOK_WK7CUUw,24907
|
|
54
55
|
sourcecode/mcp_nudge.py,sha256=lKemOqK_wny2u7Ymcr2Idi5Kx8pXY02jCi-_nJYLGMg,2992
|
|
55
|
-
sourcecode/metrics_analyzer.py,sha256=
|
|
56
|
+
sourcecode/metrics_analyzer.py,sha256=gLoRWKygF18jLgwsqmGXSWopw-f5iO1VbM7Jjdif6ag,22809
|
|
56
57
|
sourcecode/migrate_check.py,sha256=TJvaShbglENOr8ikvCodnlXQy54TtT05N2ZVe02b3lc,110421
|
|
57
58
|
sourcecode/migration_blast.py,sha256=5qUsUi4n0cwBKltdJYyvyfhBkGENAYjB-d_7LZtnVks,9282
|
|
58
59
|
sourcecode/openapi_surface.py,sha256=BTt0K-woZbkbWTN77IkqeBm_Okag9owR0848fmot8sk,16207
|
|
@@ -60,20 +61,21 @@ sourcecode/output_budget.py,sha256=Js9yUlfQtPhqBl9R6wn_9UHVjjJc3GtLcqyfjf5t50Q,9
|
|
|
60
61
|
sourcecode/parse_cache.py,sha256=IIsWhtMYpBLNyRCDVoiVpUZa62QIk1Q1sZBDNG4G4V0,6668
|
|
61
62
|
sourcecode/path_filters.py,sha256=qPKO7kRmVp2y9zjLNSuAVCbcpZrIInHE4QulLUlzPFI,10412
|
|
62
63
|
sourcecode/perf.py,sha256=GAcEoouPIlPMCQIcHNToxK6K3WdIR-lj9aFg4prOYJI,9743
|
|
63
|
-
sourcecode/posture.py,sha256=
|
|
64
|
+
sourcecode/posture.py,sha256=9xM0iZWAPfA5qBP06xxjbwAQq3WzXEYLHftdjwXjsL0,36483
|
|
64
65
|
sourcecode/pr_comment_renderer.py,sha256=KmcjMruhR44gjzMDJwjBSkWP9QEvh8xWBLyxzxoRbj0,14542
|
|
65
66
|
sourcecode/pr_impact.py,sha256=eaFgcPMDsjaF8VZvcitFWCPCabMTi-khtGdxpK0wXTQ,22461
|
|
66
|
-
sourcecode/prepare_context.py,sha256
|
|
67
|
+
sourcecode/prepare_context.py,sha256=DXU5ZtM5MY5AxC0897DlRgSifw3ux-obDA1SL0aKkrs,231503
|
|
67
68
|
sourcecode/progress.py,sha256=qn30sWaHOkjTgXsSBmiPkz7Rsbwc5oSlIe6JNEMYp_k,3149
|
|
68
69
|
sourcecode/ranking_engine.py,sha256=ZAucq_YX2KkWUuAZf4P0lhtQ_38vEFnUhuGtSZd1S0E,12970
|
|
69
70
|
sourcecode/readiness_timeline.py,sha256=T5NKLuRHS83lPslE2kMs_RSVENd8jZJ11N1c9gpkpH8,7244
|
|
70
71
|
sourcecode/reconciliation.py,sha256=GU-1PTcVr8zcbtC7BASfpHcZndP9AdboXPNQiBc0fzo,34251
|
|
71
72
|
sourcecode/redactor.py,sha256=SB4hwIvg8h-hvcqKcDWaZvA-aSyn-at-BIRwa0tUv5E,3227
|
|
73
|
+
sourcecode/reference_facts.py,sha256=Ns495c6eTmq2SrqPkcUrJUJru4_wj_yRWm4YDeJwves,13440
|
|
72
74
|
sourcecode/relevance_scorer.py,sha256=0AgEt4KrV73nioMqBgjhGjtY7L2C7L7cSyKtj3IKcrw,9408
|
|
73
75
|
sourcecode/rename_refactor.py,sha256=h6dNFlB9aZ_3q6heeHBkgXQeXaT03nvPSsYH6P8qxFg,12965
|
|
74
76
|
sourcecode/repo_classifier.py,sha256=FG1vaWKdWXsWdl-S8hjVMiTqcwgaRXkDyvK4rPcOGtQ,22681
|
|
75
77
|
sourcecode/repository_ir.py,sha256=2S14aUMY5vpZePObd3F87kz71KUsVXQllurXjufa6A0,344648
|
|
76
|
-
sourcecode/ris.py,sha256=
|
|
78
|
+
sourcecode/ris.py,sha256=A5fzx0s1qeDkVhf_rs2Kn78imXs4Xir9gLgMRdMT8nQ,23273
|
|
77
79
|
sourcecode/runtime_classifier.py,sha256=uTAD6BDCiBLUZEDRfqk718kM4RTT_vAbfkcOI2_Xx58,18432
|
|
78
80
|
sourcecode/scanner.py,sha256=z3CV0rcGunu0Y8mpNgp07wI7nxT0pxw1BkXRRtI0Rpo,9609
|
|
79
81
|
sourcecode/schema.py,sha256=aHNXDf8LGyUC8ZDE_VS9kiskC2-Oswhi_WnpdGy6HDw,24897
|
|
@@ -83,17 +85,18 @@ sourcecode/semantic_analyzer.py,sha256=bpgdC6m0_ftVtRf3rSdwhbhWjnZnGxRXaZVcfe4Bb
|
|
|
83
85
|
sourcecode/semantic_impact_engine.py,sha256=t09IirGC3JjQDy33JZd1_WKzQVKXkoNl3-XEUr5kjis,20563
|
|
84
86
|
sourcecode/semantic_integration_engine.py,sha256=7a0WqAInOv39f0Yr_94TYo_JP_8QpeI9KGaknpzAyQU,18899
|
|
85
87
|
sourcecode/semantic_services.py,sha256=nbUuPv-F01USTt_9CHT8iy_ucCIw3fz4W3Aquea_pd4,10782
|
|
86
|
-
sourcecode/serializer.py,sha256
|
|
88
|
+
sourcecode/serializer.py,sha256=-axoHfVW3H2oE27fDWLxUqohypFVQljLnoOPHBaaq9w,133246
|
|
87
89
|
sourcecode/spring_event_topology.py,sha256=5_ON_21Le5zbG-1GRc5GLIi5HJfy_QjcXLVPC5WeUGQ,18055
|
|
88
90
|
sourcecode/spring_findings.py,sha256=ICcR2qEZgYzWypZzsoaEmVeMYZ0YkuZ8AvTwA-rcVOs,7604
|
|
89
91
|
sourcecode/spring_impact.py,sha256=Cm2KZplpQHjdjUC8jPX1SNnLHxOdM3HsUBNFGwgTP18,80145
|
|
90
92
|
sourcecode/spring_model.py,sha256=zOAgFmrRbG4a6KLm1TJl55aWMyPNsz3OS3FSczqPG6A,16594
|
|
91
|
-
sourcecode/spring_profiles.py,sha256=
|
|
93
|
+
sourcecode/spring_profiles.py,sha256=A6lYmqPFrp9GqDgaI0aFJILLwW4KDKg5WKZHEGUmRfg,11458
|
|
92
94
|
sourcecode/spring_properties.py,sha256=bQSOVrtj7YENsCjMQTTlVh-Gm_K0n0DdWzjPRUP38C4,8394
|
|
93
95
|
sourcecode/spring_security_audit.py,sha256=FteXv5GH-iE07GLEqPpoX7sVXf_dxRns8zxh9_m6By0,23015
|
|
94
96
|
sourcecode/spring_semantic.py,sha256=UrmLg_4gmBVmMqvSnUMgSReVEERVGv3X7LYDBEs6k_o,16598
|
|
95
97
|
sourcecode/spring_tx_analyzer.py,sha256=lp0h5Pzzd3fPxHAAagMmG8PqR1-v2uVpFIG1o7tCWQs,41148
|
|
96
98
|
sourcecode/summarizer.py,sha256=sr0-tfecFKCr-fSkPPWbl-t9HC7SY2ZxkjnnXX8DB2A,26621
|
|
99
|
+
sourcecode/test_sources.py,sha256=2O7LXF-M-CQ0DwEF3B7BfWE6IWmHJngSOES5aRz6WR4,6205
|
|
97
100
|
sourcecode/token_estimate.py,sha256=ZP3C54aQLExuf32Yvrjok2TAS2oSSyNVRA_HjhsD6Eg,7165
|
|
98
101
|
sourcecode/tree_utils.py,sha256=8GAkIfQAsvtEudIeW1l4ooH_oRtrWR8cpJQJsEa_Pfw,2093
|
|
99
102
|
sourcecode/type_usage_surface.py,sha256=51IrKRQoIoRnlsiDjHnqpJBn2rc6E59aRhgS0HTzAF0,4428
|
|
@@ -125,11 +128,13 @@ sourcecode/detectors/rust.py,sha256=Tij1vz8BFZ332GEvVkL6vyMli2OMHJfHyDAppWfe66c,
|
|
|
125
128
|
sourcecode/detectors/systems.py,sha256=nYaKbGDFu0EOXFcd_1doWFT3tTUdkbxc2DjHUF5TcqQ,1627
|
|
126
129
|
sourcecode/detectors/terraform.py,sha256=cxORPR_zVLOJpHlh4e9JnFpkQsn_UnqMMom5yG65hZ4,1693
|
|
127
130
|
sourcecode/detectors/tooling.py,sha256=8CKbtxwQoABP-WyBRNmdAmHDOvAH57AR1cF4UKuWEdQ,2074
|
|
131
|
+
sourcecode/facts/__init__.py,sha256=JpMjDb7BSaM1a9UQU91YYKr2HJ5tOOuNRCIeQwN8_2o,2341
|
|
132
|
+
sourcecode/facts/registry.json,sha256=9cfOX_OFMZSExOYcMDVxtGj_AG8nJGC9pqTfKOakoFA,9711
|
|
128
133
|
sourcecode/mcp/__init__.py,sha256=XU4HfRGbdid8wdUA0x_4f7uKZD1z3mv_XUY_WU_T9Mw,179
|
|
129
134
|
sourcecode/mcp/orchestrator.py,sha256=diVoQgn24QmgPL3Ev8Sp6hsvh02OqY3MktHXOzrlodo,36525
|
|
130
|
-
sourcecode/mcp/registry.py,sha256=
|
|
135
|
+
sourcecode/mcp/registry.py,sha256=ZaezKqEbRtPto8aBHpP9XsnSkQ-u4fMtDxhwkgl-iuc,68418
|
|
131
136
|
sourcecode/mcp/runner.py,sha256=RGimCwhLyHxjCvH7q72y12HWEnATXZLC-NBWhkzlu0I,2852
|
|
132
|
-
sourcecode/mcp/server.py,sha256=
|
|
137
|
+
sourcecode/mcp/server.py,sha256=EX6TJCGBK0zPOhtArXAVuVhi2o_whbA8jw0CyC7SkVw,65508
|
|
133
138
|
sourcecode/mcp/onboarding/__init__.py,sha256=sj2PWqEBmMc4zBNkomg89WtL0M6S7A9yb7_wAuSWNP4,66
|
|
134
139
|
sourcecode/mcp/onboarding/applier.py,sha256=Sx9vHTaXr_M1Bs4uMjO7qa_a2_p4J9oz93oJsKQ7ds4,3298
|
|
135
140
|
sourcecode/mcp/onboarding/backup.py,sha256=ihqGOR8QTX8HASRSEDyfFyXr5bkXrygPHamv4p9KTmk,1452
|
|
@@ -154,14 +159,14 @@ sourcecode/retrieval/steps_intf.py,sha256=BIopGUhxwutV51r8-1bTCC_VTYENJiHbREF13p
|
|
|
154
159
|
sourcecode/retrieval/steps_struct.py,sha256=jO9L49hziTlS_xhuhCGUavgyAL3ZAnJSOZB-UA4GaRM,13893
|
|
155
160
|
sourcecode/retrieval/steps_txsec.py,sha256=LKRzALzRw_0aQ3_tpbd34mt8u7o690g5tCnp871j7P4,17804
|
|
156
161
|
sourcecode/schemas/envelope-v1.schema.json,sha256=lABkyKqXND039JUY2R6KK47OCDco5mq5PLgkcCXFhOQ,3477
|
|
157
|
-
sourcecode/telemetry/__init__.py,sha256=
|
|
158
|
-
sourcecode/telemetry/config.py,sha256=
|
|
159
|
-
sourcecode/telemetry/consent.py,sha256=
|
|
162
|
+
sourcecode/telemetry/__init__.py,sha256=ZxV5AJAK5_pk0RnW0B1ntpGPRapOX_XKFJdT_6RuYhE,3502
|
|
163
|
+
sourcecode/telemetry/config.py,sha256=HD5ccO_k91WxDsnMo1lmxaF906bK3nrLv8qzUR3HbTo,4212
|
|
164
|
+
sourcecode/telemetry/consent.py,sha256=pQdl-QeLl6Gcibn0eWHSKZrm-HYSsjpVqOnjrgFp8co,2472
|
|
160
165
|
sourcecode/telemetry/events.py,sha256=4_yeO58U-Cwc1Qb27VB0_EjhmroY0k91n3_VGxeALB8,2776
|
|
161
166
|
sourcecode/telemetry/filters.py,sha256=RzxauTz8HliO4BllQnXEXc7zTeqdCZi5MgqGEDuW7OQ,6570
|
|
162
167
|
sourcecode/telemetry/transport.py,sha256=4gGHsq0WeY9VywEZXA3vUxykfiYnw9uuqfjAAec7F8o,1681
|
|
163
|
-
sourcecode-3.2.
|
|
164
|
-
sourcecode-3.2.
|
|
165
|
-
sourcecode-3.2.
|
|
166
|
-
sourcecode-3.2.
|
|
167
|
-
sourcecode-3.2.
|
|
168
|
+
sourcecode-3.2.2.dist-info/METADATA,sha256=jVS3W1ZhWUoj34fE8GVEeg4w8CmEPhtAxCpuJ-qIEV4,19406
|
|
169
|
+
sourcecode-3.2.2.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
|
|
170
|
+
sourcecode-3.2.2.dist-info/entry_points.txt,sha256=-JEAdChrK5We51kZcb7OaDcyil-dHBjBPL-NhuO-QY8,89
|
|
171
|
+
sourcecode-3.2.2.dist-info/licenses/LICENSE,sha256=7DdHrU9Z_3e7dSvq4ISijZNjnuHo5NIHNiHDouMQ9JU,10491
|
|
172
|
+
sourcecode-3.2.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|