📝 ISE_v10_1_Checkpoint_closeout -- come -- ISE_v10_2_Checkpoint_openup.mdv4.5.1 · 2026-10-02

DM2S/NX/LVI v1.0 (and ISE v10.2 etc.) -- merged checkpoint, 07/10/2026 21:29 AEDT

One file replacing four: Checkpoint_new3 (6-7 Oct, ISE v10 close-out), Checkpoint_carried_fwd (14:28), Checkpoint_new1 (20:30), Checkpoint_new2 (COB, stale-entries). Merged in that order; where two disagree the later one wins and the conflict is listed in section 2. Tags: PROVEN (Andrew's output / my test), CONFIRMED (Andrew saw it work), UNCONFIRMED (delivered, not reported installed).


1. Environment facts (all still hold)

2. Release ledger -- one table

Module Latest known Carried by State
SearchCommon 1.2.0 (Live has 1.1.0, md5 a31d5461...) ISE_NameHitRanking_v1.0.0 1.1.0 PROVEN on Live; 1.2.0 UNCONFIRMED
RankingEngine 7.5.0 NameHitRanking UNCONFIRMED
ise_render 8.0#6 NameHitRanking UNCONFIRMED
ResultFormatter 7.4.5 (7.4.4 never installed; Live runs sed hotfix) NameHitRanking UNCONFIRMED
MediaSearch 1.10.3 ISEmedia_stale_entries_v1.0.4 deployed Clone/Live/Dev (new2) -- see conflict A
MiscSearch 7.7.1 ISE_SearchCommon_v1.1.0 PROVEN on Live
PDFsearch 7.8.1 ISE_SearchCommon_v1.1.0 PROVEN on Live
search.py 7.6.1 stale_entries_v1.0.4 deployed
MediaIndexer ISE v9.9.9 stale_entries_v1.0.4 deployed (9.9.5-9.9.7 and the hourly cron: see below)
MediaProcessor ISE v9.27 stale_entries_v1.0.4 deployed
IndexBuilder 7.4.4 stale_entries_v1.0.4 deployed
IndexLookup 7.4.1#3 stale_entries_v1.0.4 deployed
AudioProcessor 1.2.3 (Andrew's); stale-entries adds --prune -- see conflict B stale_entries_v1.0.4 deployed
PHP bridges qf_search 1.2, Media 1.1.1, Mega 8.2, Misc 1.1, PDF 1.1 ISE_Bridges_Logging_v1.0.0 CONFIRMED on Live
ise_trace 1.1.0 ise_trace_v1.1.0 UNCONFIRMED
find_attachment 1.0.1 find_attachment_v1.0.1 PROVEN on Live
audio_features2 1.0.0 / audio_features_list 1.0.6 own zips delivered, deployment not reported
ISEmega v8.0 (MegaSearch queries posts/PDF/Misc only, no media) -- unchanged

Conflicts between the checkpoints (resolve before installing anything)

3. Problem & Resolution (by topic)

3.1 Wildcard / file-name matching -- SearchCommon (new3)

3.2 zoneinfo crash (new3)

3.3 djjamestobin.m4a (id 7189) not found (new3, then cp1)

3.4 MediaIndexer hourly run (cp1)

3.5 Log flood (cp1) -- CONFIRMED

3.6 Name hits outrank everything -- ranking (cp1)

3.7 Stale entries and --version (new2) -- deployed, verified Clone/Live/Dev

3.8 AudioProcessor on Clone (cp1)

3.9 Smaller items

4. Native / LVI design (nothing built)

Andrew's direction: (1) a "native" option for all multimedia in [listatt], like the PDF one; (2)(3) an LVI (Lightweight VLC Interface) BBCode driving VLC's HTTP interface, also called from [listatt].

Findings from Collaborative_v5.0.zip and listatt_bbcode_v6.14.zip:

Proposed build (awaiting Andrew's go; timing his):

  1. view_attach.php 1.9: media MIME types, 206 Range, same permission check.
  2. ListAttBBC.php 6.15: [native] link on image/audio/video rows; unplayable formats (3gp, wma, avi, wmv, most mkv, mpg) get Download + Open in VLC; add 3gp etc. to the extension lists.
  3. Collaborative 5.1: viewer message for unplayable formats; permissions (dir 755, files 644, apache).
  4. LVI as its own mod (CollabCore dependency): signed link minted at render time view_attach.php?attach=N&exp=T&sig=HMAC, endpoint accepts a valid unexpired signature (VLC has no forum cookie), secret on Live, short expiry. LAN-only Clone alias not recommended.
  5. FIRST, a throwaway browser-to-VLC test page. Unverified: VLC's HTTP interface needs a password and sends no CORS headers, so a cross-origin page can probably fire a play command but not read the reply; credentials may not attach. Fallback: an .m3u/.xspf the OS opens in VLC.

Hard rule: do NOT model new code on listatt (the v7.0 disaster). WRAP the working v6.14 code: the PDF [native] link is a four-line change in the row loop; do the same for media. Build on v6.14 and view_attach 1.8 as uploaded, change only what is listed, diff against them.

Baselines (uploaded zips): Collaborative_v5.0.zip 66ba89080d01f103ef953178bc3e0377 (viewer file d03bc883504f8049bfbe9f9e1c1c9246); listatt_bbcode_v6.14.zip 0035738843f003dd5d7abe402afb42ae (ListAttBBC.php ac05f2c3db379e97212e9442e31f1616, view_attach.php f1930429c14eb2d5319bffd18b343bb9). Both matched on 07/10 21:01.

5. Risk Analysis

Risk Detail
Ranking zip vs deployed code (conflict A) Installing as-is can downgrade MediaSearch 1.10.3. Rebuild on Live's versions as a new dotted version first.
Code coherence The ranking/search files must match on Live, Clone, Dev (standing rule). SearchCommon stack + MediaIndexer 9.9.4 were verified on Live only before new2.
Name-hit ranking on mock data only Test 3-4 real queries across posts / ISEpdf / ISEmisc / ISEmedia / ISEmega. Partial-name tier is strong; switch-off name_priority=False.
ResultFormatter Live runs the sed hotfix with no fallback; 7.4.4+ follows server timezone. Decision open.
PDFsearch --limit Applied before ranking; a name-only PDF could be cut.
view_attach.php Range New code path on a security-sensitive endpoint (earlier permission hole fixed in v1.1). Needs a regression test: guest vs restricted board.
Signed links Anyone with the link can read until expiry: short expiry, rate limit, secret only on Live, mint only for viewers who can see the post.
CollabCore 777 / viewer 666 Existing; fix proposed in Collaborative 5.1, not applied.
Browser to VLC may not work Test page first.
--prune scope Only entries absent from Clone's media_store.json. Run MediaIndexer first (done, 2816 items). Stale entries also sit in captions_store.json / embeddings_store.json.
MediaSearch skip uses the local DB On Clone/Dev an attachment only on Live is skipped there too.
MediaIndexer hourly Cron not installed. New uploads are not catalogued automatically until it is.
MediaProcessor (m4a etc.) No frame/caption branch for audio: counted processed, nothing captioned. Not tested live.
Stray py38 installs on Clone Harmless but misleading to pip. Removal unconfirmed.
No SMF code or files edited Everything delivered is ISE Python; listatt/native work goes through the Package Manager.

6. Open items

Waiting on Andrew

Possible builds, none started

Backlog

7. Standing rules

Merged checkpoint ends.