Skip to content

Commit ae14980

Browse files
release(v1.0.6): bounded-range trial ">=8.1.0 <10.0.0" + range-parse confirmed
v1.0.5's ">=9.0.0" was rejected by SLIM with: manifest.platformRequirements.splunk: Version requirement includes no supported version of Splunk Enterprise: >=9.0.0 MAJOR ANALYTICAL FINDING: SLIM echoed back the literal range string (">=9.0.0") in the error wording, NOT "Expected String value". This empirically confirms SLIM PARSES semver ranges as a valid type. The Phase 1.7 "type rejection" conclusion across v1.0.2-v1.0.4 docs was WRONG. Cleanup commit needed regardless of v1.0.6 outcome. Cloud Classic supported-list shape (inferred from F13-F17): - 9.3 NOT on list (F13, v1.0.1) - 10.0 NOT on list (F15, v1.0.3) - 9.4 NOT on list (F16, v1.0.4) - All of [9.0.0, infinity) NOT on list (F17, v1.0.5) The supported set is NOT a contiguous low-floor range. Splunkbase AI explainer's NEW recommendation extends the floor DOWN to 8.1.0: Recommended example: ">=8.1.0 <9.2.0". If you cannot determine the exact upper bound immediately, you can temporarily broaden while keeping a sensible cap, e.g., ">=8.1.0 <10.0.0". User picked ">=8.1.0 <10.0.0" (bounded range, AI's "temporary broaden" form). Rationale: AI's 8.1.0 floor is a meaningful clue that Cloud Classic's list may include 8.x versions; a broader range that covers 8.1.0 -> 9.x maximizes the chance of intersecting Cloud Classic's list. What changed: - app.manifest: Enterprise from ">=9.0.0" to ">=8.1.0 <10.0.0" (bounded range, space-conjunction syntax per AI's literal example); info.id.version 1.0.5 -> 1.0.6; releaseDate 2026-06-05. - default/app.conf: build = 676; [launcher].version = [id].version = 1.0.6. - appserver/static/whitelist_manager.js:14: urlArgs: "_b=676" (auto-applied). - docs/SPLUNK_10_COMPATIBILITY.md: Runtime Verification section extended with v1.0.5 finding + Cloud Classic supported-list shape inference + cumulative format history updated. - docs/APPINSPECT_FINDINGS.md §7.9: 2026-06-05 hosted-API run F17 with the major analytical finding + v1.0.6 trial details + revision-log entry. - docs/DECISION_LOG.md 2026-06-05 row: documents the bounded-range trial + empirically confirms ranges parse (the v1.0.5 row's "Two outcomes possible" analysis was answered: ranges parse, content didn't match). One new maintenance lesson: bounded-range space-conjunction syntax may differ from Phase 1.7's comma form. - CLAUDE.md "Splunk Version Pinning Audit" log: new row with the range-parse empirical confirmation + two new maintenance lessons. Three outcomes possible: 1. SLIM accepts ">=8.1.0 <10.0.0" -> first ACCEPTED semver-range entry in cumulative history; future releases pin to this range format permanently and stop the version-retirement treadmill. Cleanup commit fixes v1.0.2-v1.0.4 docs' "ranges are type- rejected" claims. 2. SLIM rejects with "no supported version: >=8.1.0 <10.0.0" -> Cloud Classic's list excludes both 8.x and 9.x; next move is Splunkbase publisher support ticket (now the documented escalation path). 3. SLIM rejects with "Expected String value" -> unexpected; would indicate space-conjunction is type-rejected. Low probability. Honesty note: 6th release attempt in 6 days. The iterate-and-test discovery method has produced 6 failed data points (F13, F14, F15, F16, F17, plus v1.0.0 pre-release). If v1.0.6 ALSO fails, the iteration cost (1 week, 6 releases) now exceeds the publisher support ticket cost; that's the documented next move. Verification: - bash scripts/validate.sh -> ALL CHECKS PASSED (2 warnings) - bash scripts/preflight-tag.sh v1.0.6 -> OK (all 4 sources at 1.0.6) - bash scripts/pre-commit-doc-drift.sh -> OK (49 docs vs build 676) - Local AppInspect re-run skipped (Docker not running). The next Splunkbase upload of wl_manager-1.0.6.spl is the empirical test.
1 parent f4f0a45 commit ae14980

7 files changed

Lines changed: 234 additions & 8 deletions

File tree

CHANGELOG.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,83 @@ All notable changes to this project will be documented in this file.
44

55
---
66

7+
## [1.0.6] - 2026-06-05
8+
9+
**Bounded-range trial after v1.0.5 confirmed SLIM parses semver ranges
10+
as type.** No app-code changes — manifest + version-bump only.
11+
12+
### Empirical confirmation from v1.0.5
13+
14+
v1.0.5 declared `">=9.0.0"`. SLIM rejected it with:
15+
16+
> manifest.platformRequirements.splunk: Version requirement includes
17+
> no supported version of Splunk Enterprise: **>=9.0.0**
18+
19+
The error echoed back the **literal range string** (`>=9.0.0`), NOT
20+
"Expected String value". This is significant: it confirms **SLIM
21+
parses semver ranges as a valid TYPE**. The Phase 1.7 conclusion
22+
(captured in v1.0.2 / v1.0.3 / v1.0.4 docs) that "semver ranges are
23+
type-rejected" was wrong. Semver ranges ARE accepted; the failure
24+
mode is content (no version in the range matches Cloud Classic's
25+
supported list).
26+
27+
### What v1.0.6 is testing
28+
29+
Splunkbase AI's recommendation in the v1.0.5 failure report extended
30+
the floor DOWN to 8.1.0:
31+
32+
> Recommended example: `">=8.1.0 <9.2.0"`. If you cannot determine the
33+
> exact upper bound immediately, you can temporarily broaden while
34+
> keeping a sensible cap, e.g., `">=8.1.0 <10.0.0"`.
35+
36+
User picked `">=8.1.0 <10.0.0"` (bounded range, broader than the AI's
37+
narrower example, excludes 10.x). Rationale: the AI suggesting 8.1.0
38+
as the floor is a meaningful clue — Cloud Classic's supported list
39+
may include 8.x versions that we hadn't considered. A broader range
40+
that covers 8.1.0 → 9.x maximizes the chance of intersecting Cloud
41+
Classic's list.
42+
43+
Cumulative search-space progression:
44+
- `[9.4, ∞)` (v1.0.4 `"9.4"`) — single version, didn't match list
45+
- `[9.0.0, ∞)` (v1.0.5 `">=9.0.0"`) — broader, still didn't match
46+
- `[8.1.0, 10.0.0)` (v1.0.6 — this release) — extends to 8.x
47+
48+
If 8.x is on Cloud Classic's list, this matches. If only 9.x retired
49+
minors are on the list (e.g., 9.2 or 9.1), this matches. If 10.x is
50+
on the list, this still doesn't match (intentional exclusion).
51+
52+
### What changed since v1.0.5
53+
54+
| File | Change |
55+
|---|---|
56+
| `app.manifest` | `Enterprise` from `">=9.0.0"` to `">=8.1.0 <10.0.0"`; `info.id.version` 1.0.5 → 1.0.6; `releaseDate` 2026-06-05 |
57+
| `default/app.conf` | `[install].build` 675 → 676; `[launcher].version` + `[id].version` 1.0.5 → 1.0.6 |
58+
| `appserver/static/whitelist_manager.js` | `urlArgs: "_b=676"` (auto-synced) |
59+
| `docs/SPLUNK_10_COMPATIBILITY.md` | Runtime Verification: 2026-06-05 update confirming SLIM parses ranges + cumulative format history with v1.0.5 result |
60+
| `docs/APPINSPECT_FINDINGS.md` §7.9 | 2026-06-05 hosted-API run F17 + v1.0.6 trial details |
61+
| `docs/DECISION_LOG.md` 2026-06-05 row | Documents the bounded-range trial + the v1.0.5 empirical confirmation that ranges parse |
62+
| `CLAUDE.md` | Audit-log row with the confirmation-of-range-parsing |
63+
| `CHANGELOG.md` | This entry |
64+
65+
### Two outcomes possible
66+
67+
1. **SLIM accepts `">=8.1.0 <10.0.0"`** → Cloud Vetting clears. The
68+
format history's first ACCEPTED semver-range entry. Future
69+
releases can pin to this range and stop the version-retirement
70+
treadmill entirely.
71+
2. **SLIM rejects with "no supported version: >=8.1.0 <10.0.0"**
72+
Cloud Classic's list is even narrower (possibly only 10.x, or a
73+
specific older version). Next move is the Splunkbase publisher
74+
support ticket the v1.0.5 docs already flagged as the escalation
75+
path.
76+
77+
### What did not change
78+
79+
- All app code, dashboards, RBAC.
80+
- Sigstore signing chain.
81+
82+
---
83+
784
## [1.0.5] - 2026-06-04
885

986
**Semver-range trial after `"9.4"` was also rejected.** No app-code or

app.manifest

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"id": {
66
"group": null,
77
"name": "wl_manager",
8-
"version": "1.0.5"
8+
"version": "1.0.6"
99
},
1010
"author": [
1111
{
@@ -14,7 +14,7 @@
1414
"company": null
1515
}
1616
],
17-
"releaseDate": "2026-06-04",
17+
"releaseDate": "2026-06-05",
1818
"description": "Manage detection-rule CSV whitelists with diff-based audit trail. Provides a web-based interface for viewing, editing, adding, and removing whitelist entries with full change tracking, expiration management, and role-based access control.",
1919
"classification": {
2020
"intendedAudience": "Security Operations",
@@ -36,7 +36,7 @@
3636
"incompatibleApps": null,
3737
"platformRequirements": {
3838
"splunk": {
39-
"Enterprise": ">=9.0.0"
39+
"Enterprise": ">=8.1.0 <10.0.0"
4040
}
4141
},
4242
"supportedDeployments": [

appserver/static/whitelist_manager.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
// disk cache. Splunk serves /static/@<server-hash>/... with Cache-Control:
1212
// public, max-age=31536000; without urlArgs, bumped build numbers don't force
1313
// a re-fetch and clients run stale JS until they hard-refresh.
14-
require.config({ urlArgs: "_b=675" });
14+
require.config({ urlArgs: "_b=676" });
1515
require([
1616
"jquery",
1717
"underscore",

default/app.conf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@
55

66
[install]
77
is_configured = false
8-
build = 675
8+
build = 676
99

1010
[launcher]
1111
author = Oleh Bezsonov
1212
description = Manage detection-rule CSV whitelists with inline editing, approval workflows, version control, and diff-based audit trail
13-
version = 1.0.5
13+
version = 1.0.6
1414

1515
[ui]
1616
is_visible = true
1717
label = Whitelist Manager
1818

1919
[id]
2020
name = wl_manager
21-
version = 1.0.5
21+
version = 1.0.6
2222

2323
# AppInspect 4.2.0 has both `check_for_valid_package_id` (looks at the
2424
# new [id] stanza) and `check_for_updates_disabled` (looks at the

docs/APPINSPECT_FINDINGS.md

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -827,6 +827,81 @@ Runtime Verification for details):
827827

828828
---
829829

830+
## 7.9 v1.0.5 Splunkbase upload — `">=9.0.0"` REJECTED but confirms SLIM parses ranges (2026-06-05 → v1.0.6 trial)
831+
832+
**Background**: v1.0.5 declared `">=9.0.0"` as an empirical test of
833+
whether SLIM type-rejects semver ranges. SLIM rejected with:
834+
835+
> manifest.platformRequirements.splunk: Version requirement includes
836+
> no supported version of Splunk Enterprise: **>=9.0.0**
837+
838+
| # | Class | File | Stanza | Setting / message |
839+
|---|-------|------|--------|------------------|
840+
| **F17** | **HARD ERROR (content)** | `app.manifest` | `platformRequirements.splunk.Enterprise` | "Version requirement includes no supported version of Splunk Enterprise: >=9.0.0" |
841+
842+
**Headline numbers**: 162 success / **1 failure** / 0 future / 0 errors
843+
/ 5 warnings / 79 N/A / 0 skipped.
844+
845+
**F17 — major analytical finding**: SLIM echoed back the literal range
846+
string `">=9.0.0"`, NOT "Expected String value". This is the
847+
definitive disambiguation: SLIM **parses semver ranges as a valid
848+
type**. The rejection is content-based — no version in `[9.0.0, ∞)`
849+
matches Cloud Classic's supported list. My v1.0.2 / v1.0.3 / v1.0.4
850+
docs claiming "ranges are type-rejected" were wrong.
851+
852+
**Cloud Classic supported-list shape (inferred from F13-F17)**:
853+
854+
Versions NOT on the list:
855+
- 9.3 (F13, v1.0.1)
856+
- 10.0 (F15, v1.0.3)
857+
- 9.4 (F16, v1.0.4)
858+
- All of `[9.0.0, ∞)` (F17, v1.0.5)
859+
860+
The supported set is NOT a contiguous low-floor range. Splunkbase AI
861+
explainer's new floor hint (`">=8.1.0"`) suggests 8.x may be on the
862+
list.
863+
864+
**Resolution (v1.0.6, commit pending)**:
865+
866+
- `app.manifest`: `Enterprise` from `">=9.0.0"` to `">=8.1.0 <10.0.0"`
867+
(bounded range, space-conjunction syntax per AI explainer's
868+
example).
869+
- `app.manifest`: `info.id.version` 1.0.5 → 1.0.6; `releaseDate`
870+
2026-06-05.
871+
- `default/app.conf`: `build = 676`; `[launcher].version =
872+
[id].version = 1.0.6`.
873+
- `appserver/static/whitelist_manager.js:14`: `urlArgs: "_b=676"`
874+
(auto-applied).
875+
- `docs/SPLUNK_10_COMPATIBILITY.md` Runtime Verification: 2026-06-05
876+
section + cumulative format history updated with the v1.0.5 finding.
877+
878+
**Disposition**: **F17 testing-in-v1.0.6**.
879+
880+
**Updated cumulative SLIM format history**:
881+
882+
| Format | Result | Release |
883+
|---|---|---|
884+
| `">=9.0.0"` | REJECTED (content) | v1.0.0 pre-release; v1.0.5 |
885+
| `">=9.0,<10.0"` | REJECTED (likely content + comma syntax) | v1.0.0-rc Phase 1.7 |
886+
| `"9.3"` | ACCEPTED-then-RETIRED | v1.0.0, v1.0.1 |
887+
| `["9.4", "10.0"]` | REJECTED (type) | v1.0.2 (F14) |
888+
| `"10.0"` | REJECTED (content) | v1.0.3 (F15) |
889+
| `"9.4"` | REJECTED (content) | v1.0.4 (F16) |
890+
| `">=9.0.0"` | REJECTED (content) — empirically confirmed range PARSES | v1.0.5 (F17) |
891+
| `">=8.1.0 <10.0.0"` | (v1.0.6 trial) | v1.0.6 |
892+
893+
**Three outcomes possible for v1.0.6**:
894+
895+
1. SLIM accepts → first ACCEPTED semver-range entry. Pin to this
896+
format permanently. Cleanup commit needed for v1.0.2-v1.0.4 docs.
897+
2. SLIM rejects with "no supported version" → Cloud Classic's list
898+
excludes both 8.x and 9.x; next move is Splunkbase publisher
899+
support ticket.
900+
3. SLIM rejects with "Expected String value" → unexpected; would
901+
indicate space-conjunction is type-rejected. Low probability.
902+
903+
---
904+
830905
## 8. Revision log
831906

832907
- 2026-05-17 — initial Phase 1.3 baseline. App.manifest version drift
@@ -923,6 +998,21 @@ Runtime Verification for details):
923998
conclusion: list form, semver ranges, and open-ended floors are
924999
all rejected; multi-version support requires a Splunk-side SLIM
9251000
schema change.
1001+
- 2026-06-05 — **v1.0.5 Splunkbase upload → F17 SLIM unsupported-
1002+
version rejection of `">=9.0.0"` semver range** — major analytical
1003+
finding: SLIM echoed back the literal range string, NOT "Expected
1004+
String value". This empirically confirms SLIM PARSES semver ranges
1005+
as a valid type; my v1.0.2-v1.0.4 docs claiming "ranges are type-
1006+
rejected" were wrong. §7.9 added with the analytical disambiguation
1007+
+ Cloud Classic supported-list shape inference (NOT a contiguous
1008+
low-floor range; `[9.0.0, ∞)` excluded). Splunkbase AI's new
1009+
recommendation extends the floor DOWN to 8.1.0, suggesting 8.x may
1010+
be on the list. v1.0.6 tests bounded range `">=8.1.0 <10.0.0"`
1011+
(space conjunction per AI explainer's example syntax). New
1012+
`docs/DECISION_LOG.md` 2026-06-05 row + `docs/SPLUNK_10_COMPATIBILITY.md`
1013+
Runtime Verification updated; CLAUDE.md audit log row appended.
1014+
Cleanup commit needed regardless of v1.0.6 outcome to correct the
1015+
v1.0.2-v1.0.4 docs' "ranges are type-rejected" claim.
9261016
- 2026-06-04 (evening) — **v1.0.4 Splunkbase upload → F16 SLIM
9271017
unsupported-version rejection of `"9.4"`**. Three single-version
9281018
strings now confirmed NOT on Cloud Classic's supported list: 9.3

0 commit comments

Comments
 (0)