# Implementation Status

Date: 2026-08-26

This file is the claim boundary. “Implemented” means code exists and automated local checks pass. It does not mean audited or production-deployed.

| Capability | Status | Evidence |
|---|---|---|
| Manifest v1 schema and canonical commitment | Implemented | `schemas/aeonora-manifest-v1.schema.json`, `packages/aeonora/manifest.mjs` |
| Controller signature and binding | Implemented locally | `packages/aeonora/signatures.mjs`, `local-registry.mjs` |
| Stable identity across runtime migration | Implemented locally | `local-registry.mjs`, `self-check.mjs` |
| Policy allow/deny/require-human | Implemented locally | `policy.mjs`, `self-check.mjs` |
| Brain governance at the MCP boundary | Implemented; verified over real stdio | every content tool resolves to a governed action, is gated, and leaves a receipt; `packages/mcp/server.mjs`, `docs/governance.md` |
| Policy presets (open/guarded/readonly) | Implemented | `governance.mjs`; `guarded` is the default, set at setup |
| Time-boxed, use-counted owner grants | Implemented | `aeonora grant/revoke`; 1-1440 minutes, spent on use, cannot lift a `deny` |
| Constitutional precedence over local policy | Implemented | signed manifest decided first via unchanged `policy.mjs`; a preset can only narrow it |
| Hash-chained receipt log | Implemented; tamper-evident, not tamper-proof | `receipts.jsonl`, `aeonora receipts --verify`; detects edited and deleted entries |
| Governance of plaintext exports | Gated and disclosed, NOT enforced after write | export needs approval and is recorded; once on disk the files are outside policy. `describe` reports `plaintextExportsOnDisk` |
| Action and migration receipts | Implemented locally | `local-registry.mjs` |
| Suspension | Implemented locally and in contract | `local-registry.mjs`, `AeonoraRegistry.sol` |
| EVM constitution anchor | Implemented; locally integration-tested | `AeonoraRegistry.sol`, `rpc-registry.mjs`, `docs/deployment-readiness.md` |
| EVM deployment | Developer script plus browser-wallet deployment flow | `scripts/deploy-rpc.mjs`, `/app/`; public receipt still required for a live claim |
| Independent chain anchor comparison | Implemented client-side | `verifyAnchor` in `rpc-registry.mjs` |
| A2A integration | Metadata example only | `examples/duckman.agent-card.json` |
| MCP integration | Manifest endpoint metadata only | no server required for core protocol |
| ERC-8004 compatibility | Planned | no adapter yet |
| Controller rotation/recovery | Implemented and local-EVM tested | two-step voluntary transfer plus guardian recovery with a two-day cancellation delay |
| Scoped expiring grants/revocation | Implemented off-chain; on-chain still legacy prototype | `governance.mjs` grants are live and enforced locally; `MiniMeRightsRegistry.sol` remains the only on-chain form and is not in the Aeonora contract |
| Hosted encrypted vault | Live and production-verified | `api/vault.mjs`, Vercel Blob `aeonora-vault`; objects contain ciphertext only |
| Self-hosted IPFS encrypted vault | Live on one production node | Kubo v0.40.0 on `sxna-apps-01`; authenticated `pin.aeonora.net`, read-only `ipfs.aeonora.net`; second independent pin still required |
| On-chain IPFS pointer | Implemented and local-EVM tested | controller-gated CID + ciphertext commitment + monotonic pointer version; public registry not deployed |
| Multi-device browser vault | Implemented | `site/app/`, 24-word recovery flow, client-side AES-256-GCM |
| Passkey recovery | Implemented with WebAuthn PRF where supported | `web/app.js`; phrase fallback remains mandatory |
| Harness adapters | Implemented for Markdown/context surfaces | `packages/adapters/`, fixture round trips for 9 profiles: Hermes, OpenClaw, NanoClaw, OpenHands, Claude Code, Codex, Cursor, Obsidian, plain Markdown |
| Auto-detection of installed brains | Implemented | 7 marker-detectable profiles, ranked $HOME-installed above working-directory matches; directory-shaped brains (Obsidian, Markdown) are opt-in by name only |
| Security review | Internal review complete | `docs/security-audit-2026-07-19.md`; AI-assisted and not an external audit |
| Production deployment | Live | `https://aeonora.net`; create/save/disconnect/recover cycle verified against production |
| Live SXNA reference deployment | Not done | example URLs are placeholders |
| Post-quantum key encapsulation | Planned | Current wrapping is X25519 + AES-256-GCM; target is hybrid X25519 + ML-KEM-768 |
| GBrain profile | Proposed | generic Markdown brain capture works; no upstream-specific GBrain export contract is claimed |
| Real harness adapters | Implemented for documented Markdown/context surfaces | `aeonora-adapter`; does not migrate runtime credentials or proprietary session databases |
| Markdown brain bundle capture/restore | Implemented locally | `brain-bundle.mjs`, `brain-bundle-self-check.mjs` |
| Key-rotating portable runtime migration | Implemented locally | `portable-agent.mjs`, `aeonora-portable.mjs` |
| Deterministic portability eval suite | Implemented locally | `evals/portability-eval.mjs` |
| Remote encrypted brain sync | Implemented | opaque public ciphertext objects, capability-token API, 4 MiB limit, atomic ETag plus version/commitment conflict checks |
| Passkey authorization and recovery | Implemented | WebAuthn PRF device unlock plus 24-word cross-device recovery phrase |
| Browser on-chain proof | Implemented and locally E2E-tested | Base Sepolia wallet switch, registry deployment, commitment registration, event-decoded `agentId`, explorer link |

## Verification performed

`npm run check` passes and compiles both Solidity contracts. Disposable local EVM integration runs deployed `AeonoraRegistry` and passed registration, anchor verification, version update, lineage preservation, receipt commit, suspension/reactivation, unauthorized-controller rejection, voluntary controller transfer, delayed recovery, cancellation, and post-recovery ownership. See `docs/deployment-readiness.md`. This is not a public deployment.

`npm run eval` additionally exercises the local portable-agent product path: Markdown capture, encryption, plaintext-leak check, authorized restoration, unauthorized-key rejection, envelope tamper rejection, identity-preserving migration, key rotation, old-runtime denial, lineage verification, and manifest-tamper rejection.
