You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(planning): Phase 1.6 first API run results — R1.1/D7 NOT triggered
Replaces the §5 "Open items for Phase 1.5/1.6" placeholder in
docs/APPINSPECT_FINDINGS.md with the actual hosted-API findings from
run ID 26000914082 against HEAD 027014a (Phase 1.5 path-doubling
hotfix).
Result summary:
- Cloud Vetting (cloud tag): 0 errors, 1 failure, 5 warnings, 161 pass
- Self-Service Cloud (private_app tag): 0 errors, 0 failures, 5 warnings, 159 pass
The single failure is check_that_app_passes_slim_validation_for_cloud,
decomposing into:
F1 (HARD ERROR): app.manifest platformRequirements.splunk = ">=9.0.0"
is rejected by SLIM — no concrete supported version.
One-line manifest edit for Phase 1.7.
F2-F11: SLIM spec-drift on python.version + python.required across
5 stanzas (inputs.conf x3, restmap.conf, commands.conf).
Source settings ARE present at default/inputs.conf:16-17,
:43-44, :61-62; default/restmap.conf:22-23;
default/commands.conf:8-9 — required by static AppInspect's
python-version check. SLIM's spec catalog is older and
flags them as undefined. Phase 1.7 will suppress via
.appinspect_api.expect.yaml; settings stay.
F12: default/app.conf [id] missing check_for_updates. One-line
fix for Phase 1.7.
R1.1 / D7 escalation assessment: NOT triggered. The pre-flagged
"persistent scripted input rejection" surface (wl_fim_watch.py
interval = 0, called out as "single biggest remaining unknown" in
the previous §5) did NOT materialize — Cloud Vetting accepted the
stanza; the only flags on wl_fim_watch.py were the same spec-drift
noise (F6/F7) every other script stanza got. All 12 sub-findings
are config edits, total estimated effort <=2 hours vs the >2 week
budget the escalation clause assumes.
Phase 1.7 ("Fix all error-severity findings") proceeds within
original scope and schedule.
The §7 revision log records both the Phase 1.5 workflow drift fix
(commit 027014a) and the Phase 1.6 result. Existing §3 warning
triage applies unchanged — the dynamic API run reproduced the local
CLI's 5 cloud warnings byte-for-byte; no new warning classes
emerged.
`check_for_gratuitous_cron_scheduling`, `check_collections_conf`); no
228
+
new warnings were introduced by the dynamic stage.
229
+
230
+
The `private_app` profile passed cleanly — Self-Service Cloud is
231
+
already a valid distribution path for the current build.
232
+
233
+
### 5.2 The one failure — `check_that_app_passes_slim_validation_for_cloud`
234
+
235
+
The hosted API embeds the Splunk Packaging Toolkit (SLIM) and runs
236
+
its `slim validate` step against the unpacked .spl. SLIM rejected the
237
+
package with a single hard error plus eleven secondary "undefined
238
+
setting" observations:
239
+
240
+
| # | Class | File | Stanza | Setting / message |
241
+
|---|-------|------|--------|------------------|
242
+
|**F1**|**HARD ERROR**|`app.manifest`|`platformRequirements.splunk`| "Version requirement includes no supported version of Splunk Enterprise: `>=9.0.0`" |
because static AppInspect's `check_python_version_correctness_for_splunk_enterprise`
267
+
requires them. SLIM does not recognize them in its spec and flags
268
+
both as undefined. This is the spec-drift between AppInspect and SLIM
269
+
that the existing source-comments (e.g., `inputs.conf:12-15`)
270
+
predicted. Two valid remediations for Phase 1.7:
271
+
272
+
1. Live with the SLIM noise; document it in `.appinspect_api.expect.yaml`
273
+
so the workflow stops failing on these. The settings stay (static
274
+
AppInspect needs them).
275
+
2. Engage Splunk on the SLIM/AppInspect spec divergence. Likely too
276
+
slow to be a Phase 1.7 fix.
277
+
278
+
Option (1) is the intended Phase 1.7 path; option (2) is for the
279
+
roadmap.
280
+
281
+
**F12 — root cause analysis**: `default/app.conf [id]` is missing
282
+
`check_for_updates`. The setting is optional in static AppInspect but
283
+
SLIM treats its absence as undefined (vs. the explicit
284
+
`check_for_updates = false` Splunk recommends for Cloud apps that
285
+
should not auto-update via the in-product update mechanism). One-line
286
+
fix in Phase 1.7.
287
+
288
+
### 5.3 Pre-flagged surfaces — outcome
289
+
290
+
The pre-Phase-1.6 `§5` (this section in its previous form) listed
291
+
three surfaces of concern. Outcome from the actual run:
292
+
293
+
| # | Pre-flagged surface | Outcome |
294
+
|---|---------------------|---------|
295
+
| 1 |**Persistent scripted inputs** (`bin/wl_fim_watch.py``interval = 0`, "single biggest remaining unknown") |**NOT rejected.** The Cloud profile accepted the stanza's presence; the only flag on `wl_fim_watch.py` was the spec-drift `python.version`/`python.required` noise (F6/F7) shared with every other script stanza. The R1.1 / D7 escalation surface (refactor `wl_fim_watch.py` to non-persistent) did **NOT** materialize. |
296
+
| 2 |**Outbound network calls** (handler → `localhost:8089` via `splunk.rest.simpleRequest`) |**Not flagged.** Loopback to splunkd is implicit-allow on both profiles. |
297
+
| 3 |**CycloneDX SBOM** as a `.spl` sibling |**Not flagged by the validator.** Splunkbase upload step (Phase 4) will exercise this separately. |
0 commit comments