GitHub - sanshagn/Canon: Canonical Agent Notation - A controlled English for model prompting and agent-to-agent communication · GitHub
/" data-turbo-transient="true" />
Skip to content
Type / to search
Sign in<br>Sign upAppearance settings
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
sanshagn
Canon
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>14 Commits<br>14 Commits
canon-lint
canon-lint
docs
docs
CANON-1.2-vs-plain-english.md
CANON-1.2-vs-plain-english.md
LICENSE
LICENSE
README.md
README.md
View all files
Repository files navigation
CANON is English with the ambiguity removed and nothing else added. It reads like the pseudocode in an algorithms textbook, parses like a configuration file, and admits exactly one interpretation per statement.
It is not a programming language. There is no evaluator, no type inference, no scope stack, no operator precedence, no recursion, no compiler. What CANON has instead is a small closed vocabulary, mandatory obligation markers, forbidden pronouns, bounded loops, and one hard rule that does most of the work: a receiving agent must ask rather than guess.
It is designed for three jobs:
Prompting a model so that the request has one reading and success is checkable.<br>Agent-to-agent messaging so that a worker agent's clarifications, commitments, refusals, and reports are machine-routable rather than prose to be re-interpreted.<br>Auditing so that a human or a program can decide after the fact whether the work delivered was the work requested.
CANON draws on four existing bodies of work: controlled-lexicon determinism from Attempto Controlled English, speech acts from FIPA-ACL, obligation levels from RFC 2119, and executable acceptance criteria from Gherkin. The surface form is ordinary structured pseudocode.
Note: You don't have to learn to write CANON. Given the CANON Spec - An LLM can convert plain English into it. CANON is English-like pseudocode — easy to read, and therefore easy to verify
About<br>Canonical Agent Notation - A controlled English for model prompting and agent-to-agent communication<br>Resources<br>Readme<br>MIT license<br>Activity<br>Stars<br>0 stars<br>Watchers<br>0 watching<br>Forks<br>0 forks<br>Report repository
Releases
Packages
Contributors
Languages
You can’t perform that action at this time.