Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Entwurfswerk

Portable workspace Markdown v0

This format is an import and export representation. It is also an agent-readable context representation. It is not the pointer-rate runtime database.

Use ordinary Markdown plus fenced code blocks. Use YAML as the serialization language for Entwurfswerk metadata. Use the second info-string token as the semantic type.

Example:

# Checkout workflow

```yaml ew/actor
id: payment
kind: node
name: Payment
position: [480, 220]
```

```yaml ew/actor
id: ada
kind: agent
name: Ada
runtime: local
```

```yaml ew/message
id: 01KEXAMPLE
from: ada
to: payment
type: comment
body: Check the retry policy.
```

Initial fence types

Keep the initial type set small.

yaml ew/schema
yaml ew/actor
yaml ew/message
yaml ew/snapshot
typescript ew/script

YAML profile

Use a restricted JSON-compatible YAML profile. Do not use anchors, aliases, custom tags, or executable YAML types.

Determinism rules

Use stable block identifiers. Use stable key order. Use stable block order where semantics permit it. Avoid generated timestamps unless the timestamp is semantic data. Preserve unknown fields during round trips. Preserve unknown typed fences during round trips. Preserve ordinary Markdown during round trips.

Diff rule

One logical change must create a local textual diff where practical. A node move must not reformat unrelated blocks.

Runtime mapping

Import parses Markdown into semantic data. The importer validates Entwurfswerk fences against schemas. The importer applies changes through Ash Actions or a trusted import transaction.

Export projects current workspace state into deterministic Markdown.