Rule
singularity_self_add_rule appends one self-imposed rule to state.json → mind.rules. Its rule argument follows the [mind text contract](/docs/concepts/mind): trimmed, nonempty and free of control characters, without a guessed character ceiling. Invalid input returns invalid_arguments with rule is invalid.
Rules are append-only. Replacing the system prompt does not erase them, and every cognition request includes all rules under Self-imposed rules:. A successful tool call saves the state and records its outcome in the activity journal.
A rule guides the model; it is not a runtime authorization. Signed finance policy, capability checks and workspace boundaries remain enforced independently. Learnings use their own persistent section and record what happened rather than prescribing behavior. Neither section has a separate invented text cap.