Canon-A controlled English for model prompting and agent-to-agent communication

sanshagn1 pts0 comments

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.

canon agent english controlled model prompting

Related Articles