forked from 1b-agent/fieldcraft-upstream
Rename the project to FieldCraft
Crates fieldcraft-*, binaries fieldcraft and fieldcraft-cli, the .fieldcraft file (format tag fieldcraft/1, manifest fieldcraft.json), FIELDCRAFT_* environment variables, the MCP server name, egui widget ids (fc_*), the app icon document FieldCraft.icon and its generated family, docs and licences. No compatibility shim: no files of the earlier name exist. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm
This commit is contained in:
1 parent
9bc4e1b182
commit
d5bd74570f
268 files changed
+1666
-1666
No files matched your search
@@ -5,7 +5,7 @@
|
||||
//! A case directory holds:
|
||||
//! - `expected.json`: the case's kind (theory, experiment, benchmark), source, status and its
|
||||
//! quantities: how each is measured, the reference value, the tolerance and the reason for it;
|
||||
//! - `recipe.json`: the model as ModelCraft commands (a JSON array of `{"command", "params"}`,
|
||||
//! - `recipe.json`: the model as FieldCraft commands (a JSON array of `{"command", "params"}`,
|
||||
//! each step optionally with an `id` that measures can read its output by); absent while a
|
||||
//! case is pending;
|
||||
//! - `design.json` (optional): a SolidCraft script that builds the geometry, opened first;
|
||||
@@ -21,7 +21,7 @@ use std::path::{Path, PathBuf};
|
||||
use std::sync::Arc;
|
||||
use std::time::Instant;
|
||||
|
||||
use modelcraft_engine::Session;
|
||||
use fieldcraft_engine::Session;
|
||||
use serde_json::{Value, json};
|
||||
|
||||
/// Fixture band: a result may move by this fraction of its size (and a thousandth of the
|
||||
@@ -232,8 +232,8 @@ pub fn run_case(dir: &Path, expected: &Expected) -> Result<Vec<Result<f64, Strin
|
||||
let design = dir.join("design.json");
|
||||
if design.is_file() {
|
||||
let script = crate::corpus::read(&design).map_err(|e| e.to_string())?;
|
||||
let bytes = modelcraft_geometry::script_design(&script).map_err(|e| format!("design.json: {e}"))?;
|
||||
let opened = modelcraft_geometry::open_design(&bytes).map_err(|e| format!("design.json: {e}"))?;
|
||||
let bytes = fieldcraft_geometry::script_design(&script).map_err(|e| format!("design.json: {e}"))?;
|
||||
let opened = fieldcraft_geometry::open_design(&bytes).map_err(|e| format!("design.json: {e}"))?;
|
||||
if let Some(e) = opened.errors.first() {
|
||||
return Err(format!("design.json: feature {}: {}", e.feature, e.message));
|
||||
}
|
||||
@@ -402,7 +402,7 @@ pub fn run(root: &Path, options: &Options) -> Result<(), String> {
|
||||
}
|
||||
}
|
||||
let text = serde_json::to_string_pretty(&json!({
|
||||
"note": "ModelCraft's accepted results for this case, written by `cargo xtask oracle --bless`. A result outside its band fails CI.",
|
||||
"note": "FieldCraft's accepted results for this case, written by `cargo xtask oracle --bless`. A result outside its band fails CI.",
|
||||
"values": values,
|
||||
}))
|
||||
.map_err(|e| e.to_string())?;
|
||||
@@ -565,7 +565,7 @@ pub fn report(cases: &[(String, Expected)], rows: &[Row]) -> String {
|
||||
md,
|
||||
"# Verification and validation oracle\n\n\
|
||||
Generated by `cargo xtask oracle` from [`tests/oracle/`](../tests/oracle/); the policy is [verification.md](verification.md). \
|
||||
Every case is our own model, built with ModelCraft commands from the problem's published description, and compared with \
|
||||
Every case is our own model, built with FieldCraft commands from the problem's published description, and compared with \
|
||||
the reference value its `expected.json` cites, within the stated tolerance and for the stated reason. Accepted results are \
|
||||
frozen in each case's `fixture.json`: a later change that moves one beyond its band (10⁻⁹ of its size) fails CI even while \
|
||||
the reference still passes. No reference value was produced with a commercial product.\n\n\
|
||||
@@ -589,7 +589,7 @@ benchmark, {} experiment; {} pending cases wait for capabilities still being bui
|
||||
};
|
||||
let _ = write!(
|
||||
md,
|
||||
"## {heading}\n\n| Case | Quantity | Reference | ModelCraft | Error | Tolerance | Result | Fixture |\n|---|---|---|---|---|---|---|---|\n"
|
||||
"## {heading}\n\n| Case | Quantity | Reference | FieldCraft | Error | Tolerance | Result | Fixture |\n|---|---|---|---|---|---|---|---|\n"
|
||||
);
|
||||
for (case, _) in &in_kind {
|
||||
for r in rows.iter().filter(|r| &r.case == case) {
|
||||
|
||||
Reference in new issue
Block a user