- Swap load_dependencies() before register_autoloader() in the
constructor so Composer (when a vendor/ install is present) is
registered on the spl_autoload stack first and therefore acts as
the primary class resolver, with the custom loader as fallback.
- Add early-exit guard in the autoloader closure: skip the namespace
map loop entirely for classes that don't share the plugin base
prefix, avoiding unnecessary iteration on every WordPress class
lookup.
- Store the namespace map in a static variable so it is allocated
only once across all invocations rather than on each call.
- Switch from require_once to require inside the autoloader: the
autoloader is only invoked for classes not yet defined, making the
redundancy check in require_once unnecessary overhead.
Resolves#29
- Add spl_autoload_register in Plugin::register_autoloader() mapping
WPALLSTARS\FixPluginDoesNotExistNotices\Admin\ to admin/lib/ and
WPALLSTARS\FixPluginDoesNotExistNotices\ to includes/
- Remove manual require_once calls for Core, Admin, and Modal classes
- Rename admin/lib/admin.php -> Admin.php and modal.php -> Modal.php
for PSR-4 filename convention (class name must match file name)
- Fix composer.json: correct namespace case (WPAllStars -> WPALLSTARS)
and add admin/lib/ directory mapping for Admin sub-namespace
- Fix wp-fix-plugin-does-not-exist-notices.php require_once to use
correct case (plugin.php -> Plugin.php)
Resolves#25
Resolves#24
- Use fully qualified class name WPALLSTARS\FixPluginDoesNotExistNotices\Plugin in version management snippet
- Replace misleading includes/Plugin.php entry (no version constant) with AGENTS.md as the fourth version location
- Add note clarifying Plugin.php passes version via constructor
- Add step 4 to bump-version checklist to update AGENTS.md version string
Gemini review (PR #14) flagged that 'X.Y.Z' in the Version Management
section is problematic for AI agents — they may interpret it literally
or fail to match it during automated edits.
Replace with the actual current version '2.4.0' plus a parenthetical
instruction '(replace 2.4.0 with the new version)' so the context is
unambiguous: agents can grep for the exact string and know what to
substitute.
Resolves#19
Resolves#20
- Adds require_once for includes/Updater.php which was instantiated in
init_components() but never loaded in load_dependencies()
- Fixes includes/core.php → includes/Core.php case mismatch (would fail
on case-sensitive Linux filesystems)
- folder-structure.md: fix includes/core.php → Core.php, plugin.php → Plugin.php,
updater.php → Updater.php (PascalCase matches actual filenames on disk)
- bug-fixing.md: fix fix-plugin-does-not-exist-notices.php →
wp-fix-plugin-does-not-exist-notices.php (correct wp- prefix) and
languages/fix-plugin... → languages/wp-fix-plugin... (same prefix fix)
- feature-development.md: remove reference to non-existent reference-plugins/
directory to stop read:file_not_found errors when AI follows the docs
Addresses contributor insight issue #16: incorrect file paths in AI workflow
docs were the root cause of 23x read:file_not_found, 71x edit:not_read_first,
32x edit:edit_stale_read, and 66x bash:other errors in AI assistant sessions.
* fix: correct case-sensitive require_once paths and add AGENTS.md for AI guidance
- Fix includes/plugin.php -> includes/Plugin.php in main plugin file
- Fix includes/core.php -> includes/Core.php in includes/Plugin.php
(Linux case-sensitive filesystems fail silently on macOS; runtime bug on production)
- Fix .ai-workflows/folder-structure.md: update class files to PascalCase,
remove references to non-existent admin/ subdirectories (images/, partials/,
settings/, tools/) that caused read:file_not_found errors in AI sessions
- Add AGENTS.md with authoritative file map to reduce AI agent errors:
edit:not_read_first, bash:other, edit:edit_stale_read, read:file_not_found
Resolves#13
* fix: markdown formatting in AGENTS.md (Codacy MD022/MD032)