pub enum Runnable {
Show 39 variants
Skill {
name: String,
arguments: String,
},
Run {
task: Option<String>,
},
Converge,
Commit {
paths: Vec<String>,
},
Approve {
task: String,
call: String,
digest: String,
},
Reject {
task: String,
call: String,
digest: String,
},
Accept {
task: String,
},
Skip {
task: String,
},
Nudge {
task: String,
},
Rule {
task: String,
},
Review {
ids: Vec<String>,
verdict: String,
},
IssueComment {
issue: u64,
assign: bool,
},
QuickChange {
request: String,
checks: Vec<String>,
run: bool,
},
KeepSetAside {
task: String,
},
DropSetAside {
task: String,
},
FixSetup,
Feature,
PullRequest,
BugFix {
symptom: String,
expected: Vec<String>,
unchanged: Vec<String>,
issue: Option<u64>,
tests: Vec<String>,
candidate: Option<String>,
slug: Option<String>,
run: bool,
},
BugConfirm {
task: String,
digest: String,
reject: bool,
},
BugKeep {
task: String,
},
BugRun {
slug: Option<String>,
task: Option<String>,
},
AllowAlways {
task: String,
call: String,
},
WidenPolicy {
key: PolicyList,
prefix: Vec<String>,
digest: String,
},
DecideBatch {
run: String,
verdict: BatchVerdict,
calls: Vec<String>,
digest: String,
resume_asking: bool,
},
OracleTests {
req: String,
op: OracleOp,
path: Option<String>,
scenario: Option<String>,
reading: Option<Reading>,
},
ApproveAndRun {
mode: RunMode,
grants: Vec<String>,
sheet: Option<String>,
},
Comment {
op: CommentOp,
anchor: Option<CommentAnchor>,
id: Option<String>,
},
CommentsSend {
ids: Vec<String>,
},
RevisionUndo {
turn: Option<String>,
},
CodeNudge {
task: String,
comments: Vec<CodeComment>,
},
AcceptanceAt {
feature: String,
story: String,
task: String,
revoke: bool,
},
PresetAdd {
update: bool,
},
PlanThrough {
from: PlanFrom,
through: Through,
},
NewProject {
target: String,
choices: NewChoices,
plan_digest: String,
},
UndoNewProject {
commit: String,
},
CloneRepository {
repo: String,
target: String,
},
OpenSample {
fresh: bool,
},
SampleChecks,
}Expand description
How an interface runs an action itself.
Variants§
Skill
A planning skill (speccoder spec <name> <arguments>).
Run
speccoder run, the feature or one task.
Converge
speccoder run --converge: the ready tasks, then the assessment of
the code against the spec as it is now, appending what remains.
Commit
Commit exactly these planning files.
Approve
Approve the task’s waiting call: the one that was shown, refused when another waits now.
Fields
call: StringThe call’s id (crate::PendingCall::id).
digest: StringThe digest of the call that was shown (crate::PendingCall::digest).
Reject
Reject it (the input is the reason), bound the same way.
Fields
call: StringThe call’s id (crate::PendingCall::id).
digest: StringThe digest of the call that was shown (crate::PendingCall::digest).
Accept
Tick the task on the person’s word (the input is the reason).
Skip
Skip the task (the input is the reason).
Nudge
Leave a note for the task’s next attempts (the input is the note).
Rule
Rule that a held attempt’s tests are right (the input is the reason).
Review
Record the person’s review of requirements (the input is the comment; required to request changes).
Fields
IssueComment
Tell a GitHub issue it is being specified as the current feature.
QuickChange
Record a quick change and, when run, run it.
Fields
KeepSetAside
Commit the changes set aside before the task’s run onto the feature’s branch, as the person’s own.
DropSetAside
Discard them.
FixSetup
Commit the setup a run stops on (an uncommitted lockfile, build output not ignored) in the checkout.
Feature
Pick the current feature.
PullRequest
Push the feature’s branch and open (or update) its draft pull request.
BugFix
Record a bug in the person’s words (speccoder bug) and, when
run, reproduce it.
Fields
BugConfirm
Confirm (or, with reject, reject: the input is the reason) a
bug’s reproductions, bound to the digest shown.
Fields
BugKeep
Keep an already-satisfied bug’s reproductions as a regression test: committed, the task attested (the input is the reason).
BugRun
Continue a bug: reproduce again, or run its confirmed fix.
Fields
AllowAlways
Always Allow: approve the waiting command once and add exactly its
argv to [commands] allow (or [sandbox] network_allow).
WidenPolicy
Add a prefix to a prefix list, as the confirmation of its coverage preview (refused when the preview changed or is incomplete).
Fields
key: PolicyListWhich list.
DecideBatch
Decide the calls waiting in a run’s batch together, each once.
Fields
verdict: BatchVerdictApprove or reject (the input is the reason).
OracleTests
Write, reject, ask again for, edit or settle a requirement’s tests at review (the input: the reason, the comment or the content).
Fields
ApproveAndRun
Approve every approvable decision line, freeze the written tests and start the feature’s run, asking or on autopilot.
Fields
Comment
Add, delete or keep a review comment (the input: its words).
Fields
anchor: Option<CommentAnchor>What a new comment is about.
CommentsSend
Send the comments as one revision turn.
Fields
RevisionUndo
Undo the last revision turn: the documents back, byte for byte.
CodeNudge
Code-view line comments as one nudge for the task’s next attempt.
AcceptanceAt
Write a story’s acceptance tests at a Setup or Foundational task
(revoke: take the decision back) — a decision recorded in the
state directory, never an edit of the spec.
Fields
PresetAdd
Install the bundled speccoder Spec Kit preset through Spec Kit’s
own specify preset add (update: the installed one, replaced).
PlanThrough
Plan a new feature through the format’s own skills — the creating
skill, then toward the task list, then the check — stopping where a
person decides (speccoder spec <skill> --through <t>).
NewProject
Make target a project: the plan the person saw, bound to its digest
(speccoder new).
Fields
choices: NewChoicesWhat the person chose.
UndoNewProject
Undo the project speccoder created at the dispatch’s root
(speccoder new --undo): to the Trash, or a revert of its commit.
CloneRepository
Clone a repository of the person’s with their git (their credentials).
OpenSample
Copy the bundled sample into the state directory and replay its
recorded run strictly (speccoder sample).
SampleChecks
Run the sample’s own checks, offline, in its copy (the sample’s end card, Run the checks yourself).
Implementations§
Source§impl Runnable
impl Runnable
Sourcepub fn examples() -> Vec<Self>
pub fn examples() -> Vec<Self>
One runnable of every kind (ActionKind::example).
Sourcepub const fn kind(&self) -> ActionKind
pub const fn kind(&self) -> ActionKind
Its kind.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Runnable
impl<'de> Deserialize<'de> for Runnable
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>,
impl Eq for Runnable
Source§impl JsonSchema for Runnable
impl JsonSchema for Runnable
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read more