fix(cli): qualify the desugaring claims to the --real path; loud vocabulary-resolve invariant
Independent post-cycle review (opus, fresh context) on the branch diff returned one Minor and one Nit; both adjudicated against the source and fixed: - Minor: the concepts paragraph and the sweep/walkforward/mc long helps claimed the document desugaring unconditionally, but only the --real branches route through verb_sugar — the synthetic branches execute in-process and register no documents. The claims now carry the --real qualifier (and the paragraph names the in-process synthetic path). generalize keeps the unconditional wording: its only mode is --real (usage requires it), so the claim is true as stated. - Nit: the vocabulary listing's `None` fallback would have silently printed a bare, C29-incomplete row if a rostered type id ever failed to resolve. Replaced with a loud expect — an invariant breach should not degrade into exactly the surface this cycle exists to remove. refs #315
This commit is contained in:
@@ -277,11 +277,11 @@ pub fn introspect_cmd(cmd: crate::GraphIntrospectCmd, env: &aura_runner::project
|
||||
if cmd.vocabulary {
|
||||
// C29 (#315): each type id carries its schema's one-line meaning —
|
||||
// bare names teach nothing (What do Latch, When, Select, Bias do?).
|
||||
// A rostered id that fails to resolve is an invariant breach; better
|
||||
// loud than a silent C29-incomplete bare row.
|
||||
for t in env.type_ids() {
|
||||
match env.resolve(t) {
|
||||
Some(b) => println!("{t:<18} {}", b.schema().doc),
|
||||
None => println!("{t}"),
|
||||
}
|
||||
let b = env.resolve(t).expect("every rostered type id resolves to a builder");
|
||||
println!("{t:<18} {}", b.schema().doc);
|
||||
}
|
||||
} else if cmd.folds {
|
||||
// The fold vocabulary binds at graph-declared taps (C27), so the
|
||||
|
||||
Reference in New Issue
Block a user