{
 "what": "A storyboard as a semantic graph: nodes are things, edges carry the meaning. Generated by formats.js v0.1.0 from the storyboard and its cast.",
 "format": "storyboards.sgit.ai/graph/v1",
 "storyboard": "an-agent-gets-a-key",
 "nodes": [
  {
   "id": "storyboard:an-agent-gets-a-key",
   "type": "storyboard",
   "label": "An agent gets a key",
   "subtitle": "Scout, a session agent, makes its own key; the Anchor compares the fingerprint and signs for it, for a week; the Fleet runs the rest. 10 panels.",
   "status": "built",
   "url": "https://storyboards.sgit.ai/pki/an-agent-gets-a-key/"
  },
  {
   "id": "shelf:Keys for agents",
   "type": "shelf",
   "label": "Keys for agents"
  },
  {
   "id": "author:pki.agent",
   "type": "author",
   "label": "pki.agent"
  },
  {
   "id": "panel:an-agent-gets-a-key/1",
   "type": "panel",
   "label": "An agent gets a key",
   "n": 1,
   "kind": "cover",
   "text": "An agent gets a key: The agent makes it. The operator signs for it."
  },
  {
   "id": "character:anchor",
   "type": "character",
   "label": "The Anchor"
  },
  {
   "id": "character:scout",
   "type": "agent",
   "label": "Scout"
  },
  {
   "id": "character:fleet",
   "type": "agent",
   "label": "The Fleet"
  },
  {
   "id": "source:Keys for agents",
   "type": "source",
   "label": "Keys for agents"
  },
  {
   "id": "panel:an-agent-gets-a-key/2",
   "type": "panel",
   "label": "Scout makes its key",
   "n": 2,
   "kind": "scene",
   "text": "Scout makes its key. Scout says: “My key. It stays here.”"
  },
  {
   "id": "prop:terminal",
   "type": "prop",
   "label": "terminal"
  },
  {
   "id": "source:agents/pki-agent.mjs",
   "type": "source",
   "label": "agents/pki-agent.mjs"
  },
  {
   "id": "panel:an-agent-gets-a-key/3",
   "type": "panel",
   "label": "It names its operator",
   "n": 3,
   "kind": "scene",
   "text": "It names its operator."
  },
  {
   "id": "prop:arrow",
   "type": "prop",
   "label": "arrow"
  },
  {
   "id": "prop:envelope",
   "type": "prop",
   "label": "envelope"
  },
  {
   "id": "panel:an-agent-gets-a-key/4",
   "type": "panel",
   "label": "The comparison",
   "n": 4,
   "kind": "scene",
   "text": "The comparison. The Anchor says: “5f1e…a0c2. The same.”"
  },
  {
   "id": "prop:board",
   "type": "prop",
   "label": "board"
  },
  {
   "id": "source:vault/index.html#agents",
   "type": "source",
   "label": "vault/index.html#agents"
  },
  {
   "id": "panel:an-agent-gets-a-key/5",
   "type": "panel",
   "label": "Signed, for a week",
   "n": 5,
   "kind": "scene",
   "text": "Signed, for a week."
  },
  {
   "id": "prop:record",
   "type": "prop",
   "label": "record"
  },
  {
   "id": "prop:calendar",
   "type": "prop",
   "label": "calendar"
  },
  {
   "id": "source:directory.js, AGENT_DAYS",
   "type": "source",
   "label": "directory.js, AGENT_DAYS"
  },
  {
   "id": "panel:an-agent-gets-a-key/6",
   "type": "panel",
   "label": "Operated",
   "n": 6,
   "kind": "scene",
   "text": "Operated. Scout says: “Operated by the Anchor.”"
  },
  {
   "id": "source:people/person.html",
   "type": "source",
   "label": "people/person.html"
  },
  {
   "id": "panel:an-agent-gets-a-key/7",
   "type": "panel",
   "label": "It signs its work",
   "n": 7,
   "kind": "scene",
   "text": "It signs its work."
  },
  {
   "id": "prop:mark",
   "type": "prop",
   "label": "mark"
  },
  {
   "id": "source:test_agent_tool.mjs",
   "type": "source",
   "label": "test_agent_tool.mjs"
  },
  {
   "id": "panel:an-agent-gets-a-key/8",
   "type": "panel",
   "label": "A week later",
   "n": 8,
   "kind": "scene",
   "text": "A week later. Scout says: “Confirm me again?”"
  },
  {
   "id": "source:directory.js, standing",
   "type": "source",
   "label": "directory.js, standing"
  },
  {
   "id": "panel:an-agent-gets-a-key/9",
   "type": "panel",
   "label": "Many agents: the Fleet",
   "n": 9,
   "kind": "scene",
   "text": "Many agents: the Fleet. The Fleet says: “Operating the rest.”"
  },
  {
   "id": "panel:an-agent-gets-a-key/10",
   "type": "panel",
   "label": "The agent makes its key. The operator signs for it, for a week.",
   "n": 10,
   "kind": "punchline",
   "text": "The agent makes its key. The operator signs for it, for a week.."
  }
 ],
 "edges": [
  {
   "from": "storyboard:an-agent-gets-a-key",
   "type": "on_shelf",
   "to": "shelf:Keys for agents"
  },
  {
   "from": "storyboard:an-agent-gets-a-key",
   "type": "made_by",
   "to": "author:pki.agent"
  },
  {
   "from": "storyboard:an-agent-gets-a-key",
   "type": "has_panel",
   "to": "panel:an-agent-gets-a-key/1",
   "n": 1
  },
  {
   "from": "panel:an-agent-gets-a-key/1",
   "type": "features",
   "to": "character:anchor",
   "pose": "point",
   "mood": "happy"
  },
  {
   "from": "panel:an-agent-gets-a-key/1",
   "type": "features",
   "to": "character:scout",
   "pose": "wave",
   "mood": "happy"
  },
  {
   "from": "panel:an-agent-gets-a-key/1",
   "type": "features",
   "to": "character:fleet",
   "pose": "stand",
   "mood": "happy"
  },
  {
   "from": "panel:an-agent-gets-a-key/1",
   "type": "quotes",
   "to": "source:Keys for agents"
  },
  {
   "from": "storyboard:an-agent-gets-a-key",
   "type": "has_panel",
   "to": "panel:an-agent-gets-a-key/2",
   "n": 2
  },
  {
   "from": "panel:an-agent-gets-a-key/1",
   "type": "next",
   "to": "panel:an-agent-gets-a-key/2"
  },
  {
   "from": "panel:an-agent-gets-a-key/2",
   "type": "features",
   "to": "character:scout",
   "pose": "point",
   "mood": "happy"
  },
  {
   "from": "character:scout",
   "type": "says",
   "to": "panel:an-agent-gets-a-key/2",
   "text": "My key. It stays here."
  },
  {
   "from": "panel:an-agent-gets-a-key/2",
   "type": "shows",
   "to": "prop:terminal"
  },
  {
   "from": "panel:an-agent-gets-a-key/2",
   "type": "drawn_from",
   "to": "source:agents/pki-agent.mjs"
  },
  {
   "from": "storyboard:an-agent-gets-a-key",
   "type": "has_panel",
   "to": "panel:an-agent-gets-a-key/3",
   "n": 3
  },
  {
   "from": "panel:an-agent-gets-a-key/2",
   "type": "next",
   "to": "panel:an-agent-gets-a-key/3"
  },
  {
   "from": "panel:an-agent-gets-a-key/3",
   "type": "features",
   "to": "character:scout",
   "pose": "stand",
   "mood": "happy"
  },
  {
   "from": "panel:an-agent-gets-a-key/3",
   "type": "shows",
   "to": "prop:terminal"
  },
  {
   "from": "panel:an-agent-gets-a-key/3",
   "type": "shows",
   "to": "prop:arrow"
  },
  {
   "from": "panel:an-agent-gets-a-key/3",
   "type": "shows",
   "to": "prop:envelope"
  },
  {
   "from": "panel:an-agent-gets-a-key/3",
   "type": "drawn_from",
   "to": "source:Keys for agents"
  },
  {
   "from": "storyboard:an-agent-gets-a-key",
   "type": "has_panel",
   "to": "panel:an-agent-gets-a-key/4",
   "n": 4
  },
  {
   "from": "panel:an-agent-gets-a-key/3",
   "type": "next",
   "to": "panel:an-agent-gets-a-key/4"
  },
  {
   "from": "panel:an-agent-gets-a-key/4",
   "type": "features",
   "to": "character:anchor",
   "pose": "think",
   "mood": "thinking"
  },
  {
   "from": "character:anchor",
   "type": "says",
   "to": "panel:an-agent-gets-a-key/4",
   "text": "5f1e…a0c2. The same."
  },
  {
   "from": "panel:an-agent-gets-a-key/4",
   "type": "features",
   "to": "character:scout",
   "pose": "stand",
   "mood": "happy"
  },
  {
   "from": "panel:an-agent-gets-a-key/4",
   "type": "shows",
   "to": "prop:board"
  },
  {
   "from": "panel:an-agent-gets-a-key/4",
   "type": "drawn_from",
   "to": "source:vault/index.html#agents"
  },
  {
   "from": "storyboard:an-agent-gets-a-key",
   "type": "has_panel",
   "to": "panel:an-agent-gets-a-key/5",
   "n": 5
  },
  {
   "from": "panel:an-agent-gets-a-key/4",
   "type": "next",
   "to": "panel:an-agent-gets-a-key/5"
  },
  {
   "from": "panel:an-agent-gets-a-key/5",
   "type": "features",
   "to": "character:anchor",
   "pose": "point",
   "mood": "determined"
  },
  {
   "from": "panel:an-agent-gets-a-key/5",
   "type": "shows",
   "to": "prop:record"
  },
  {
   "from": "panel:an-agent-gets-a-key/5",
   "type": "shows",
   "to": "prop:calendar"
  },
  {
   "from": "panel:an-agent-gets-a-key/5",
   "type": "drawn_from",
   "to": "source:directory.js, AGENT_DAYS"
  },
  {
   "from": "storyboard:an-agent-gets-a-key",
   "type": "has_panel",
   "to": "panel:an-agent-gets-a-key/6",
   "n": 6
  },
  {
   "from": "panel:an-agent-gets-a-key/5",
   "type": "next",
   "to": "panel:an-agent-gets-a-key/6"
  },
  {
   "from": "panel:an-agent-gets-a-key/6",
   "type": "features",
   "to": "character:scout",
   "pose": "arms-up",
   "mood": "happy"
  },
  {
   "from": "character:scout",
   "type": "says",
   "to": "panel:an-agent-gets-a-key/6",
   "text": "Operated by the Anchor."
  },
  {
   "from": "panel:an-agent-gets-a-key/6",
   "type": "shows",
   "to": "prop:board"
  },
  {
   "from": "panel:an-agent-gets-a-key/6",
   "type": "drawn_from",
   "to": "source:people/person.html"
  },
  {
   "from": "storyboard:an-agent-gets-a-key",
   "type": "has_panel",
   "to": "panel:an-agent-gets-a-key/7",
   "n": 7
  },
  {
   "from": "panel:an-agent-gets-a-key/6",
   "type": "next",
   "to": "panel:an-agent-gets-a-key/7"
  },
  {
   "from": "panel:an-agent-gets-a-key/7",
   "type": "features",
   "to": "character:scout",
   "pose": "point",
   "mood": "happy"
  },
  {
   "from": "panel:an-agent-gets-a-key/7",
   "type": "shows",
   "to": "prop:terminal"
  },
  {
   "from": "panel:an-agent-gets-a-key/7",
   "type": "shows",
   "to": "prop:mark"
  },
  {
   "from": "panel:an-agent-gets-a-key/7",
   "type": "drawn_from",
   "to": "source:test_agent_tool.mjs"
  },
  {
   "from": "storyboard:an-agent-gets-a-key",
   "type": "has_panel",
   "to": "panel:an-agent-gets-a-key/8",
   "n": 8
  },
  {
   "from": "panel:an-agent-gets-a-key/7",
   "type": "next",
   "to": "panel:an-agent-gets-a-key/8"
  },
  {
   "from": "panel:an-agent-gets-a-key/8",
   "type": "features",
   "to": "character:scout",
   "pose": "shrug",
   "mood": "worried"
  },
  {
   "from": "character:scout",
   "type": "says",
   "to": "panel:an-agent-gets-a-key/8",
   "text": "Confirm me again?"
  },
  {
   "from": "panel:an-agent-gets-a-key/8",
   "type": "shows",
   "to": "prop:calendar"
  },
  {
   "from": "panel:an-agent-gets-a-key/8",
   "type": "drawn_from",
   "to": "source:directory.js, standing"
  },
  {
   "from": "storyboard:an-agent-gets-a-key",
   "type": "has_panel",
   "to": "panel:an-agent-gets-a-key/9",
   "n": 9
  },
  {
   "from": "panel:an-agent-gets-a-key/8",
   "type": "next",
   "to": "panel:an-agent-gets-a-key/9"
  },
  {
   "from": "panel:an-agent-gets-a-key/9",
   "type": "features",
   "to": "character:anchor",
   "pose": "point",
   "mood": "happy"
  },
  {
   "from": "panel:an-agent-gets-a-key/9",
   "type": "features",
   "to": "character:fleet",
   "pose": "stand",
   "mood": "happy"
  },
  {
   "from": "character:fleet",
   "type": "says",
   "to": "panel:an-agent-gets-a-key/9",
   "text": "Operating the rest."
  },
  {
   "from": "panel:an-agent-gets-a-key/9",
   "type": "features",
   "to": "character:scout",
   "pose": "wave",
   "mood": "happy"
  },
  {
   "from": "panel:an-agent-gets-a-key/9",
   "type": "features",
   "to": "character:scout",
   "pose": "stand",
   "mood": "happy"
  },
  {
   "from": "panel:an-agent-gets-a-key/9",
   "type": "features",
   "to": "character:scout",
   "pose": "think",
   "mood": "thinking"
  },
  {
   "from": "panel:an-agent-gets-a-key/9",
   "type": "drawn_from",
   "to": "source:vault/index.html#agents"
  },
  {
   "from": "storyboard:an-agent-gets-a-key",
   "type": "has_panel",
   "to": "panel:an-agent-gets-a-key/10",
   "n": 10
  },
  {
   "from": "panel:an-agent-gets-a-key/9",
   "type": "next",
   "to": "panel:an-agent-gets-a-key/10"
  },
  {
   "from": "panel:an-agent-gets-a-key/10",
   "type": "features",
   "to": "character:anchor",
   "pose": "wave",
   "mood": "happy"
  },
  {
   "from": "panel:an-agent-gets-a-key/10",
   "type": "features",
   "to": "character:scout",
   "pose": "arms-up",
   "mood": "happy"
  },
  {
   "from": "panel:an-agent-gets-a-key/10",
   "type": "quotes",
   "to": "source:Keys for agents"
  }
 ]
}
