Knowledge Portal · engineering documentation

Skip to content

ZAIXOS Engineering Platform — Package Architecture

Document type: Technical Specification
Version: 1.0 · Phase: 12-3
Status: Permanent technical authority
Related: DEPENDENCY_MODEL.md · INSTALLATION_ARCHITECTURE.md


Purpose

Define the logical and physical package structure of ZEP — what ships inside the platform distribution, how paths map to ownership domains, and how products consume packages without forking.


Distribution model

AttributeDecision
Primary distributionSingle Composer package: zaixos/engineering-platform
Package typeLibrary + resource files (no Laravel service provider required for v1)
VersioningPlatform semver on package tag
Secondary distributionGit submodule pointing at platform repository tag (transitional)
Consumer mount.zaixos/platform/ in product repo (copy or symlink from vendor)

Logical packages (internal modules)

All logical packages ship inside one Composer artifact. They are not separate Composer packages in v1.

Logical IDPath (platform repo)OwnerContents
LP-0core/constitution/D-PPointers to governance docs (or embedded copies at release)
LP-1core/methodology/D-PDEVELOPMENT_WORKFLOW, RESPONSE_TEMPLATE, freeze, context policy
LP-2contracts/D-Pruntime-contracts.md, JSON schemas, contracts@1
LP-3runtime/specification/D-PERP/runtime abstract spec
LP-4runtime/components/D-PEight component prose specs
LP-5runtime/manifests/D-PSchemas + default inventories
LP-6adapters/{adapter-id}/D-Aprofile, workspace template, manifest.json
LP-7templates/D-PFormat A/B, phase prompts
LP-8knowledge/D-PPlatform knowledge packs (non-runtime)
LP-9validation/D-PPHPUnit suite + support constants
LP-10docs/D-Pdeveloper-guide, acceptance, runtime-validation
LP-11schemas/config/D-Pplatform.yml, platform.lock, extensions JSON schemas

Physical layout (platform repository — normative target)

zaixos-engineering-platform/
├── composer.json                    # name: zaixos/engineering-platform
├── CHANGELOG.md
├── core/
│   ├── constitution/                # LP-0
│   ├── methodology/                 # LP-1
│   └── boundaries/                  # symlink or copy of governance
├── contracts/                       # LP-2
│   ├── runtime-contracts.md
│   └── schemas/
├── runtime/
│   ├── specification/               # LP-3
│   ├── components/                  # LP-4
│   └── manifests/                   # LP-5
│       ├── schemas/
│       └── defaults/
├── adapters/
│   └── cursor-adapter-v1/           # LP-6
│       ├── profile.md
│       ├── manifest.json
│       └── workspace/
├── templates/                       # LP-7
├── knowledge/                       # LP-8
├── validation/                      # LP-9
│   ├── tests/
│   └── src/Support/
├── docs/                            # LP-10
└── schemas/config/                  # LP-11

Product-side layout (after installation)

product-repo/
├── composer.json                    # requires zaixos/engineering-platform
├── vendor/zaixos/engineering-platform/   # Composer install source
├── .zaixos/
│   ├── platform.yml                 # D-R declarative config
│   ├── platform.lock                # D-R exact pin
│   ├── platform/                    # Materialized snapshot OR symlink → vendor
│   ├── extensions/
│   │   ├── manifest.yml
│   │   ├── procedures/
│   │   ├── workflows/
│   │   ├── agents/
│   │   ├── rules/
│   │   └── knowledge/
│   └── adapters/
│       └── cursor-adapter-v1/
│           └── workspace/           # Canonical adapter tree
├── .cursor/                         # Mount → .zaixos/adapters/cursor-adapter-v1/workspace
└── app/                             # D-R product domain (unchanged)

Materialization strategy (TDR-002)

ModeWhen.zaixos/platform/ source
Vendor referenceDefault (PHP/Composer)Symlink vendor/zaixos/engineering-platform.zaixos/platform
Snapshot copyCI without symlinks; air-gapCopy at install + checksum in lock
SubmoduleTransitional dual devSubmodule at lock SHA → .zaixos/platform

Products MUST NOT edit files under .zaixos/platform/ except via platform upgrade.


Adapter package coupling

Adapters are bundled inside zaixos/engineering-platform for v1 — not separate Composer packages.

AttributeValue
Adapter selectionplatform.ymladapter.id
Adapter filesadapters/{id}/ inside platform package
FutureOptional zaixos/adapter-cursor-v1 package — Experimental; requires TDR amendment

Validation package

AttributeValue
Locationvalidation/ inside platform package
Entryvendor/bin/phpunit with config path documented in developer guide
Public commandphp artisan test --testsuite=EngineeringRuntimePlatform (product wires) or documented PHPUnit path
AutoloadPSR-4 Zaixos\Platform\Validation\validation/src/

Validation ships with platform; products invoke, never fork.


Templates and knowledge packages

PackageRuntime couplingMerge
TemplatesReferenced by methodology; not IDE-nativeCopied to product docs path on request only
KnowledgeDocumentation only; no auto-constraintOptional copy to .zaixos/extensions/knowledge/

Templates never import product modules. Knowledge never depends on adapter hook scripts.


Composer package manifest (normative fields)

json
{
  "name": "zaixos/engineering-platform",
  "type": "library",
  "version": "1.0.0",
  "description": "ZAIXOS Engineering Platform — methodology, contracts, adapters, validation",
  "license": "proprietary",
  "require": {
    "php": "^8.2"
  },
  "autoload": {
    "psr-4": {
      "Zaixos\\Platform\\Validation\\": "validation/src/"
    }
  },
  "extra": {
    "zaixos": {
      "platformVersion": "1.0.0",
      "contractMajor": 1,
      "adapters": ["cursor-adapter-v1"],
      "configSchemas": {
        "platformYml": 1,
        "platformLock": 1,
        "extensionsManifest": 1
      }
    }
  }
}

Package release artifact

Every platform release ships:

ArtifactFormat
Git tagzaixos-platform@vX.Y.Z
Composer distPackagist or VCS dist
Checksum manifestSHA-256 of adapter workspace + default manifests
Compatibility matrixMarkdown in docs/releases/vX.Y.Z.md

Forbidden package contents

ForbiddenReason
app/Modules/Product domain (AR-01)
Product PHPUnit testsProduct CI
Uncertified adapter IDsCertification gate
Modified contract obligations without contracts@N+1Contract freeze

Package Architecture v1.0 — Phase 12-3.

ZAIXOS Knowledge Portal — public engineering docs at /docs · Staff operations at /admin