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.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sourcecode
3
- Version: 3.2.0
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
- # High-signal structural summary — warm cache ~0.3s, cold 2–10s
100
- ask --compact
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
- # Blast radius: what breaks if this class changes?
103
- ask impact OrderService /path/to/repo
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 migration readiness (bounded decision summary)
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
- # Spring semantic audit: TX anomalies + security surface
109
- ask spring-audit /path/to/repo
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
- Full command reference: **[docs/USER_GUIDE.md](docs/USER_GUIDE.md)**.
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 disable # anonymous telemetry is on by default (opt-out)
314
+ ask telemetry enable # anonymous telemetry is OFF by default (opt-in)
208
315
  ```
209
316
 
210
- Telemetry collects version, OS, commands, flags, duration, repo-size range, and errors —
211
- **no source code, paths, secrets, or output**. Disable any time with
212
- `export SOURCECODE_TELEMETRY=0` (or `DO_NOT_TRACK=1`).
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=4hwV87XY8dgmsv4RaWkZzBMSpB_T8EQ4A9_-xB5CzmI,308
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=hv5GTk-RktbediFMgNUMcd4R7NuEg5BOaAzj5ZEoD18,33739
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=1kLHv1t7g5rMmycIYSpm3az8SjCr01Xw7LtyV2tNhSA,10666
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=F7HXBOhTrzLppk81GDazz6sIvowkZomei1MCRXaTutc,400663
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=vnbPI-20FnHdjO6STxHW8fbaxmB4A7y58io63ibFZjc,21586
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=WwN07VUylo8sRyWIgK7qp1D6uK4ZrR4EkPnyENFKwyU,27101
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=liaruxpoL-8mfHHZhACZrSe5L2K7Vn9Jwu4k3cZ8oXI,8637
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=keFuwNxdAtvK2Ds91Wl79GMYxuxWYnN5Wbw1qBpaoUI,24896
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=m0ENgtqKeBL17kUIK3fmGkgo7UfXBNHxCMj0H_Y5K7c,22750
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=bWOIcq702NAwwZDRzhTxwYNz0ULdEqb9VvYf1C2yvV0,33206
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=-pZdQG4g7v47zQLozsIfMW3YYbA3t5GC--iQOmJAK6Y,229897
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=Hw8TakTQ6hku-Abf2k8954NwkrH_sP73_8wVH8x5khc,22079
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=BAGL2J3G3bHvJS60OcxekPvTJg8x6b1LzeLKFbGaots,131497
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=YPgBH3RuML-mtid7YwUMfA9sfSXPZwknYL7UvRMoYbE,7946
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=1qIcwtl01AGjEM3yMOwYgr_Ck3y-LZeRvh8i70Nhl_w,68258
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=GH7bgJRVVkBJf-orj_Zmn_mEqMENG76-KNREJS7E5FY,65354
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=a-cy2Gypx9fzJfBHK-e3hstYi6FLNlUj-k62yWyugMY,3461
158
- sourcecode/telemetry/config.py,sha256=u_zctgmA1pVT3Ai5jm-pdLY_5kJTRg4Xq2bvIbGBQE4,3727
159
- sourcecode/telemetry/consent.py,sha256=GuhCiA_x2n3LwGBkZnvyIwtFcf5Zwa8O0DdLqkATIr0,2220
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.0.dist-info/METADATA,sha256=O9_rjaiou-XB3P9QZsqnkmS1OAKcBCiEsxJOjjN2D9A,11286
164
- sourcecode-3.2.0.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
165
- sourcecode-3.2.0.dist-info/entry_points.txt,sha256=-JEAdChrK5We51kZcb7OaDcyil-dHBjBPL-NhuO-QY8,89
166
- sourcecode-3.2.0.dist-info/licenses/LICENSE,sha256=7DdHrU9Z_3e7dSvq4ISijZNjnuHo5NIHNiHDouMQ9JU,10491
167
- sourcecode-3.2.0.dist-info/RECORD,,
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,,