# Open Workplace implementation profiles

Status: Candidate profile contract for `open-workplace/0.1`

An implementation profile connects the Open Workplace model to one concrete
representation. It tells an agent how to discover a Home, find authoritative
sources, compose context, identify projections and report unsupported
concepts.

The [Protocol](protocol.md) owns the behavior shared across profiles. Each
implementation owns its profile, source formats and operations.

## Profile responsibility

```text
Open Workplace model
    semantic objects and invariants
        ↓
Implementation profile
    representation and resolution contract
        ↓
Workplace instance
    local sources and relationships
        ↓
Interface projection
    provider, application or human view
```

The Profile makes the translation inspectable. It does not transfer local
truth from the Instance or external truth from a Site.

## Required disclosures

A Profile targeting `open-workplace/0.1` should provide the following
sections.

### Identity

- Profile identifier
- Profile version
- Publisher
- Target Open Workplace protocol version
- Profile status

### Discovery

- Signals that identify a candidate Instance
- Boundary rules for upward, downward or linked discovery
- Symlink and remote-source behavior
- Conditions that stop discovery

### Instance identity

- Source that identifies the Home
- Trust-boundary representation
- Member and Desk selection
- Behavior when identity sources conflict

### Object mapping

For each represented Open Workplace object:

- physical or logical source;
- durable owner;
- composition rule;
- lifecycle;
- projection surfaces.

The Profile must name model objects it does not represent.

### Authority and composition

- Home, Desk, Room and Meeting Guidance sources
- audience and lifetime rules
- source composition
- conflict behavior
- provenance carried into projections

### Material lifecycle

- ephemeral candidate representation;
- retain, accept, deliver and archive mechanisms;
- authority required for each transition;
- failure and partial-result behavior.

### Sites and Routes

- Site identity source;
- Route declaration;
- supported access materializations;
- revalidation behavior;
- external-effect boundary.

### Projections

- generated or derived files, views and provider surfaces;
- source lineage;
- stale detection;
- rebuild behavior;
- rules that prevent projection edits from becoming source truth.

### Degraded mode

- sources that remain readable without Profile tooling;
- validation and generation features that become unavailable;
- operations that must stop;
- orientation status expected from the agent.

### Validation and limits

- available validation operations;
- supported protocol requirements;
- unsupported objects or relationships;
- implementation extensions;
- provider-specific evidence.

## Agent-readable profile shape

This Working Draft uses Markdown rather than a required data format. A compact
profile can follow this outline:

```text
# <Profile name>

Profile identifier:
Profile version:
Targets:
Status:

## Discovery
## Instance identity
## Object mapping
## Authority and composition
## Material lifecycle
## Sites and Routes
## Projections
## Degraded mode
## Validation
## Limits and extensions
```

A Profile may link to schemas or APIs owned by its implementation. The
Markdown must still explain the semantics an agent needs for orientation.

## Endroit as the first application-framework Profile

Endroit is the Workplace-first application framework and the first declared
implementation qualified by a versioned Profile targeting
`open-workplace/0.1`. Its public `WORKPLACE.md` owns the Endroit mapping and
status. The summary below explains that mapping without transferring the
product contract to Open Workplace.

| Open Workplace responsibility | Endroit representation |
| --- | --- |
| Home identity and composition | `endroit.json` |
| Shared constitution | `HOME.md` |
| Member | `members/<id>/MEMBER.md` and structured identity |
| Desk identity | `.desk/desk.json` |
| Personal continuity | `.desk/DESK.md` |
| Room | `ROOM.md` inside an owned Room tree |
| Meeting | Ephemeral by default, optional retained `MEETING.md` |
| Occupant and Role | Bounded session participation and projected activation |
| Equipment | Source-owned Equipment with manifests and capabilities |
| Material | Addressable files inside the owning Room or Desk |
| Site identity | `sites/<site>/SITE.md` |
| Route | `.desk/routes/<site>/<route>.json` |
| Provider projection | Generated `AGENTS.md`, `CLAUDE.md`, Skills and Commands |
| Local rebuildable state | `.endroit/` |

Endroit resolves sources into a static Floor Plan and provider Front Doors.
Its tracked Console validates and builds the Home, then exits. The static
sources remain readable without a resident agent or daemon.

```text
Endroit-owned sources
    ↓ resolve and validate
Resolved Home + Floor Plan
    ↓ build
Codex and Claude projections
    ↓ enter
temporary Occupant in one Meeting
```

The source files keep their owners after build. Provider projections remain
derived. Endroit has L1 projection evidence for Codex and Claude.

Endroit also ships a pre-Home adoption document that asks a human to approve
inspection roots, compares candidate Workplaces and requires separate
application authority. That adoption flow belongs to Endroit. The Open
Workplace [transposition](transposition.md) document extracts the
implementation-neutral responsibilities supported by the evidence.

Endroit also adds Work Resolution, an implementation lifecycle for resolving
intent toward a verified effect. A Profile must disclose that feature as an
Endroit extension. Work Resolution is not an Open Workplace object and is not
normative behavior in `open-workplace/0.1`.

## Profile comparison

A comparison between two Profiles should classify each responsibility:

| Mapping | Meaning |
| --- | --- |
| Direct | Both Profiles preserve the responsibility and authority boundary. |
| Partial | The target preserves part of the responsibility and names the loss. |
| Source-only | The target has no representation for a source concept. |
| Target-only | The target adds a concept absent from the source. |
| Human confirmation | Intent or authority prevents a safe automatic choice. |

The comparison must preserve source provenance. Matching two filenames does
not establish a direct semantic mapping.

```text
Source Profile
    ↓ describe responsibilities
responsibility map
    ↓ compare with target disclosures
mapping classifications + losses
    ↓ human review
target proposal
```

The process can stop before application. A Profile comparison grants no
mutation authority.

## Extensions

An implementation may add concepts outside the Open Workplace model. A
Profile should name each extension, its owner and its effect on resolution.

An extension must not:

- redefine an Open Workplace object under the same protocol version;
- hide loss during profile comparison;
- turn a projection into source truth;
- grant authority that the human, Workplace or Site has not supplied.

## Current limits

Open Workplace has one declared implementation. This corpus has no evidence
that a second Profile will map the objects with the same boundaries or that a
round trip will preserve authority and lifecycle.

The Markdown outline supports exploration and agent cold reads. A machine
schema, discovery service or adapter interface would require repeated needs
from independent implementations.

Continue with [Workplace transposition](transposition.md) for the mapping flow
or [reference scenarios](reference-scenarios.md) for concrete profile
behavior.
