Skip to content

Commit f33b120

Browse files
author
trae
committed
Milestone 9: integration and polish
1 parent 4e7733a commit f33b120

File tree

9 files changed

+48
-18
lines changed

9 files changed

+48
-18
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "consensusmind"
3-
version = "0.8.0"
3+
version = "0.9.0"
44
edition = "2021"
55
authors = ["Distributed Systems Labs, LLC"]
66
license = "Apache-2.0"

README.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ConsensusMind is an autonomous research agent that conducts end-to-end research
88

99
## Status
1010

11-
**Current Version:** 0.8.0 - Milestone 8 Complete
11+
**Current Version:** 0.9.0 - Milestone 9 Complete
1212

1313
### Completed Milestones
1414

@@ -50,9 +50,13 @@ ConsensusMind is an autonomous research agent that conducts end-to-end research
5050
#### Milestone 8: Paper Generation
5151
- LaTeX paper generation from hypotheses and experiment results
5252

53+
#### Milestone 9: Integration & Polish
54+
- Unified CLI entrypoints (help/version and command usage)
55+
- Repo structure improvements for outputs and data directories
56+
5357
## Features
5458

55-
### Current (v0.8.0)
59+
### Current (v0.9.0)
5660
- Configuration management from TOML files
5761
- Environment variable overrides for sensitive data
5862
- Structured logging to file and console
@@ -68,6 +72,7 @@ ConsensusMind is an autonomous research agent that conducts end-to-end research
6872
- Hypothesis generation and persistence
6973
- Consensus simulation and experimentation
7074
- LaTeX paper generation from experiment outputs
75+
- CLI help/version and stable command interface
7176

7277
### Planned
7378
- Automated LaTeX paper generation
@@ -160,7 +165,7 @@ CI runs `cargo fmt --check`, `cargo clippy -- -D warnings`, and `cargo test` on
160165
- [x] Milestone 6: Hypothesis Generation
161166
- [x] Milestone 7: Automated Experimentation
162167
- [x] Milestone 8: Paper Generation
163-
- [ ] Milestone 9: Integration & Polish
168+
- [x] Milestone 9: Integration & Polish
164169
- [ ] Milestone 10: Whitepaper & Research Paper
165170

166171
## License

data/embeddings/.gitkeep

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

data/experiments/.gitkeep

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

data/papers/.gitkeep

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

output/papers/.gitkeep

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

output/reports/.gitkeep

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

src/main.rs

Lines changed: 33 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,41 @@ use consensusmind::knowledge::embedding::{
88
build_or_update_index_from_metadata, HashingEmbedder, VectorIndex,
99
};
1010
use consensusmind::knowledge::paper_parser::PdfParser;
11-
use consensusmind::llm::LlmClient;
1211
use consensusmind::utils::{config::Config, logger};
1312
use tracing::info;
1413

14+
fn print_usage() {
15+
println!("ConsensusMind");
16+
println!();
17+
println!("Usage:");
18+
println!(" consensusmind run \"<query>\"");
19+
println!(" consensusmind hypothesize \"<query>\"");
20+
println!(" consensusmind experiment <hypothesis-id> [--seeds N] [--ticks T] [--nodes N]");
21+
println!(" consensusmind paper <hypothesis-id>");
22+
println!(" consensusmind index");
23+
println!(" consensusmind semantic-search \"<query>\" [top_k]");
24+
println!(" consensusmind simulate [rounds] [leader_failure_prob] [seed]");
25+
println!(" consensusmind raft-simulate [nodes] [ticks] [seed]");
26+
println!(" consensusmind help");
27+
println!(" consensusmind --version");
28+
}
29+
1530
#[tokio::main]
1631
async fn main() -> Result<()> {
1732
let args: Vec<String> = std::env::args().collect();
33+
34+
if args.get(1).map(|s| s.as_str()) == Some("--version") {
35+
println!("consensusmind {}", env!("CARGO_PKG_VERSION"));
36+
return Ok(());
37+
}
38+
if matches!(
39+
args.get(1).map(|s| s.as_str()),
40+
None | Some("help") | Some("--help") | Some("-h")
41+
) {
42+
print_usage();
43+
return Ok(());
44+
}
45+
1846
let config = Config::load()?;
1947

2048
logger::init_with_file(&config.logging.file, &config.logging.level)?;
@@ -216,17 +244,9 @@ async fn main() -> Result<()> {
216244
);
217245
return Ok(());
218246
}
219-
_ => {}
247+
_ => {
248+
print_usage();
249+
return Ok(());
250+
}
220251
}
221-
222-
let _client = LlmClient::new(
223-
config.llm.endpoint.clone(),
224-
config.llm.api_key.clone(),
225-
config.llm.model.clone(),
226-
)?;
227-
228-
info!("LLM client initialized successfully");
229-
info!("System ready");
230-
231-
Ok(())
232252
}

0 commit comments

Comments
 (0)