pub struct Kiro;Expand description
The Kiro adapter.
Trait Implementations§
Source§impl Adapter for Kiro
impl Adapter for Kiro
Source§fn scenarios(&self, snapshot: &ProjectSnapshot, _task: &str) -> Vec<ScenarioRef>
fn scenarios(&self, snapshot: &ProjectSnapshot, _task: &str) -> Vec<ScenarioRef>
Every acceptance criterion of the spec, by its N.M; a bugfix
spec’s statements, which its tasks cite the same way.
Source§fn oracle_requirements(
&self,
snapshot: &ProjectSnapshot,
) -> Vec<OracleRequirement>
fn oracle_requirements( &self, snapshot: &ProjectSnapshot, ) -> Vec<OracleRequirement>
Each requirement with its criteria: the story a task’s citations are judged in.
Source§fn acceptance_testable(&self, bundle: &Bundle) -> bool
fn acceptance_testable(&self, bundle: &Bundle) -> bool
Requirements with acceptance criteria: the criteria are the examples.
Source§fn is_convergence(&self, phase: &str) -> bool
fn is_convergence(&self, phase: &str) -> bool
A Convergence task, 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 spec itself stop a run before any model call; a selection problem is the selection’s, a dependency problem blocks only the tasks involved.
Source§fn bug_unit(&self, _root: &Path) -> Result<BugHome, BugRefusal>
fn bug_unit(&self, _root: &Path) -> Result<BugHome, BugRefusal>
Kiro keeps each bug as a bugfix spec: the format’s own bug structure, written in Kiro (speccoder has no step to record one).
Source§fn read_bug(
&self,
root: &Path,
home: &BugHome,
key: &str,
) -> Result<ReadBug, BugRefusal>
fn read_bug( &self, root: &Path, home: &BugHome, key: &str, ) -> Result<ReadBug, BugRefusal>
bugfix.md’s statements: every Current one, joined, is the symptom.
Source§fn bug_spec(&self, snapshot: &ProjectSnapshot) -> Option<String>
fn bug_spec(&self, snapshot: &ProjectSnapshot) -> Option<String>
The selected spec, when it is a bugfix spec.
Source§fn close_bug(&self, dir: &Path) -> Result<Vec<String>, String>
fn close_bug(&self, dir: &Path) -> Result<Vec<String>, String>
A verified fix closes the bugfix spec’s task list.
Source§fn documents(&self) -> &'static [(&'static str, &'static str)]
fn documents(&self) -> &'static [(&'static str, &'static str)]
The requirements (or the bugfix) as the living spec, the design as the plan.
Source§fn kind(&self) -> FormatKind
fn kind(&self) -> FormatKind
Source§fn detect(&self, start: &Path) -> Option<PathBuf>
fn detect(&self, start: &Path) -> Option<PathBuf>
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>
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>)
Source§fn bundle(
&self,
snapshot: &ProjectSnapshot,
task_id: &str,
) -> Result<Bundle, BundleError>
fn bundle( &self, snapshot: &ProjectSnapshot, task_id: &str, ) -> Result<Bundle, BundleError>
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]
Source§fn crosscheck(
&self,
_snapshot: &ProjectSnapshot,
_runner: &dyn CommandRunner,
) -> Vec<Diagnostic>
fn crosscheck( &self, _snapshot: &ProjectSnapshot, _runner: &dyn CommandRunner, ) -> Vec<Diagnostic>
runner).Source§fn checklists(&self, _root: &Path, _unit_dir: &str) -> Vec<ChecklistStatus>
fn checklists(&self, _root: &Path, _unit_dir: &str) -> Vec<ChecklistStatus>
Source§fn bug_dir(&self, home: &BugHome, slug: &str) -> Option<(String, String)>
fn bug_dir(&self, home: &BugHome, slug: &str) -> Option<(String, String)>
slug, project-relative, and its
unit name.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>
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>
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
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 plan_structure(&self, _snapshot: &ProjectSnapshot) -> Option<PlanStructure>
fn plan_structure(&self, _snapshot: &ProjectSnapshot) -> Option<PlanStructure>
None: the format has no such structure).Source§fn doctor_checks(
&self,
_root: &Path,
_env: &dyn Fn(&str) -> Option<String>,
) -> Vec<DoctorCheck>
fn doctor_checks( &self, _root: &Path, _env: &dyn Fn(&str) -> Option<String>, ) -> Vec<DoctorCheck>
doctor rows, given the person’s environment env.Source§fn tool(&self) -> Option<(&'static str, &'static str)>
fn tool(&self) -> Option<(&'static str, &'static str)>
doctor (None: the format has none).Source§fn init_steps(&self, _choices: &FormatInit) -> Vec<InitStep>
fn init_steps(&self, _choices: &FormatInit) -> Vec<InitStep>
Messages::make_project).Source§fn prepare_init(&self, _choices: &FormatInit) -> Result<(), String>
fn prepare_init(&self, _choices: &FormatInit) -> Result<(), String>
Adapter::init_steps names in speccoder’s state
before they run (Spec Kit: the bundled preset, extracted). Read moreSource§fn requirements_file(&self) -> Option<&'static str>
fn requirements_file(&self) -> Option<&'static str>
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)>
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>
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 extensions(&self, _root: &Path) -> Option<Inventory>
fn extensions(&self, _root: &Path) -> Option<Inventory>
None:
the format has none, or none could be read). The only reader of the
format’s extension files.Source§fn record_bug(
&self,
_root: &Path,
_home: &BugHome,
_triad: &Triad,
) -> Result<RecordedBug, BugRefusal>
fn record_bug( &self, _root: &Path, _home: &BugHome, _triad: &Triad, ) -> Result<RecordedBug, BugRefusal>
triad as a story, an approved-to-be requirement and a task
in the standing bug-fix unit home names (appends only, verified at
write time). Read moreSource§fn bug_slug(&self, _root: &Path, _home: &BugHome, _title: &str) -> String
fn bug_slug(&self, _root: &Path, _home: &BugHome, _title: &str) -> String
title that no bug of home has yet.Source§fn standing_units(&self, _root: &Path) -> Vec<(String, Rung)>
fn standing_units(&self, _root: &Path) -> Vec<(String, Rung)>
speccoder_core::ladder::rung_of decides by.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)>
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>
Auto Trait Implementations§
impl Forget for Kiro
impl Freeze for Kiro
impl RefUnwindSafe for Kiro
impl Send for Kiro
impl Sync for Kiro
impl Unpin for Kiro
impl UnsafeUnpin for Kiro
impl UnwindSafe for Kiro
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more