pub struct Path {
pub path: PathIdentity,
pub steps: Vec<Step>,
pub meta: Option<PathMeta>,
}Expand description
An ordered sequence of steps forming a DAG — for example, a pull request.
path.head names the step ID at the tip of the active branch. Steps
link to their parents via StepIdentity::parents, forming a DAG.
Steps present in steps but not on the ancestry of head are
considered dead ends — abandoned approaches that are preserved for
provenance but did not contribute to the final result.
path.base optionally anchors the path to a repository and ref
(e.g. "github:org/repo" at commit "abc123").
§JSON shape
{
"path": {
"id": "pr-42",
"base": { "uri": "github:org/repo", "ref": "main" },
"head": "step-004"
},
"steps": [
{ "step": { "id": "step-001", "actor": "human:alex", … }, "change": { … } },
{ "step": { "id": "step-002", "parents": ["step-001"], … }, "change": { … } }
]
}Fields§
§path: PathIdentity§steps: Vec<Step>§meta: Option<PathMeta>Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Path
impl<'de> Deserialize<'de> for Path
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Path
impl RefUnwindSafe for Path
impl Send for Path
impl Sync for Path
impl Unpin for Path
impl UnsafeUnpin for Path
impl UnwindSafe for Path
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more