This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

stigmergic / lexicons / org / latha / strata / analyze.json
4.0 kB 157 lines
1{ 2 "lexicon": 1, 3 "id": "org.latha.strata.analyze", 4 "defs": { 5 "main": { 6 "type": "procedure", 7 "description": "Run strata analysis on an island. Cross-references the island's vertices and edges against vault and carry data, producing themes, connections, tensions, and a synthesis. Returns an org.latha.strata record ready to be written to PDS.", 8 "input": { 9 "encoding": "application/json", 10 "schema": { 11 "type": "object", 12 "required": ["island"], 13 "properties": { 14 "island": { 15 "type": "ref", 16 "ref": "#islandInput" 17 }, 18 "did": { 19 "type": "string", 20 "format": "did", 21 "description": "DID of the user requesting analysis (used to look up vault/carry data)." 22 } 23 } 24 } 25 }, 26 "output": { 27 "encoding": "application/json", 28 "schema": { 29 "type": "object", 30 "required": ["analysis"], 31 "properties": { 32 "analysis": { 33 "type": "ref", 34 "ref": "#analysisResult" 35 }, 36 "record": { 37 "type": "ref", 38 "ref": "org.latha.strata#main", 39 "description": "Complete org.latha.strata record ready to be written to PDS." 40 } 41 } 42 } 43 } 44 }, 45 "islandInput": { 46 "type": "object", 47 "required": ["vertices", "edges"], 48 "properties": { 49 "vertices": { 50 "type": "array", 51 "items": { 52 "type": "ref", 53 "ref": "#vertexInfo" 54 } 55 }, 56 "edges": { 57 "type": "array", 58 "items": { 59 "type": "ref", 60 "ref": "#edgeInfo" 61 } 62 } 63 } 64 }, 65 "vertexInfo": { 66 "type": "object", 67 "required": ["uri", "title"], 68 "properties": { 69 "uri": { 70 "type": "string", 71 "description": "Vertex URI (HTTP URL or AT URI)." 72 }, 73 "title": { 74 "type": "string", 75 "description": "Resolved title of the vertex." 76 }, 77 "description": { 78 "type": "string", 79 "description": "Resolved description." 80 }, 81 "type": { 82 "type": "string", 83 "description": "Vertex type (url, card, collection, note, unknown)." 84 } 85 } 86 }, 87 "edgeInfo": { 88 "type": "object", 89 "required": ["uri", "did", "source", "target", "connectionType"], 90 "properties": { 91 "uri": { 92 "type": "string", 93 "format": "at-uri" 94 }, 95 "did": { 96 "type": "string", 97 "format": "did" 98 }, 99 "source": { 100 "type": "string" 101 }, 102 "target": { 103 "type": "string" 104 }, 105 "connectionType": { 106 "type": "string" 107 }, 108 "note": { 109 "type": "string" 110 }, 111 "handle": { 112 "type": "string" 113 } 114 } 115 }, 116 "analysisResult": { 117 "type": "object", 118 "required": ["themes", "synthesis"], 119 "properties": { 120 "title": { 121 "type": "string", 122 "maxGraphemes": 300, 123 "description": "Concise sentence capturing the core argument." 124 }, 125 "themes": { 126 "type": "array", 127 "items": { 128 "type": "string" 129 } 130 }, 131 "connections": { 132 "type": "array", 133 "items": { 134 "type": "ref", 135 "ref": "org.latha.strata#connection" 136 } 137 }, 138 "tensions": { 139 "type": "array", 140 "items": { 141 "type": "string" 142 } 143 }, 144 "openQuestions": { 145 "type": "array", 146 "items": { 147 "type": "string" 148 } 149 }, 150 "synthesis": { 151 "type": "string", 152 "description": "Prose synthesis connecting the island to existing knowledge." 153 } 154 } 155 } 156 } 157}