Skip to content

Add Runtime fork and strand Lane contract #792

Description

@flyingrobots

Parent: #712

Outcome

Runtime.fork(source, { name }) creates a runtime-backed Lane whose kind is exactly strand, bound to the source Lane and its captured fork coordinate.

Acceptance

  • Only a Lane owned by the same open Runtime can be forked.
  • The returned descriptor is the mutually exclusive strand variant: kind, name, parent, and forkedAt.
  • Fork construction is cross-lane Runtime behavior; no competing root factory is added.
  • Strand write() and bounded observe() are runtime-honest and share the normal lifecycle/backpressure contract.
  • Duplicate/invalid names, closed Runtime use, foreign Lanes, and unsupported source kinds fail with stable errors.
  • Consumer, lifecycle, real-Git, root-boundary, and generated-reference tests agree.

Non-goals

Settlement, common-basis braid validation, and CLI/MCP commands are separate slices.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:apiPrimary work area: api.area:runtimePrimary work area: runtime.priority:nextNext in line after active work.status:activeSomeone is actively working this issue.type:featureNew capability or product behavior.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions