Skip to main content

Module ask

Module ask 

Source
Expand description

Ask: a read-only conversation beside every view (L0 of the ladder).

A conversation is one agentplane run on a plane of its own (<project state>/ask): each message is delivered to it, it answers with reading tools only and waits again. What a turn showed — reads, checked citations, a proposal — is kept beside the journal as the conversation’s thread, for the panel and speccoder ask to read back. Nothing here writes to the project; a proposal is performed only when a person confirms it, through the ordinary actions.

Re-exports§

pub use chips::ChipRef;

Modules§

chips
Chips: what is on screen, given to Ask as context. The engine resolves a feature, a task or a file range itself; anything else carries the words the view shows. Every chip gets a digest, so a changed one says so.
proposal
A propose call made a person’s action: code checks the target now and builds the Runnable the sheet confirms. Nothing here performs it.
skill
speccoder.ask: a conversation is one run. It waits for the person’s message, answers through the governed tool loop with reading tools only, and waits again; a week without a message ends it.
tools
Ask’s readers beyond the workspace tools: history, the journal’s account, evidence and the catalog of codes. Each reads through a runtime function or a fixed git argv — never a shell, never the network.

Structs§

Request
A person’s message for a conversation.
Settings
[ask] in speccoder.toml.

Constants§

MAX_QUESTION
The longest question.
PROPOSE
The tool that suggests a change.

Functions§

changed_since
Whether path lines start–end no longer say what a read returned (content_sha256): read again with the same tool, so masking and the read cap are the same. None when the file cannot be read now.
conversations
The project’s conversations, newest first; feature narrows them.
new_id
A new conversation’s id (c-…).
read_of
What a tool call read, as the answer may cite it.
results
What conversation id’s confirmed proposals created, from the origins they recorded: a quick change or bug fix (Asked), a promoted spec that carried it (PromotedFrom). Oldest first.
settings
[ask] from the text of speccoder.toml.
spent
The tokens Ask’s conversations about feature used: input, output and cache reads.
stop
Stops conversation id’s turn in flight in this process (None: every one — a new conversation has no id until its first turn ends): the model call streaming ends where it is, recorded and metered to there, with its words. false: none was.
thread
One conversation with its turns.
turn
Answers request in the project at path with the model in its speccoder.toml ([ask] model, else [model]).
turn_tag
The progress tag of conversation id’s turn n.
turn_with
turn with provider answering.
valid_id
Whether id has the shape speccoder gives a conversation (c- and hex): anything else names no file of the plane.
words
Conversation id’s questions and answers, word for word, and their digest: what promotion carries into a new spec.