# Package Target Correction: Plain PHP Site

Updated UTC: 2026-06-26T00:00:00Z

## Purpose

This note preserves the packaging correction that must guide future work on ModelBreeder.com.

ModelBreeder.com is **not** a WordPress site, WordPress theme, WordPress plugin, CMS theme, or CMS package. It is a plain vanilla PHP, file-backed, database-free, root-extractable research and education site.

## Original project contract to preserve

The owner request established the target clearly:

> great, make ModelBreeder.com as a plain vanilla php site and distribute this research throughout the site and high quality sorted content. Use shared header and footers and best practices for enterprise php based heavily content site. No database at this point. put all the reports in a /docs folder in the site zip when you are done so we don't loose anything. Make the site incredibly informative so that it can teach me and other people how to build these highly adaptive systems by going thregh the website. Do code samples in sudo code. Make is a very large well orginized site

The intended artifact is therefore:

- a large plain PHP content site;
- shared PHP header and footer templates;
- no database;
- no CMS installer;
- no framework dependency;
- `/docs` preserved in the site ZIP;
- root extraction into the web root;
- pseudocode examples for implementation education;
- curated, sorted, educational content throughout the site.

## What went wrong

A later troubleshooting note contained a CMS/theme installation error. The wrong inference was made: the packaging target was treated as if it should become a WordPress theme. That created the wrong artifact family.

The installation error itself was accurate for a WordPress theme uploader: a theme package is rejected when the expected root `style.css` stylesheet is missing. The conclusion was wrong because ModelBreeder.com was never meant to be installed through that uploader.

The correct conclusion is:

```text
The uploaded artifact was the wrong package type for the attempted installer.
Do not convert ModelBreeder.com into a WordPress theme.
Return to the original plain PHP root-site contract.
```

## Permanent correction

Future agents must treat the following as the default unless Michael Kappel explicitly changes it:

```text
artifact_target = plain-vanilla-php-root-extractable-site
not_target = wordpress-theme | wordpress-plugin | cms-theme | nested-public-folder-site
```

Required root ZIP checks:

```pseudocode
FUNCTION validate_modelbreeder_zip(zip)
    require zip.has_top_level_file("index.php")
    require zip.has_top_level_file(".htaccess")
    require zip.has_top_level_dir("assets")
    require zip.has_top_level_dir("content")
    require zip.has_top_level_dir("docs")
    require zip.has_top_level_dir("src")
    require zip.has_top_level_dir("templates")
    require zip.has_top_level_dir(".uai")
    require zip.has_top_level_dir("agent-file-handoff")

    forbid zip.has_top_level_dir("wp-content")
    forbid zip.has_top_level_file("style.css") as theme_header
    forbid zip.has_top_level_file("functions.php") as cms_bootstrap
    forbid zip.has_wrapper_folder_only()
    forbid zip.has_top_level_dir("public")
    forbid zip.has_top_level_dir("wiki")

    require docs_manifest_hashes_match()
    require uai_long_term_memory_points_to_docs()
    require no_database_required()
    require routes_smoke_test()
END FUNCTION
```

## UAI dogfood notes

The project memory should make package target explicit before any future artifact generation. The safe read path is:

```text
AGENTS.md
→ .uai/plain-php-package-contract.uai
→ .uai/constraints.uai
→ .uai/decisions.uai
→ .uai/long-term-memory.uai
→ /docs/Package target correction - plain PHP site.md
```

The UAIX/File Handoff lesson is that setup guidance for memory files does not imply a deployment platform. A File Handoff memory package can live inside a plain PHP site, a repository, a CLI tool, or another artifact type. The artifact type must be inferred from the original project contract, not from an unrelated installer error.

## Operational phrase to remember

**ModelBreeder.com ships as a plain PHP root site with `/docs` as durable long-term source memory and `.uai` as active project memory.**
