Skip to content

v19: add draft timeline previewJoin and join API #714

Description

@flyingrobots

Part of #712.

Problem

Speculative work should not require root users to manipulate strands and braids directly. v19 should expose drafts and joins while preserving formal WARP terms for advanced surfaces.

Target Shape

const draft = await timeline.draft('try-admin-role');
await draft.write(intent.property.set({ subject, key, value }));

const preview = await timeline.previewJoin(draft, {
  policy: 'deterministic',
});

if (preview.receipt.outcome === 'accepted') {
  await timeline.join(draft);
}

Scope

  • Add timeline.draft(name) for speculative timelines.
  • Add timeline.previewJoin(draft, options).
  • Add timeline.join(draft, options).
  • Keep Strand and Braid in advanced or legacy surfaces.

Acceptance

  • Public docs use drafts and joins first.
  • previewJoin() is a dedicated method, not a dryRun boolean trap.
  • Join operations return receipts.
  • Formal braid terminology remains available only where deliberately imported.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:runtimePrimary work area: runtime.priority:nextNext in line after active work.status:availableOpen and available for prioritization; not blocked or actively in progress.type:featureNew capability or product behavior.

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions