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.
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
Scope
timeline.draft(name)for speculative timelines.timeline.previewJoin(draft, options).timeline.join(draft, options).StrandandBraidin advanced or legacy surfaces.Acceptance
previewJoin()is a dedicated method, not adryRunboolean trap.