# How to Enable the Deployment-Ownership Engineering Profile in Archify

> Easily enable the deployment-ownership engineering profile in Archify. Simply declare deployment-ownership in your .architecture.json file for strict deployment validation and compliant receipts.

- Repository: [tt-a1i/archify](https://github.com/tt-a1i/archify)
- Tags: how-to-guide
- Published: 2026-08-08

---

**Declare `engineering_profile: "deployment-ownership"` inside the `meta` object of your [`.architecture.json`](https://github.com/tt-a1i/archify/blob/main/.architecture.json) file to activate strict deployment validation rules and generate compliant receipts.**

Archify supports optional **engineering profiles** that extend validation logic for architecture diagrams. The `deployment-ownership` profile enforces a fail-closed deployment review requiring explicit component ownership, single-region residency, and strict security boundaries. To enable this profile according to the `tt-a1i/archify` source code, you only need to modify the diagram's metadata block.

## What Is the Deployment-Ownership Engineering Profile?

The `deployment-ownership` profile is the first optional engineering profile implemented in Archify. When activated, it adds mandatory validation rules ensuring every non-external component has an explicit owner, belongs to exactly one region, and respects security-group and database boundaries. This profile operates on an opt-in basis; omitting it preserves backward-compatible behavior with no additional constraints.

## Step-by-Step: Enable the Deployment-Ownership Profile

### 1. Declare the Profile in the Meta Object

Insert the `engineering_profile` field with the value `"deployment-ownership"` inside the `meta` object of your architecture definition file.

```json
{
  "schema_version": 1,
  "diagram_type": "architecture",
  "meta": {
    "title": "My Production Deployment",
    "engineering_profile": "deployment-ownership"
  },
  "components": [
    {
      "id": "web",
      "type": "frontend",
      "label": "Web UI",
      "owner": "team-frontend"
    },
    {
      "id": "api",
      "type": "backend",
      "label": "API Service",
      "owner": "team-backend",
      "region": "us-east-1"
    },
    {
      "id": "db",
      "type": "database",
      "label": "Customer DB",
      "owner": "team-db",
      "region": "us-east-1",
      "private": true
    }
  ]
}

```

### 2. Run Validation

Execute the validation command to verify the diagram satisfies the deployment-ownership constraints.

```bash
archify validate --json my-deployment.architecture.json

```

The validator checks that all components define an `owner`, specify a `region`, and that databases marked `private` respect security boundaries.

### 3. Deliver and Capture the Receipt

Generate the delivery receipt to prove contract satisfaction.

```bash
archify deliver --json my-deployment.architecture.json

```

The output receipt contains the field `engineeringProfile: "deployment-ownership"` confirming the profile was active during validation.

```json
{
  "engineeringProfile": "deployment-ownership",
  "status": "passed",
  "details": { }
}

```

## Schema Definition and Source References

The `engineering_profile` field is defined in [`archify/schemas/architecture.schema.json`](https://github.com/tt-a1i/archify/blob/main/archify/schemas/architecture.schema.json) at line 22, which declares the enum constraint allowing only `"deployment-ownership"` as a valid value.

A concrete implementation example appears in [`archify/examples/production-deployment.architecture.json`](https://github.com/tt-a1i/archify/blob/main/archify/examples/production-deployment.architecture.json) at line 11, demonstrating the profile declaration in a production context.

The profile's design rationale is documented in [`docs/research-next-stability-delight-slice-2026-07-23.md`](https://github.com/tt-a1i/archify/blob/main/docs/research-next-stability-delight-slice-2026-07-23.md) (lines 13-22), explaining the fail-closed philosophy behind ownership enforcement. General usage guidelines are available in [`README.md`](https://github.com/tt-a1i/archify/blob/main/README.md) (lines 147-150).

## Summary

- **Opt-in activation**: Add `engineering_profile: "deployment-ownership"` to the `meta` object of your [`.architecture.json`](https://github.com/tt-a1i/archify/blob/main/.architecture.json) file.
- **Validation scope**: Enforces owner assignment, single-region constraints, and private database boundaries.
- **Proof of compliance**: Validation and delivery commands emit receipts containing `engineeringProfile: "deployment-ownership"`.
- **Source schema**: Defined in [`archify/schemas/architecture.schema.json`](https://github.com/tt-a1i/archify/blob/main/archify/schemas/architecture.schema.json) with examples in [`archify/examples/production-deployment.architecture.json`](https://github.com/tt-a1i/archify/blob/main/archify/examples/production-deployment.architecture.json).

## Frequently Asked Questions

### What validation rules does the deployment-ownership profile enforce?

The profile requires every non-external component to declare an explicit `owner`, belong to exactly one `region`, and respect security-group boundaries. Database components must specify `private: true` when appropriate. These constraints ensure fail-closed deployment reviews where ownership and residency are explicitly tracked.

### Can I use multiple engineering profiles simultaneously?

Currently, the schema defined in [`archify/schemas/architecture.schema.json`](https://github.com/tt-a1i/archify/blob/main/archify/schemas/architecture.schema.json) only permits the single value `"deployment-ownership"` for the `engineering_profile` field. The implementation treats this as an opt-in toggle rather than a composable stack, so only one profile configuration is supported at this time.

### How do I verify the profile is active during validation?

Run `archify validate --json <file>` or `archify deliver --json <file>`. When the profile is enabled, the generated receipt JSON includes the field `engineeringProfile` set to `"deployment-ownership"`. If the field is absent from the receipt, the profile was not active during processing.

### Is the deployment-ownership profile backward compatible?

Yes. The profile is strictly opt-in. Diagrams without the `engineering_profile` field in their `meta` object behave exactly like previous Archify versions, applying only standard validation rules without the additional ownership, region, or security constraints.