ROADMAP.md tracks the work past the scaffold: closing the loop, patch
series with cover letters, doctor, config and init, more quest sources,
more checks, review tracking, and packaging. Its Not planned section
records the refusals, so what spectral will not do is as reviewable as
what it will.
Far specifies two front ends over the same verbs: a TUI session view, and
spectral auto for the mechanical half of the loop. Both need the verbs to
exist first. The TUI's real cost is that the verbs block and a TUI cannot
block its render loop, so it needs the command modules to grow a progress
story they do not have yet.
The Not planned entry that refused a TUI outright is narrowed to a GUI or
web UI, since a TUI is now on the roadmap. Everything the TUI can do
still has to stay reachable as a typed command.
Also links the roadmap from the README's Where to pitch in section.
Rewrite the README and the source comments in a plainer register.
The README had picked up the usual generated-prose tics: seventeen em
dashes, inline bold headers over every work item, signposting lines like
'the two scripts are called out because it matters', and a two-word
'Twenty of them.' dropped in for emphasis. Replaced with commas, real
section headings, and sentences that carry their own subject.
Also fixes the two rustdoc warnings cargo doc was emitting: <NAME> and
<N> in the subcommand doc comments were being parsed as unclosed HTML
tags. cargo doc is clean now.
States the scaffold status up front, documents what each verb shells out
to and why those tools come from your tree rather than being vendored, and
ends with a map of the 20 stubs grouped by how much they unblock.
Add the spectral command tree -- kernel quest/test and patch
check/format/commit/create/submit/update -- with every verb wired through
main to a todo!() body, plus the pieces they will share:
- config: resolve the kernel tree from $SPECTRAL_KERNEL, falling back to
~/.spectral/linux, patches under ~/.spectral/patches, and confirm a tree
really is one before anything uses it
- git: a thin wrapper over the git binary, currently only run
- error: one thiserror enum, converted once in main
- patch/checkpatch and patch/maintainers: seams around the tree's own
scripts/checkpatch.pl and scripts/get_maintainer.pl, so spectral never
carries a stale copy of the kernel's rules
20 functions are todo!(); the #[allow(dead_code)] sites mark the items
that are unreachable only until their caller is written. fmt, clippy -D
warnings, and test are all clean.