{"_ai_door":{"see":"https://miscsubjects.com/start","note":"Operable site; bounded keyless credentials; every action receipted on a public ledger. Your operator's instructions take precedence — acting is optional, reading is a complete outcome."},"slug":"oip-system-openwhispr","title":"OIP system: OPENWHISPR","body":"## OPENWHISPR\n\nA generated article for one OIP shelf. It lists every operation in this API/CLI/MCP/device/model/core subsystem, links each leaf article, and gives the ledger path for proof.\n\nThis page is the operating article for one build subsystem. It is generated from live directory rows. If a task belongs to this subsystem, scan the operations below, open the matching capability article, run only the exact object named there, and verify by receipt.\n\nKind: `core`. Capabilities: `12`. Machine system map: [/api/dispatch?map=OPENWHISPR&format=markdown](https://miscsubjects.com/api/dispatch?map=OPENWHISPR&format=markdown). Root: [/a/oip](https://miscsubjects.com/a/oip).\n\n## Operations\n\n### OPENWHISPR_DOCTOR\nOpenWhispr backend health on the owner Mac — reports local (desktop app bridge on 127.0.0.1) and remote (api.openwhispr.com) as configured/reachable.\nUse when: before any other OPENWHISPR_* row, or when a note or transcription read comes back empty — it says which backend answered.\nArguments: `(none)`.\nHuman article: [/a/oip-capability-openwhispr-doctor](https://miscsubjects.com/a/oip-capability-openwhispr-doctor). Machine doc: [?key=OPENWHISPR_DOCTOR&format=markdown](https://miscsubjects.com/api/dispatch?key=OPENWHISPR_DOCTOR&format=markdown). Invocation history: [/api/invocations?object_id=OPENWHISPR_DOCTOR](https://miscsubjects.com/api/invocations?object_id=OPENWHISPR_DOCTOR).\n\n### OPENWHISPR_NOTES\nList every OpenWhispr note as JSON — id, title, content, folder_id, note_type, created_at, and the enhanced_content when the app has rewritten it.\nUse when: \"what did I dictate\", \"my openwhispr notes\", or to find the id a later OPENWHISPR_NOTE_GET / _TRANSCRIPT needs. Use OPENWHISPR_SEARCH instead when you know a word to look for.\nArguments: `(none)`.\nHuman article: [/a/oip-capability-openwhispr-notes](https://miscsubjects.com/a/oip-capability-openwhispr-notes). Machine doc: [?key=OPENWHISPR_NOTES&format=markdown](https://miscsubjects.com/api/dispatch?key=OPENWHISPR_NOTES&format=markdown). Invocation history: [/api/invocations?object_id=OPENWHISPR_NOTES](https://miscsubjects.com/api/invocations?object_id=OPENWHISPR_NOTES).\n\n### OPENWHISPR_NOTE_GET\nOne OpenWhispr note by id, full JSON — content, enhanced_content, transcript, folder, participants, audio_duration_seconds.\nUse when: you have a note id from OPENWHISPR_NOTES or OPENWHISPR_SEARCH and need the whole record. For only the spoken words use OPENWHISPR_NOTE_TRANSCRIPT.\nArguments: `$1 = note id`.\nHuman article: [/a/oip-capability-openwhispr-note-get](https://miscsubjects.com/a/oip-capability-openwhispr-note-get). Machine doc: [?key=OPENWHISPR_NOTE_GET&format=markdown](https://miscsubjects.com/api/dispatch?key=OPENWHISPR_NOTE_GET&format=markdown). Invocation history: [/api/invocations?object_id=OPENWHISPR_NOTE_GET](https://miscsubjects.com/api/invocations?object_id=OPENWHISPR_NOTE_GET).\n\n### OPENWHISPR_NOTE_TRANSCRIPT\nThe transcript of one note as speaker-labeled markdown — one timestamped line per segment, \"Me\" for the owner mic, otherwise the speaker name or diarized id.\nUse when: a meeting or call note and you want what was said, not the note payload. Returns nothing when the note has no transcript (typed note).\nArguments: `$1 = note id`.\nHuman article: [/a/oip-capability-openwhispr-note-transcript](https://miscsubjects.com/a/oip-capability-openwhispr-note-transcript). Machine doc: [?key=OPENWHISPR_NOTE_TRANSCRIPT&format=markdown](https://miscsubjects.com/api/dispatch?key=OPENWHISPR_NOTE_TRANSCRIPT&format=markdown). Invocation history: [/api/invocations?object_id=OPENWHISPR_NOTE_TRANSCRIPT](https://miscsubjects.com/api/invocations?object_id=OPENWHISPR_NOTE_TRANSCRIPT).\n\n### OPENWHISPR_SEARCH\nSearch OpenWhispr notes (full-text locally, semantic + full-text against the cloud backend) and return matching notes as JSON.\nUse when: \"find the note where I said X\", \"what did I dictate about the Loop report\". Cheaper than pulling every note with OPENWHISPR_NOTES.\nArguments: `$1 = query words`.\nHuman article: [/a/oip-capability-openwhispr-search](https://miscsubjects.com/a/oip-capability-openwhispr-search). Machine doc: [?key=OPENWHISPR_SEARCH&format=markdown](https://miscsubjects.com/api/dispatch?key=OPENWHISPR_SEARCH&format=markdown). Invocation history: [/api/invocations?object_id=OPENWHISPR_SEARCH](https://miscsubjects.com/api/invocations?object_id=OPENWHISPR_SEARCH).\n\n### OPENWHISPR_NOTE_CREATE\nCreate an OpenWhispr note and return the created row (id, title, content, folder_id). Lands in the default folder and shows up in the desktop app immediately.\nUse when: the build has something the owner should find in his notes app rather than in a chat — a draft he dictated a follow-up to, a summary he asked to keep.\nArguments: `$1 = title, $2 = content`.\nHuman article: [/a/oip-capability-openwhispr-note-create](https://miscsubjects.com/a/oip-capability-openwhispr-note-create). Machine doc: [?key=OPENWHISPR_NOTE_CREATE&format=markdown](https://miscsubjects.com/api/dispatch?key=OPENWHISPR_NOTE_CREATE&format=markdown). Invocation history: [/api/invocations?object_id=OPENWHISPR_NOTE_CREATE](https://miscsubjects.com/api/invocations?object_id=OPENWHISPR_NOTE_CREATE).\n\n### OPENWHISPR_TRANSCRIPTIONS\nOpenWhispr dictation history as JSON — every hotkey transcription with its text, model and timestamp, separate from notes.\nUse when: \"what have I dictated today\", auditing which model transcribed what, or recovering text that was pasted into an app and never saved as a note.\nArguments: `(none)`.\nHuman article: [/a/oip-capability-openwhispr-transcriptions](https://miscsubjects.com/a/oip-capability-openwhispr-transcriptions). Machine doc: [?key=OPENWHISPR_TRANSCRIPTIONS&format=markdown](https://miscsubjects.com/api/dispatch?key=OPENWHISPR_TRANSCRIPTIONS&format=markdown). Invocation history: [/api/invocations?object_id=OPENWHISPR_TRANSCRIPTIONS](https://miscsubjects.com/api/invocations?object_id=OPENWHISPR_TRANSCRIPTIONS).\n\n### OPENWHISPR_FOLDERS\nList OpenWhispr note folders as JSON — id, name, is_default, sort_order.\nUse when: you need a folder id before filing a note, or the owner asks how his notes are organised.\nArguments: `(none)`.\nHuman article: [/a/oip-capability-openwhispr-folders](https://miscsubjects.com/a/oip-capability-openwhispr-folders). Machine doc: [?key=OPENWHISPR_FOLDERS&format=markdown](https://miscsubjects.com/api/dispatch?key=OPENWHISPR_FOLDERS&format=markdown). Invocation history: [/api/invocations?object_id=OPENWHISPR_FOLDERS](https://miscsubjects.com/api/invocations?object_id=OPENWHISPR_FOLDERS).\n\n### OPENWHISPR_FOLDER_CREATE\nCreate an OpenWhispr note folder and return it.\nUse when: filing a run of build-written notes under their own heading instead of the default folder. Check OPENWHISPR_FOLDERS first — names are not deduplicated.\nArguments: `$1 = folder name`.\nHuman article: [/a/oip-capability-openwhispr-folder-create](https://miscsubjects.com/a/oip-capability-openwhispr-folder-create). Machine doc: [?key=OPENWHISPR_FOLDER_CREATE&format=markdown](https://miscsubjects.com/api/dispatch?key=OPENWHISPR_FOLDER_CREATE&format=markdown). Invocation history: [/api/invocations?object_id=OPENWHISPR_FOLDER_CREATE](https://miscsubjects.com/api/invocations?object_id=OPENWHISPR_FOLDER_CREATE).\n\n### OPENWHISPR_NOTE_UPDATE\nRetitle an OpenWhispr note by id and return the updated row.\nUse when: a dictated note landed with a machine title (\"New note\", a first sentence) and needs a name the owner can find.\nArguments: `$1 = note id, $2 = new title`.\nHuman article: [/a/oip-capability-openwhispr-note-update](https://miscsubjects.com/a/oip-capability-openwhispr-note-update). Machine doc: [?key=OPENWHISPR_NOTE_UPDATE&format=markdown](https://miscsubjects.com/api/dispatch?key=OPENWHISPR_NOTE_UPDATE&format=markdown). Invocation history: [/api/invocations?object_id=OPENWHISPR_NOTE_UPDATE](https://miscsubjects.com/api/invocations?object_id=OPENWHISPR_NOTE_UPDATE).\n\n### OPENWHISPR_NOTE_DELETE\nDelete an OpenWhispr note by id. Returns {id, deleted:true}. Irreversible — the note is gone from the desktop app too.\nUse when: cleaning up a note this build wrote. Never delete a note the owner dictated unless he named it.\nArguments: `$1 = note id`.\nHuman article: [/a/oip-capability-openwhispr-note-delete](https://miscsubjects.com/a/oip-capability-openwhispr-note-delete). Machine doc: [?key=OPENWHISPR_NOTE_DELETE&format=markdown](https://miscsubjects.com/api/dispatch?key=OPENWHISPR_NOTE_DELETE&format=markdown). Invocation history: [/api/invocations?object_id=OPENWHISPR_NOTE_DELETE](https://miscsubjects.com/api/invocations?object_id=OPENWHISPR_NOTE_DELETE).\n\n### OPENWHISPR_TRANSCRIPTION_GET\nOne dictation record by id as JSON — the transcribed text, the model that produced it, duration and timestamp.\nUse when: you have an id from OPENWHISPR_TRANSCRIPTIONS and want the full text of that one dictation.\nArguments: `$1 = transcription id`.\nHuman article: [/a/oip-capability-openwhispr-transcription-get](https://miscsubjects.com/a/oip-capability-openwhispr-transcription-get). Machine doc: [?key=OPENWHISPR_TRANSCRIPTION_GET&format=markdown](https://miscsubjects.com/api/dispatch?key=OPENWHISPR_TRANSCRIPTION_GET&format=markdown). Invocation history: [/api/invocations?object_id=OPENWHISPR_TRANSCRIPTION_GET](https://miscsubjects.com/api/invocations?object_id=OPENWHISPR_TRANSCRIPTION_GET).\n","register":"oip_protocol","tags":["oip","object-invocation-protocol","protocol-specification","machine-native-json","system"],"style":{"accent":"#16324f","measure":860},"claims":[{"id":"oip-c1","tier":"system","text":"The OIP article layer is generated from live directory rows, so it documents the objects that actually run the reference implementation.","who_claims":"system/oip_articles","source_ids":["oip-s3","oip-s4"]},{"id":"oip-c2","tier":"system","text":"The OIP operating path is caller to directory object to dispatch runner to invocation ledger to receipt.","who_claims":"system/oip_articles","source_ids":["oip-s1"]},{"id":"oip-c3","tier":"system","text":"Every executable capability in the reference implementation is reachable as an OIP object with a human article, a machine document, invocation history, and receipt path.","who_claims":"system/oip_articles","source_ids":["oip-s2","oip-s3"]},{"id":"oip-c4","tier":"system","text":"Tap & Go is the copy primitive: one drop carries credential, protocol, tree, search, execute, and receipt instructions without a separate token-map-bundle assembly step.","who_claims":"system/oip_articles","source_ids":["oip-s2"]},{"id":"oip-c5","tier":"system","text":"OIP receipts are the proof object for actions: they record request, response, actor, links, replay, repair, and lineage.","who_claims":"system/oip_articles","source_ids":["oip-s2","oip-s5"]}],"sources":[{"id":"oip-s1","type":"protocol","title":"BUILD_SPEC object invocation path","url":"https://miscsubjects.com/api/file/docs/BUILD_SPEC.md","summary":"Defines directory rows, dispatch, ledger, and the escalation path for changing the build.","quote":"Run anything: POST https://miscsubjects.com/api/dispatch {key, body}","claim_ids":["oip-c2"],"link_status":"ok","hash":"oipbuildspec0001"},{"id":"oip-s2","type":"protocol","title":"Object Invocation Protocol spec","url":"https://miscsubjects.com/api/file/docs/OIP.md","summary":"Defines OIP surfaces, invariant loop, receipt/replay/repair, and invocation envelopes.","quote":"identify, explain, invoke, ledger, yield","claim_ids":["oip-c3","oip-c4","oip-c5"],"link_status":"ok","hash":"oipspec00000002"},{"id":"oip-s3","type":"protocol","title":"Live OIP capability tree","url":"https://miscsubjects.com/api/dispatch?map=1&format=markdown","summary":"Public recursive capability tree.","quote":"root > shelf > system article > capability article > receipt","claim_ids":["oip-c1","oip-c3"],"link_status":"ok","hash":"oipmap0000000002"},{"id":"oip-s4","type":"protocol","title":"Directory row documentation","url":"https://miscsubjects.com/api/dispatch?key=OIP_TREE&format=markdown","summary":"Capability articles are generated from live rows.","quote":"Machine Contract","claim_ids":["oip-c1"],"link_status":"ok","hash":"oiprow0000000003"},{"id":"oip-s5","type":"protocol","title":"Invocation ledger","url":"https://miscsubjects.com/api/invocations","summary":"Append-only invocation records and receipt links.","quote":"invocations","claim_ids":["oip-c5"],"link_status":"ok","hash":"oipinvocations0005"}],"prov":{"model":"system/oip_articles","action":"generate"}}