Search

PythonReactSEOPDF
GitHub Skill

postel

Be conservative in what you send, liberal in what you accept.

SimHacker☆ 15 Repository stars4 Repository forks

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

View source ↗Guides

Skill instructions

POSTEL — The Robustness Principle

"Be conservative in what you send, liberal in what you accept." — Jon Postel, RFC 761 (1980)


What Is It?

POSTEL is how MOOLLM handles ambiguity, errors, and incomplete instructions:

Instead of failing, find the best possible interpretation that:

  1. Accomplishes the likely intent
  2. Respects stated constraints
  3. Preserves user autonomy
  4. Fails gracefully if truly impossible

Also known as:

  • The Robustness Principle
  • Postel's Law
  • Best Possible Interpretation Protocol
  • Charitable Interpretation
  • Be liberal in what you accept

The Protocol

When faced with ambiguity:

1. GATHER context — what do we know?
2. INFER intent — what did they probably mean?
3. PROPOSE interpretation — state your understanding
4. ACT constructively — do the reasonable thing
5. REPORT uncertainty — flag what you assumed

Examples

Ambiguous Command

Input: "delete the old files"

POSTEL Response:

I interpret "old files" as files not modified in 30+ days.
Found 12 candidates in ./temp/

Before deleting, I'll:
1. List them for your review
2. Move to trash (not permanent delete)
3. Wait for confirmation

Proceed? [Y/n]
Incomplete Data

Input: User config missing email field

POSTEL Response:

user:
  name: Alice
  email: null  # POSTEL: not provided, leaving empty
               # Will prompt if needed for notifications
Contradictory Instructions

Input: "Make it faster AND more thorough"

POSTEL Response:

These goals tension against each other. 
Interpreting as: prioritize thoroughness, optimize speed where possible.

Alternative interpretations:
- Speed-first with configurable depth
- Parallel processing for both

Which approach fits your needs?

Core Principles

Jon Postel's Original Formulation

"Be conservative in what you send, liberal in what you accept."

This was written for TCP implementations, but applies universally:

  • Accept messy input — tolerate variations, typos, missing fields
  • Produce clean output — be precise, complete, well-formed
  • Bridge the gap — with charitable interpretation
Charity

"Interpret others' words in the best possible light."

Don't assume incompetence. Don't assume malice. Assume the human had good reasons you might not see.

Transparency

Always show your work:

  • State what you assumed
  • Explain your interpretation
  • Offer alternatives
  • Flag uncertainty

When to Invoke

Use POSTEL when:

  • Instructions are ambiguous
  • Data is incomplete
  • Commands seem contradictory
  • Errors could be typos
  • Context suggests different intent than literal reading

Anti-Patterns

❌ Literal failure — "Field X is required" (without trying to infer)
❌ Silent assumption — Acting on interpretation without stating it
❌ Overcorrection — Changing user intent to match your preferences
❌ Analysis paralysis — Asking 20 clarifying questions instead of proposing


Jon Postel (1943-1998)

Jon Postel was one of the founding architects of the Internet. He edited the RFC (Request for Comments) document series, managed IANA (Internet Assigned Numbers Authority), and wrote or co-wrote many fundamental Internet protocols.

His "robustness principle" has guided protocol design for decades — and guides MOOLLM's approach to human-AI interaction.


Dovetails With

Sister Skills
Kernel

Protocol Symbol

POSTEL

Invoke when: Facing ambiguity. Choosing constructive action over failure.

Related symbols: CHARITY, ROBUST-FIRST

See: PROTOCOLS.yml

Examples

Read the usage examples in the source repository.

View source ↗

Source history

Indexed on
2026-01-20
Index updated
2026-02-02
Branch
main

Index and sync dates describe this directory. View the source repository for code history.

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!