OXYGENHUB

Passkey for the owner and the assurance policy: the human's authority out of agents' reach issue #19 open andymccall opened this · 0 comments

andymccall

The human's authority must be out of every agent's reach, even an agent with a shell on the human's own machine (spec §5.2 G8, §8.3, §8.5).

  • A passkey (WebAuthn with user verification) for the owner, registered through a one-time setup code printed by spectra init (as OxygenHub's first account), kept in the ledger as identity.passkey. Radar signs in with it, and re-asserts it for each level-3 action; the assertion is the event's auth.proof.
  • The [policy] classes and their defaults: chat = 2, tasks = 2, human_answers = 3, permission_verdicts = 3, rules = 3, identities = 3, admin = 3. Lowering a class is itself level 3, leaves policy.weakened, and shows a standing banner.
  • Agents are level 2 at most, and the owner's classes cannot be reached by an agent at any level, whatever it holds.
  • spectra serve --open's level-2 session (from issue #4) keeps working for chat, with its banner, and cannot do level-3 actions.
  • Pruning becomes a level-3 action signed by the owner (admin.pruned).

This is 0.2 work because it is where the human's authority is first exercised (answering human requests); it is filed now so the design is not lost.

Done when a test shows an agent, holding the owner's CLI key, unable to answer its own human request, change the rules, or add an agent, while the owner can do all three in Radar with the passkey. After issue #4 and the 0.2 tasks work (issue #14).

andymccall set labels feature, security ·