Skip to content

Strand and support Intent paths #499

Description

@flyingrobots

Migrated from Method backlog

This issue was created from a legacy filesystem backlog card. GitHub Issues are now the live work tracker; repository docs remain Method evidence.

Source backlog: docs/method/backlog/up-next/PLATFORM_strand-and-support-intent-paths.md
Original lane: up-next
Original legend: PLATFORM

Original backlog card

Strand and support Intent paths

Status: planned implementation slice.

Depends on:

Why now

Strands and support pins are topology-changing. They affect the causal geometry
that later reads, settlement, and braids observe. External callers should not
create strands or support geometry through direct service mutation calls.

Goal

Add narrow Intent-level external paths for creating a contract/runtime strand
from an explicit basis and for pinning/unpinning support when that is exposed to
application flows.

Likely files touched

  • crates/echo-wasm-abi/src/kernel_port.rs
  • crates/warp-core/src/strand.rs
  • crates/warp-core/src/coordinator.rs
  • crates/warp-core/src/cmd.rs
  • crates/warp-wasm/src/warp_kernel.rs
  • crates/warp-core/tests/strand_contract_tests.rs

Acceptance criteria

  • Create-strand/fork external path is an EINT Intent against an explicit parent
    coordinate.
  • Support pin and unpin external paths are EINT Intents when exposed outside
    the runtime.
  • Direct registry/service calls remain internal implementation details.
  • Stale basis, missing capability, missing provenance, duplicate strand, and
    invalid support geometry return typed obstruction/conflict posture.
  • Successful operations emit tick/receipt evidence.

Non-goals

  • Do not implement full braid settlement here.
  • Do not add editor-specific strand nouns.
  • Do not delete internal StrandRegistry or ProvenanceService APIs.

Test expectations

  • Creating a strand through the Intent path records causal evidence.
  • Direct external mutation is not required by tests.
  • Stale or missing basis does not silently create a strand.
  • Support pin/unpin requires an Intent path when used externally.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions