uip | title | description | author | status | type | category | created |
---|---|---|---|---|---|---|---|
0110 |
Gall Agent Backups |
Expose agent state to enable backup and restore. |
~midden-fabler (@midden-fabler), ~mopfel-winrux (@mopfel-winrux) |
Last Call |
Standards Track |
Kernel |
TBD |
- Expose agent state in a
%gall
scry endpoint. - Enable agent backup and restoration.
- Devs opt in to implementing restore functionality.
- The primary motivation behind adding a new scry endpoint to the agent is to facilitate the essential task of enabling backups for gall agents. As the current scrys in place prove insufficient for backing up these critical agents, the need for a more specialized and robust scry endpoint becomes evident. By introducing a dedicated backup-enabled scry endpoint, the agent's functionality and data preservation capabilities will be significantly enhanced, ensuring the safeguarding of vital information and enabling seamless recovery in the event of unexpected failures or data loss. This improvement will not only provide peace of mind for users but also enhance the overall reliability and resilience of the agent's operations.
-
.^(* %gv /=dude=/$)
-
Return type candidates (versioned):
egg
with stripped typeegg
subset with stripped typeegg
data converted tobowl
, stripped type, extra data fromegg
- e.g.
[bowl page extra]
- e.g.
-
Move egg to
%lull
?
- Initial prototype included a subset of a
bowl
, andon-save:agent
- everything readily accessible.- Possibly relevant data present in an
egg
was omitted.
- Possibly relevant data present in an
~rovnys-ricfer
suggested stripping thetype
in avase
to avoid including the standard library, reducing size (~3x on a fakezod), and avoiding+cue
issues.- The returned value should be immediately
jam
mable /cue
able.- Avoid broken backups.
- Encourage compatible backup / restore implementations.
- Discussion
- Restoring from a backup can be handled in
+on-poke
. - Adding an
agent:gall
arm e.g.++ on-restore |=(=egg !!)
would encourage compatible implementations.- Coordinating a breaking change with
+on-rift
would be ideal, and provide all the building blocks required for an easy to implement, seamless, backup / restoration experience.
- Coordinating a breaking change with
eggs
aren't head tagged for versioning.- Grab version # from
-:*spore
?
- Grab version # from
- Restoring from a backup can be handled in
~
- All agent state is exposed to userspace.
- This was already possible with a trivial change to
%gall
.
- This was already possible with a trivial change to
- Unencrypted backups may contain sensitive data.
- Backups should be verified, or loaded from a trusted source.
Copyright and related rights waived via CC0.