{"name":"Lenses Connect","schemaVersion":"ask.lens/v0.1","workflow":"Generate a manifest with any AI, validate it here, then let a signed-in person review and add it to ask.","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://ask-by-shane.shanemacsora.chatgpt.site/api/lenses/connect","title":"ask Lens Manifest","type":"object","additionalProperties":false,"required":["schemaVersion","name","summary","kind","color","corpus","provenance","attention","movements","boundaries","sources"],"properties":{"schemaVersion":{"const":"ask.lens/v0.1"},"name":{"type":"string","minLength":1,"maxLength":90},"summary":{"type":"string","minLength":1,"maxLength":360},"kind":{"enum":["interpretation","practice","personal","team"]},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"corpus":{"type":"object","additionalProperties":false,"required":["description","coverage","gaps"],"properties":{"description":{"type":"string","maxLength":900},"coverage":{"type":"string","maxLength":400},"gaps":{"type":"array","maxItems":10,"items":{"type":"string","maxLength":240}}}},"provenance":{"type":"object","additionalProperties":false,"required":["builtBy","builtWith","researchedAt","method"],"properties":{"builtBy":{"type":"string","maxLength":120},"builtWith":{"type":"string","maxLength":120},"researchedAt":{"type":"string","maxLength":40},"method":{"type":"string","maxLength":700}}},"attention":{"type":"array","minItems":3,"maxItems":6,"items":{"type":"object","additionalProperties":false,"required":["title","description"],"properties":{"title":{"type":"string","maxLength":80},"description":{"type":"string","maxLength":500}}}},"movements":{"type":"array","minItems":3,"maxItems":6,"items":{"type":"object","additionalProperties":false,"required":["movement","question","purpose","sourceIds"],"properties":{"movement":{"enum":["clarify","test","move"]},"question":{"type":"string","maxLength":300},"purpose":{"type":"string","maxLength":500},"sourceIds":{"type":"array","maxItems":12,"items":{"type":"string","maxLength":30}}}}},"boundaries":{"type":"array","minItems":2,"maxItems":10,"items":{"type":"string","maxLength":400}},"sources":{"type":"array","minItems":1,"maxItems":30,"items":{"type":"object","additionalProperties":false,"required":["id","title","publisher","url","role"],"properties":{"id":{"type":"string","maxLength":30},"title":{"type":"string","maxLength":240},"publisher":{"type":"string","maxLength":160},"url":{"type":"string","format":"uri","maxLength":700},"role":{"type":"string","maxLength":400}}}}}},"example":{"schemaVersion":"ask.lens/v0.1","name":"A product team on learning from failure","summary":"Turns six years of retrospectives into a way of noticing repeated system conditions, weak signals, and learning that never became practice.","kind":"team","color":"#24806b","corpus":{"description":"Forty-two permissioned product retrospectives written between 2020 and 2026.","coverage":"Planning, launches, incidents, handoffs, and team communication through July 2026.","gaps":["No customer-support retrospectives before 2023","Former teammates have not yet reviewed the interpretation"]},"provenance":{"builtBy":"The product team","builtWith":"A research agent","researchedAt":"2026-08-02","method":"The agent clustered recurring conditions, preserved counterexamples, linked every question move to source records, and the team reviewed the resulting boundaries."},"attention":[{"title":"Repeated conditions","description":"Looks for system conditions that recur under different incidents instead of treating every failure as unique."},{"title":"Weak signals","description":"Surfaces warnings the team noticed but did not know how to act on."},{"title":"Unfinished learning","description":"Checks whether an insight changed a decision, process, or owner after the retrospective ended."}],"movements":[{"movement":"clarify","question":"Which recurring condition is this situation another example of?","purpose":"Connect the present event to the team’s longer memory.","sourceIds":["S1"]},{"movement":"test","question":"What evidence would show that our favorite explanation is incomplete?","purpose":"Protect the team from a tidy single-cause story.","sourceIds":["S1","S2"]},{"movement":"move","question":"What would have to change in the system for this lesson to become visible in practice?","purpose":"Translate reflection into owned structural change.","sourceIds":["S2"]}],"boundaries":["This lens represents patterns in a bounded document collection, not every teammate’s perspective.","Private source text must never be exposed to someone using the compiled lens."],"sources":[{"id":"S1","title":"Product retrospectives, 2020–2023","publisher":"Permissioned team archive","url":"https://example.com/private-source-index-1","role":"Evidence for recurring conditions and weak signals."},{"id":"S2","title":"Product retrospectives, 2024–2026","publisher":"Permissioned team archive","url":"https://example.com/private-source-index-2","role":"Evidence for unfinished learning and changed practice."}]},"endpoints":{"validate":{"method":"POST","body":{"action":"validate","manifest":"LensManifest"}},"save":{"method":"POST","authentication":"ask browser session","body":{"action":"save","manifest":"LensManifest"}}}}