Skip to content

Commit 6824a42

Browse files
fix(cli): make start refuse explicitly instead of silent-exiting (#71)
Closes #54. `verisimiser start` previously parsed the manifest, printed three status lines, then returned `Ok(())` because the interception daemon (V-L1-C1, #46) hasn't been built. That looks like a successful start, which is worse than not having the subcommand at all — anyone running `verisimiser start` would assume their database is being augmented when nothing is happening. Replace the print-and-exit with `anyhow::bail!` that: - still loads the manifest (so config errors surface) - names the tracking issue (#46 / V-L1-C1) in the error message - exits non-zero, so shell scripts and CI gates notice This is option (a) from the issue: refuse with a typed error. Once the interception daemon lands in V-L1-C1, the bail can be replaced with the actual daemon loop. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 4315990 commit 6824a42

1 file changed

Lines changed: 11 additions & 14 deletions

File tree

src/main.rs

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -133,21 +133,18 @@ fn main() -> Result<()> {
133133
}
134134

135135
Commands::Start { manifest } => {
136-
let m = manifest::load_manifest(&manifest)?;
137-
let name = if !m.project.name.is_empty() {
138-
&m.project.name
139-
} else {
140-
&m.verisimiser.name
141-
};
142-
let backend = m.database.effective_backend();
143-
println!(
144-
"Starting VeriSimiser augmentation for {} ({})",
145-
name, backend
136+
// Load the manifest so config errors still surface, but refuse
137+
// to claim we started the daemon. The interception daemon is
138+
// tracked by V-L1-C1 (hyperpolymath/verisimiser#46); until it
139+
// lands, an explicit refusal is less misleading than a silent
140+
// print-and-exit that implies the augmentation is running.
141+
let _m = manifest::load_manifest(&manifest)?;
142+
anyhow::bail!(
143+
"verisimiser start: the augmentation daemon is not yet \
144+
implemented. Manifest at {} parsed successfully, but no \
145+
interception is running. Tracked by V-L1-C1 (issue #46).",
146+
manifest
146147
);
147-
println!(" Octad: {}/8 dimensions enabled", m.octad.enabled_count());
148-
println!(" Sidecar: {} ({})", m.sidecar.path, m.sidecar.storage);
149-
// TODO: start interception daemon
150-
Ok(())
151148
}
152149

153150
Commands::Drift {

0 commit comments

Comments
 (0)