Apps Directory Sweep — Tech[30]

Pilot system for SOP-APPS-DIRECTORY-STANDARD.md · 08/27/26
USR369's rule: every system's real app files live in apps/, nothing loose at the system root. Tech[30] went first as the pilot so the methodology (see SOP-APPS-DIRECTORY-STANDARD.md) could be worked out for real before going through the other 10 systems. Full detail in decisions D905-D908 and FIX-LOG. This page is the running record -- update it in place, don't create a new one, when Tech[30] gets revisited.

File-by-file outcome

FileWasStatusWhat happened
housekeeping-library.htmlapps/ (already)no actionAlready correctly placed, already fixed earlier this session (archive restore + new QA entries)
script-library.htmlapps/ (already)no actionAlready correctly placed, already fixed earlier this session (SCRIPT-005 added)
navigator.htmlapps/ (already)no actionAlready correctly placed, confirmed complete earlier this session
Tech_Library_UI.htmlapps/ (already)no actionAlready correctly placed, confirmed complete earlier this session
android-library.htmlapps/ (already)no actionAlready correctly placed, already fixed earlier this session (QA-A006 added)
windows.html30-Tech/ rootfixed + movedRoot cause: stale hardcoded token in systems/30-tech/data/30-app-api.php (didn't match current live admin token) -- fixed, confirmed real distinct data (22 Windows Q&A entries), moved to apps/
android.html30-Tech/ rootfixed + movedSame backend/same fix as windows.html -- confirmed genuinely distinct data (6 Android Q&A entries, not a duplicate of windows.html), moved to apps/
scripts.html30-Tech/ rootrebuilt + movedStatic v1.0a data confirmed corrupted (duplicate ids, Android answers pasted into Windows Q&A entries). Rebuilt v2.0 to fetch live from the now-fixed 30-app-api.php (qa_log+scripts+shortcuts+commands, library IN windows/android only -- excludes Server[40]'s own scripts sitting in the same DB). Old corrupted version archived to Trash, not deleted. Moved to apps/.
define.html30-Tech/ rootmovedConfirmed working, 138 real entries, self-contained -- moved to apps/ as-is
shortcuts.html30-Tech/ rootmovedConfirmed working, links to 2 real detail pages at systems/30-tech/laboratory/library/ (left in place, legitimate reference location) -- moved to apps/ as-is
php.html30-Tech/ rootmovedConfirmed working, ~74 real entries, self-contained -- moved to apps/ as-is
PREVIOUS_scripts_07-24-26.html30-Tech/ rootalready goneConfirmed 404 before I could retire it -- USR369 must have removed it separately already
PREVIOUS_index_07-24-26.html30-Tech/ rootalready goneSame as above, already gone
check_temp.php30-Tech/ rootopen questionTiny debug utility (lists files in systems/30-tech/temp/), not a user-facing app. Doesn't clearly belong in apps/ either. Left in place pending USR369's call -- not guessed on.

Also caught along the way

Own mistake, fixed: earlier the same session, before this sweep, I'd created 3 PREVIOUS_[name]_08-26-26.html backup copies directly in the live apps/ folder (housekeeping/script/android-library) -- exactly the anti-pattern SOP-PAGE-HYGIENE.md (also new this session) was written to stop. Caught it via a TASKGATE low-confidence match, corrected via retire-files.php before continuing. Backend fix, not just a move: the windows.html/android.html "duplicate" symptom reported earlier turned out to not be a duplicate-content bug at all -- one shared template correctly switches based on URL, the real fault was a stale token in 30-app-api.php blocking both from loading any data. Fixed the token, not the template. Cross-system data found inside Tech's own database: systems/30-tech/data/30-app.db's "scripts" table also holds Server[40]'s own scripts (SCRIPT-S002 through S006, library=server) -- left completely alone, excluded from the rebuilt scripts.html per the cross-system scoping principle in SOP-OLD-ZIPS-SEARCH.md (same rule applies here even though this isn't the zip archive it was originally written for). Row content exported to Server[40] via transfer 4263 (08/27/26), byte-verified. Follow-up session (08/27/26 late morning): android-library.html confirmed superseded, not a real second app. The naming collision Server[40] filed (transfer 4238) against android.html turned out to be a stale-duplicate problem, not a naming problem. android-library.html was promoted 08/26/26 from an archived Database_PREV copy as a stopgap while android.html was broken; now that android.html's token bug is fixed and it's live, the live DB has the same 6 Q&A entries as android-library.html's static QA-A001-A006 plus more shortcuts (28 vs 11) and commands (19 vs 17). Preserved content at Trash/frontend/30-Tech/apps/android-library_superseded_08_27_26_11amPT.html (byte-verified 28257b), removed its hub link, updated page-inventory.html (n:148 DONE, n:181 SUPERSEDED). Logged as D913 (two-step). Could not execute the actual live-file retirement -- backend/tmp/retire-files.php (confirmed via file-editor.php: does not exist at that path anymore, not just a routing 404) -- asked Server[40] (transfer 4264) to either run it or supply the current path.