ZAIXOS Engineering Platform — Consumer Integration Plan
Document type: Extraction Planning Specification
Version: 1.0 · Phase: 12-4
Status: Permanent execution authority
Consumer #1: Dental Clinic Revenue Operating System
Purpose
Define how Dental Clinic ROS transitions from embedded ERP host to platform consumer — Composer pin, .zaixos/ layout, materialization, CI, and documentation redirects.
Consumer profile
| Attribute | Value |
|---|---|
| productId | dental-clinic-ros |
| Framework | Laravel 11 |
| Adapter | cursor-adapter-v1 |
| Initial platform pin | 1.0.0 |
| contractMajor | 1 |
| Phase | 12-7 Consumer Migration |
Consumer migration timeline
12-6 complete (platform repo has assets, platform CI green)
│
▼
12-7.1 — Add composer require zaixos/engineering-platform:^1.0 (dev branch)
│
▼
12-7.2 — Create .zaixos/platform.yml from example
│
▼
12-7.3 — First materialization → .zaixos/adapters/ + .cursor/ mount
│
▼
12-7.4 — Generate platform.lock + checksum
│
▼
12-7.5 — Wire phpunit.xml EngineeringRuntimePlatform testsuite → vendor
│
▼
12-7.6 — Dual-run: embedded + vendored parity tests (12-8 input)
│
▼
12-7.7 — Architect acceptance of consumer integration phase
│
▼
12-8 — Full validation (parity, consumer, compatibility)
│
▼
12-9 — Remove embedded duplicates; production branch lock-onlyIntegration steps (normative)
Step C1 — Composer dependency
{
"require": {
"zaixos/engineering-platform": "^1.0"
}
}Phase: 12-7
Validation: composer install succeeds; version matches platform repo tag candidate.
Step C2 — Platform configuration
Create .zaixos/platform.yml per PLATFORM_CONFIGURATION_REFERENCE.md:
productId: dental-clinic-rosadapter.id: cursor-adapter-v1mount.strategy: symlink(copy fallback documented in lock)validation.failClosed: true
Step C3 — Materialization
Execute materialization sequence from RUNTIME_MATERIALIZATION.md:
- Canonical:
.zaixos/adapters/cursor-adapter-v1/workspace/ - IDE mount:
.cursor/
Step C4 — Lock file
Record exact 1.0.0 + adapter version + SHA-256 checksum in .zaixos/platform.lock.
Step C5 — CI wiring
Product phpunit.xml:
<testsuite name="EngineeringRuntimePlatform">
<directory>vendor/zaixos/engineering-platform/validation/tests</directory>
</testsuite>Product CI MUST run this suite on PRs touching:
.zaixos/.cursor/composer.lock
Step C6 — Documentation redirects
| Old path | New consumer path |
|---|---|
docs/developer-guide.md | Stub → platform docs/developer-guide.md via vendor or docs link |
docs/development/ENGINEERING_INDEX.md | Stub pointer |
AGENTS.md ERP section | Update to reference .zaixos/platform.lock |
Completion: 12-9 removes stubs where vendor path sufficient.
Dual-run parity (12-7 → 12-8)
| Check | Method |
|---|---|
| Adapter workspace byte parity | SHA-256 embedded baseline vs materialized |
| Manifest counts | ErpIntegritySupport constants |
| Validation suites | Both pass (embedded tests until 12-9) |
| Developer onboarding | KPI-1 ≤ 60 min |
Embedded copy frozen at dual-run start — no edits except platform-forward fixes.
Product extensions (Dental Clinic)
Initial consumer migration: empty extensions manifest.
Future product-specific procedures/rules register in .zaixos/extensions/manifest.yml without platform fork.
Responsibilities
| Task | Platform team | Product team |
|---|---|---|
Publish platform 1.0.0 candidate | 12-6/12-8 | — |
| Add composer require | — | 12-7 |
| Create platform.yml/lock | — | 12-7 |
| Materialize adapter | Document | Execute 12-7 |
| CI suite wiring | Provide path | Execute 12-7 |
| Remove embedded ERP | — | 12-9 |
| Architect acceptance | Review | Request |
Consumer success criteria
- [ ]
composer.lockpinszaixos/engineering-platform@ 1.0.0 - [ ]
.zaixos/platform.lockcommitted - [ ] EngineeringRuntimePlatform suite green on PR CI
- [ ]
.cursor/mount matches lock checksum - [ ] No product edits under
vendor/zaixos/ - [ ] Developer guide onboarding path documented in product README/AGENTS
Consumer Integration Plan v1.0 — Phase 12-4.