Troubleshooting
Run copperlace check -c your.conf first to catch parse and compile errors.
Then render the specific rule that fails: copperlace render -c your.conf -r
rule_name. check does not exercise template references or random choices, so
a successful check is not a guarantee that every rule renders.
| Error or symptom | What to inspect |
|---|---|
|
Check spelling and dotted paths. A bound name only exists after its binding statement runs in the current render. Initial values can be supplied with |
|
Check the builtin names in Processor reference. The CLI cannot load application-defined processors. |
|
Check that a single-token processor received one word (or, for |
article` if whitespace is unexpected. |
|
Check braces and statement delimiters. Expressions use |
|
Add an entry to the array being rendered. An empty array can compile but cannot supply a choice. |
|
A |
|
Use |
|
Check every weighted entry’s |
|
Find the reference cycle. If recursion is intentional, set |
|
Render a dotted leaf such as |
|
A |
|
Structured rendering requires an object-valued rule. Use text rendering for strings and top-level choice arrays. |
|
Select an object-valued rule with |
Different values within one result |
A useful debugging sequence
-
Check the file:
copperlace check -c your.conf. -
Render the smallest failing rule with
-rinstead of starting atorigin. -
Replace random arrays temporarily with one value to isolate the path.
-
For structured objects, put shared generated values in top-level
contextdefaults. Sibling object fields should not depend on evaluation order.
For the full list of error variants and API behavior, see Errors and API behavior.