pub struct OpenSpec;Expand description
The OpenSpec adapter.
Trait Implementations§
Source§impl Adapter for OpenSpec
impl Adapter for OpenSpec
Source§fn scenarios(&self, snapshot: &ProjectSnapshot, _task: &str) -> Vec<ScenarioRef>
fn scenarios(&self, snapshot: &ProjectSnapshot, _task: &str) -> Vec<ScenarioRef>
Every scenario of the change’s ADDED and MODIFIED requirements: the format does not link a task to a requirement.
Source§fn acceptance_testable(&self, bundle: &Bundle) -> bool
fn acceptance_testable(&self, bundle: &Bundle) -> bool
A delta with a #### Scenario:: the scenarios are the examples.
Source§fn is_convergence(&self, phase: &str) -> bool
fn is_convergence(&self, phase: &str) -> bool
A Convergence group, appended by converge.
Source§fn blocking<'s>(&self, snapshot: &'s ProjectSnapshot) -> Vec<&'s Diagnostic>
fn blocking<'s>(&self, snapshot: &'s ProjectSnapshot) -> Vec<&'s Diagnostic>
Errors of the change itself — preflight, task list, configuration — stop a run before any model call. A selection problem is the selection’s; a dependency problem blocks only the tasks involved.
Source§fn tool(&self) -> Option<(&'static str, &'static str)>
fn tool(&self) -> Option<(&'static str, &'static str)>
The format’s own command-line tool and how to install it, for
doctor (None: the format has none).Source§fn kind(&self) -> FormatKind
fn kind(&self) -> FormatKind
Which format.
Source§fn detect(&self, start: &Path) -> Option<PathBuf>
fn detect(&self, start: &Path) -> Option<PathBuf>
The project root containing
start, by the format’s marker.Source§fn inspect(
&self,
start: &Path,
feature: Option<&str>,
) -> Option<ProjectSnapshot>
fn inspect( &self, start: &Path, feature: Option<&str>, ) -> Option<ProjectSnapshot>
Discovers the project containing
start and selects feature.
Read-only.Source§fn parse_tasks(&self, path: &str, text: &str) -> (ParsedTasks, Vec<Diagnostic>)
fn parse_tasks(&self, path: &str, text: &str) -> (ParsedTasks, Vec<Diagnostic>)
Parses a task list.
Source§fn bundle(
&self,
snapshot: &ProjectSnapshot,
task_id: &str,
) -> Result<Bundle, BundleError>
fn bundle( &self, snapshot: &ProjectSnapshot, task_id: &str, ) -> Result<Bundle, BundleError>
The context bundle for
task of the selected unit.Source§fn convergence_texts(&self, root: &Path, unit_dir: &Path) -> [String; 4]
fn convergence_texts(&self, root: &Path, unit_dir: &Path) -> [String; 4]
What the convergence assessment reads, in order: the project’s rules,
the spec, the plan, the task list (each may be empty).
Source§fn crosscheck(
&self,
snapshot: &ProjectSnapshot,
runner: &dyn CommandRunner,
) -> Vec<Diagnostic>
fn crosscheck( &self, snapshot: &ProjectSnapshot, runner: &dyn CommandRunner, ) -> Vec<Diagnostic>
The format’s own tools’ opinion of the selected unit, when they are
installed (read-only commands through
runner).Source§fn checklists(&self, _root: &Path, _unit_dir: &str) -> Vec<ChecklistStatus>
fn checklists(&self, _root: &Path, _unit_dir: &str) -> Vec<ChecklistStatus>
The unit’s unfinished-checklist state.
Source§fn tick(
&self,
tasks_file: &Path,
task: &str,
line_hash: &str,
) -> Result<(), String>
fn tick( &self, tasks_file: &Path, task: &str, line_hash: &str, ) -> Result<(), String>
Ticks
task (one byte, under the line-hash guard).Source§fn append(
&self,
tasks_file: &Path,
file_hash: &str,
items: &[String],
) -> Result<Vec<String>, String>
fn append( &self, tasks_file: &Path, file_hash: &str, items: &[String], ) -> Result<Vec<String>, String>
Appends convergence tasks (prefix-guarded); returns their IDs.
Source§fn commit_precondition(
&self,
root: &Path,
join: &dyn Fn(&str) -> String,
unit_dir: &str,
) -> CommitPrecondition
fn commit_precondition( &self, root: &Path, join: &dyn Fn(&str) -> String, unit_dir: &str, ) -> CommitPrecondition
What must be committed before a worktree is made; paths are
repository-relative,
join maps a project-relative path to one.Source§fn open(&self, start: &Path, feature: Option<&str>) -> Option<ProjectSnapshot>
fn open(&self, start: &Path, feature: Option<&str>) -> Option<ProjectSnapshot>
Adapter::inspect for a command a person ran: the format’s own
selection settings (its environment variables) apply.Source§fn requirements_file(&self) -> Option<&'static str>
fn requirements_file(&self) -> Option<&'static str>
The unit’s document that defines its requirements (
spec.md in
Spec Kit), relative to the unit’s directory; None when the format
has no requirement identifiers.Source§fn requirements_in(&self, _text: &str) -> Vec<(String, String)>
fn requirements_in(&self, _text: &str) -> Vec<(String, String)>
The requirements
text (the requirements file) defines, each with
the line that defines it, in the document’s order.Source§fn record_change(
&self,
_root: &Path,
_request: &str,
_checks: &[String],
) -> Result<Recorded, String>
fn record_change( &self, _root: &Path, _request: &str, _checks: &[String], ) -> Result<Recorded, String>
Records a quick change:
request (with acceptance checks)
becomes a story, a requirement and a task in the format’s standing
unit for such changes. Err: the format has none.Source§fn requirement_ids(&self, root: &Path, unit_dir: &str) -> Vec<(String, String)>
fn requirement_ids(&self, root: &Path, unit_dir: &str) -> Vec<(String, String)>
The unit’s requirement identifiers, each with the hash of the line
that defines it (
FR-001, SC-002 in Spec Kit): the rows of the
trace matrix. None when the format has no such identifiers.Source§fn current_pointer(&self) -> Option<&'static str>
fn current_pointer(&self) -> Option<&'static str>
The format’s per-checkout pointer to the current unit
(repository-relative), if it has one.
Auto Trait Implementations§
impl Freeze for OpenSpec
impl RefUnwindSafe for OpenSpec
impl Send for OpenSpec
impl Sync for OpenSpec
impl Unpin for OpenSpec
impl UnsafeUnpin for OpenSpec
impl UnwindSafe for OpenSpec
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