Contract
ModelBreeder.com is a plain PHP content site. The release artifact is a root-extractable ZIP for shared hosting or equivalent PHP hosting. It is not a CMS theme, plugin, page-builder export, or framework starter kit.
The root of the extracted site must contain:
| Required root item | Purpose |
|---|---|
index.php | Front controller. |
.htaccess | Apache/LiteSpeed rewrite and deny rules. |
assets/ | Public CSS, JavaScript, generated search data, and images. |
content/ | Curated Markdown page source. |
docs/ | Durable long-term reports and project source notes. |
src/ | PHP application source. |
templates/ | Shared layout, header, footer, and partials. |
.uai/ | Active project memory and pointer ledgers. |
agent-file-handoff/ | Active Content and Improvement intake buckets. |
The package should not require a database, Composer install, build server, CMS admin panel, external API call, analytics system, cookie layer, user-upload endpoint, or third-party script.
Why this matters
The site teaches highly adaptive systems. Its own deployment must demonstrate the same principle: small, explicit components; clear boundaries; preserved source memory; repeatable validation; no unnecessary platform dependency.
A CMS installer error does not change the platform. It only means the archive was presented to the wrong installer. The correct fix is to use the root PHP deployment path, not to reshape the project into a CMS artifact.
Memory topology
The project dogfoods its own memory pattern:
AGENTS.md receiving-agent entry point
.uai/*.uai active memory and operating constraints
.uai/long-term-memory.uai pointer-only ledger to /docs
/docs/*.md durable reports and source notes
/docs/manifest.json integrity and source index
agent-file-handoff/ active intake buckets/docs is the long-term body-memory layer. .uai/long-term-memory.uai points to it. A separate wiki/ directory is not part of this package.
Packaging preflight
FUNCTION package_modelbreeder_plain_php_site(root)
assert file_exists(root / "index.php")
assert file_exists(root / ".htaccess")
assert directory_exists(root / "assets")
assert directory_exists(root / "content")
assert directory_exists(root / "docs")
assert directory_exists(root / "src")
assert directory_exists(root / ".uai")
assert not file_exists(root / "style.css")
assert not file_exists(root / "functions.php")
assert not directory_exists(root / "wp-content")
assert not directory_exists(root / "public")
assert not directory_exists(root / "wiki")
build_search_index()
build_docs_manifest()
build_uai_exports()
run_php_syntax_checks()
run_js_syntax_checks()
run_route_smoke_tests()
create_root_extractable_zip()
END FUNCTIONDeployment check
After extraction, verify:
| URL | Expected result |
|---|---|
/ | Styled homepage. |
/health | Current version and status. |
/start-here | Learning path. |
/research | Report library. |
/contact | Contact and about Michael Kappel page. |
/assets/css/app.css | Public stylesheet. |
/docs/manifest.json | Blocked from direct public access. |
/.uai/identity.uai | Blocked from direct public access. |
Rule for future agents
Do not change the packaging target unless the owner explicitly requests a platform migration. Ordinary requests for new content, new memory, contact pages, footer links, or UAIX File Handoff support are changes inside the plain PHP site.
Source reports used for this guide
These reports are preserved verbatim in the site archive. The guide above is an editorial synthesis and may narrow, qualify, or reorganize claims from the source material.