plan: a budget that equals the form is reported as counted, not decided
Four of the planned contractor's five needs had max_fields equal to their required fields: the model counted the form and called it the person's tolerance. `plan` now says so when most needs do, and the reference tells the model to decide the number before writing the form. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
d132f1e4df
commit
2622fdac88
+17
-1
@@ -84,7 +84,10 @@ needs:
|
|||||||
# aggregates.yaml already has, so its records keep replaying
|
# aggregates.yaml already has, so its records keep replaying
|
||||||
attended_by: > # ONLY for a stage no desk button moves: the automation that does
|
attended_by: > # ONLY for a stage no desk button moves: the automation that does
|
||||||
what moves it, in a sentence
|
what moves it, in a sentence
|
||||||
max_fields: 4 # how many required fields THIS person will tolerate, from what
|
max_fields: 4 # decide this BEFORE writing collects, from what the intake
|
||||||
|
# says about the person; a budget that equals the form's size
|
||||||
|
# is counted, not decided, and is reported as such
|
||||||
|
# how many required fields THIS person will tolerate, from what
|
||||||
# the intake says about them: someone on a phone with gloves
|
# the intake says about them: someone on a phone with gloves
|
||||||
# on gets 3, a first enquiry 4 to 6, a firm's paperwork 5 to 6
|
# on gets 3, a first enquiry 4 to 6, a firm's paperwork 5 to 6
|
||||||
collects: # the form; name is snake_case ASCII, type one of
|
collects: # the form; name is snake_case ASCII, type one of
|
||||||
@@ -225,6 +228,19 @@ pub fn run(argv: &[String]) -> anyhow::Result<()> {
|
|||||||
if !strangers.is_empty() {
|
if !strangers.is_empty() {
|
||||||
eprintln!(" {} persona(s) name a need this plan does not have; set their `need:` to one of the ids above before building:\n {}", strangers.len(), strangers.join("\n "));
|
eprintln!(" {} persona(s) name a need this plan does not have; set their `need:` to one of the ids above before building:\n {}", strangers.len(), strangers.join("\n "));
|
||||||
}
|
}
|
||||||
|
// A budget that equals the form is the tell of a model
|
||||||
|
// that counted the form and called it the person's
|
||||||
|
// tolerance. One such need is a form that uses its
|
||||||
|
// room; most of them is the number being invented.
|
||||||
|
let tight: Vec<&str> = plan
|
||||||
|
.needs
|
||||||
|
.iter()
|
||||||
|
.filter(|n| n.collects.iter().filter(|f| !f.optional).count() == n.max_fields)
|
||||||
|
.map(|n| n.id.as_str())
|
||||||
|
.collect();
|
||||||
|
if tight.len() * 2 > plan.needs.len() && tight.len() > 1 {
|
||||||
|
eprintln!(" {} of {} need(s) have max_fields equal to their required fields ({}): check each against what the intake says about that person, not the form", tight.len(), plan.needs.len(), tight.join(", "));
|
||||||
|
}
|
||||||
println!(
|
println!(
|
||||||
"plan written to {}; read it before building from it",
|
"plan written to {}; read it before building from it",
|
||||||
out.join("plan.yaml").display()
|
out.join("plan.yaml").display()
|
||||||
|
|||||||
Reference in New Issue
Block a user