Capability-first source
Agents request narrow named operations instead of broad access to app data or internals.
actor ExternalAgent trust authenticated_but_untrusted may request capability may_not retrieve raw records
Axiom Comparison Matrix
Axiom is not trying to replace Python, TypeScript, Rust, SQL, React, or policy engines. It sits above them as a contract and enforcement layer for intent, capability, policy, sensitive disclosure, approval, brokered execution, audit, and deployment constraints.
| Capability | Python | TypeScript | Rust | Rego / OPA | Workflow Engines | Axiom |
|---|---|---|---|---|---|---|
| Express product intent as executable structure | LowUsually comments or docs. | LowTypes do not encode purpose. | LowCorrectness focus, not intent. | LowPolicy only. | MediumWorkflow intent is present but narrow. | NativeIntent is part of the source graph. |
| Model actors as trusted or untrusted entities | Manual | Manual | Manual | Medium | Manual | NativeActors carry trust posture. |
| Define sensitive data classes | Manual | MediumPossible with discipline. | MediumPossible with type design. | Medium | Manual | NativeData classes include sensitivity and disclosure rules. |
| Prevent broad retrieval by design | Manual | Manual | Manual | Partial | Manual | NativeGeneric retrieval can fail build checks. |
| Require brokered disclosure | Manual | Manual | Manual | Partial | Manual | NativeBroker contracts define what may decrypt and return. |
| Distinguish masked, summary, tokenized, and task-field outputs | Manual | Medium | Medium | Medium | Manual | Native |
| Bind approval to request hash, actor, destination, and expiry | Manual | Manual | Manual | Partial | Medium | NativeApproval is a scoped object, not a boolean. |
| Generate approval UI requirements | None | Manual | None | None | None | NativeUI must show security-critical context. |
| Generate audit event obligations | Manual | Manual | Manual | Partial | Medium | Native |
| Treat model output as non-authoritative for access decisions | Discipline | Discipline | Discipline | Medium | Manual | Native Rule |
| Compile to deployable app artifacts | No | No | No | No | No | IntendedSchemas, tests, policy manifests, UI contracts. |
| Generate policy matrix tests from capability specs | No | No | No | Partial | No | IntendedFirst useful Axiom Lite feature. |
Agents request narrow named operations instead of broad access to app data or internals.
actor ExternalAgent trust authenticated_but_untrusted may request capability may_not retrieve raw records
Sensitive outputs are classified as masked, summary, tokenized, task fields, denied, or pending approval.
disclosure: mode masked_value | task_fields forbidden raw_profile_export
Approval is specific to the request, agent, destination, capability, and expiry window.
approval:
one_time_default
binds request_hash, agent_id,
capability_key, destination_identity
The broker can use sensitive data while returning only the minimal allowed result.
broker TaxIdentityBroker may_decrypt tax.identity may_return task_fields forbidden raw_tax_payload
Approval UI must show agent, capability, destination trust, data classes, disclosure mode, and expiry.
surface ApprovalCard
displays agent_name, destination_trust,
data_classes, disclosure_mode
The build can reject routes that quietly turn a capability broker into a secret export API.
invariant capability_not_retrieval forbid agent_route returns raw_sensitive_record forbid agent_route lists all_records
The first credible Axiom OS release should stay small and practical: a structured capability spec format, policy simulation, generated policy artifacts, route gates, approval checks, runnable tests, and tiny examples. A full framework compiler can come later.
The point is not to make a beautiful theory or longer prompts. The point is to put risky agent-proposed actions behind checks that ordinary app code can enforce.