Hyperion is the first intent-native operating system.
Humans express goals. Hyperion determines how those goals become reality.
Hyperion is not another operating system with an AI assistant.
The AI is the operating system.
Every subsystem should be designed around one question:
How can this make accomplishing a human goal easier?
If a proposed implementation merely recreates existing operating system behavior with an LLM attached, reject it and redesign it.
Traditional operating systems expose implementation details.
Users think about:
- applications
- files
- folders
- windows
- drivers
- package managers
- terminals
- settings
Hyperion should expose none of these unless explicitly requested.
Users think only about their goals.
Example:
Instead of:
- Open Photoshop
- Open Finder
- Export PNG
- Save As...
The user simply says:
"Create a social media graphic from these photos."
Hyperion chooses the implementation.
Every decision should optimize for human understanding before technical elegance.
Never expose complexity unnecessarily.
Never ask:
"What application should we use?"
Instead ask:
"What capability is required?"
Assume computation should happen locally.
Only use cloud resources when there is a measurable benefit.
Users should own their data.
Every autonomous action should be explainable.
Hyperion must always be able to answer:
- Why?
- How?
- What evidence?
- Confidence?
- Undo?
Hyperion assists.
It does not control.
Every autonomous action must be:
- interruptible
- reversible
- inspectable
- configurable
Accessibility is architecture.
Not a feature.
Every interface must work for:
- keyboard
- mouse
- touch
- voice
- screen readers
- assistive technologies
Never build inaccessible features.
Never overwhelm users.
Beginners should feel comfortable.
Experts should never feel constrained.
Complexity should appear naturally.
Hyperion does not stop at using what it already has.
Reach for an existing capability first.
When none fits, compose or create one β sandboxed, signed, auditable, reversible.
A tool Hyperion builds today is a tool every future goal can reuse.
Hyperion is not an island.
Other instances β other people's Hyperions β are peers: discovered, trusted incrementally, and collaborated with, over protocols worth being fluent in (MCP today; whatever's next tomorrow) rather than ones only Hyperion speaks.
Failure is not a crash. It's a signal.
Hyperion degrades safely, recovers automatically, and remembers β so the same failure is harder to repeat and easier to survive next time.
Avoid trendy technologies simply because they are popular.
Favor:
- maintainability
- modularity
- observability
- testability
- reliability
Before writing significant code:
Define:
- interfaces
- contracts
- responsibilities
Then implement.
Avoid giant classes.
Avoid giant services.
Prefer:
- independent modules
- well-defined interfaces
- dependency injection
- message passing
Hyperion is not application-centric.
Everything should be implemented as reusable capabilities.
Examples:
Instead of:
ImageEditor
Create:
Image Editing Capability
Instead of:
Spreadsheet App
Create:
Tabular Data Capability
Internal execution should look like:
User Goal
β
Intent
β
Planner
β
Capability Selection
β
Execution Plan
β
Agents
β
Kernel Services
β
Hardware
Never the reverse.
Write clean, modern, maintainable code.
Avoid clever code.
Readable code always wins.
Functions should:
- do one thing
- have descriptive names
- be deterministic whenever possible
- avoid hidden state
Keep files focused.
Split large files before they become difficult to navigate.
Explain:
WHY
not
WHAT
Good:
// We cache semantic embeddings to reduce repeated inference.
Bad:
// Increment i
Use descriptive names.
Good:
IntentPlanner
SemanticObjectStore
WorkspaceGenerator
ContextResolver
Bad:
Manager
Util
Helper
Misc
Common
Maintain strict separation between:
Kernel
β
Runtime
β
Intent Engine
β
Planning Engine
β
Agent Runtime
β
Capabilities
β
User Interface
No layer should violate architectural boundaries.
Hyperion has multiple memory systems.
Do not merge them into one database.
Examples:
Working Memory
Semantic Memory
Procedural Memory
Episodic Memory
User Preferences
Each should have clear responsibilities.
Never assume a single LLM.
Hyperion should support multiple models.
Possible model roles:
Planning
Coding
Vision
Speech
Translation
Reasoning
Fast chat
Long-context
Models should be replaceable.
Never tightly couple implementation to a specific vendor.
Context is one of Hyperion's defining features.
Whenever implementing a feature ask:
"What context should already exist?"
Avoid forcing users to repeat themselves.
Every interface should satisfy these questions:
Can a non-technical user understand this?
Would a grandparent understand this?
Can a child use this?
Can an expert work efficiently?
Can this action be undone?
Does this reduce cognitive load?
If the answer is "no", redesign.
Never expose technical errors directly.
Bad:
NullPointerException
Good:
"I couldn't finish importing your photos because one appears to be corrupted."
Include technical logs separately for developers.
Prefer capability-based security.
Avoid global permissions whenever possible.
Every action should be:
minimal
auditable
explainable
reversible
Optimize for perceived responsiveness.
Users should never wait unnecessarily.
Prefer:
streaming
incremental rendering
background work
predictive loading
Avoid blocking operations.
Every new feature should include:
Unit tests
Integration tests
Regression tests
Failure cases
Edge cases
Accessibility validation
Performance validation
Every public component should document:
Purpose
Inputs
Outputs
Failure modes
Performance considerations
Security implications
Every pull request should answer:
Always begin by asking:
-
What human goal is being solved?
-
Should this be automatic?
-
Can this require fewer clicks?
-
Can the user avoid learning something technical?
-
Can Hyperion infer the intent safely?
-
Is there a simpler solution?
Only then begin implementation.
When contributing to Hyperion, prioritize in this order:
- Simplicity
- User experience
- Accessibility
- Correctness
- Reliability
- Security
- Performance
- Maintainability
- Extensibility
- Elegance
Never sacrifice simplicity for cleverness.
If any proposed feature:
- adds unnecessary complexity
- requires users to think technically
- duplicates existing functionality
- introduces avoidable configuration
- tightly couples components
- makes future maintenance harder
- leaks implementation details to users
then propose a better design before writing code.
Do not blindly implement poor architecture.
A feature is only complete if it is:
- Correct
- Tested
- Accessible
- Documented
- Observable
- Explainable
- Secure
- Undoable where appropriate
- Maintainable
- Consistent with Hyperion's philosophy
Working code alone is not considered finished.
Every contribution should move Hyperion closer to this vision:
A computer that understands people, instead of requiring people to understand computers.