docs: ogar-doc document-layer proposal (council pending)#191
Conversation
Operator (2026-07-12): take ownership of ogar-ocr / ogar-doc — PDF/spiredoc-style reconstruction to update documents with updated knowledge, storing raw docs as references while storing the awareness in the SoA graph substrate. ogar-ocr (the shipped 14-cap ocr_actions table + tesseract-ogar executor) recognizes -> doc.v1. ogar-doc (this proposal) PERSISTS it (raw bytes as a KV reference; awareness = the doc.v1 structure as a GUID-keyed SoA subtree) and RECONSTRUCTS it (a reconstruct_document ActionDef re-emits an updated PDF from the graph). This fires the v2-deferred typed_field mint (0x080A reserved) + adds a document mint (0x080B). Three new ActionDefs (persist/read/reconstruct), facts only, External kausal. OGAR-AS-IR §3 + SurrealQL-AST preflight answered. Consumers (MedCare etc.) inherit it via the classid membrane — no per-consumer tesseract-ogar dep. Council-pending; DISCOVERY-MAP D-entry specified. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016b33swuXE23hKtqxsHu9p1
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3ce5b47e8c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| value — so a document is a **GUID-keyed subtree**, not one node: | ||
|
|
||
| ``` | ||
| document (classid = document 0x080A · APP_PREFIX) ← the root node |
There was a problem hiding this comment.
Use the document classid consistently
D3 assigns typed_field to 0x080A and document to 0x080B, but this subtree example labels the document root as 0x080A. If an implementer follows the D2 model rather than the later table, persisted document roots collide with the typed-field concept, so the proposal is not an unambiguous canon source for the new mints.
Useful? React with 👍 / 👎.
The ogar-doc charter (docs/OGAR-DOC-LAYER-PROPOSAL.md, merged #191) mandated a DISCOVERY-MAP ledger entry (D9). Appending D-OGAR-DOC-LAYER [S] — the document persistence + reconstruction layer: raw bytes as a KV reference, awareness as a GUID-keyed SoA subtree, reconstruct_document ActionDef re-emits an updated PDF. Fires the v2-deferred typed_field mint (0x080A) + adds document (0x080B). Grade [S] until the 5+3 council + a probe promote it; the canon mints land WITH the council-verified build, never ahead of it. Append-only canon; no concept minted in this commit. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016b33swuXE23hKtqxsHu9p1
docs: DISCOVERY-MAP D-OGAR-DOC-LAYER entry (charter #191 follow-up)
ogar-doc — the Document Layer (PROPOSAL, council pending)
Operator ask (2026-07-12): take ownership of
ogar-ocr/ogar-doc— PDF / Spire.Doc-style reconstruction to update documents with updated knowledge, storing raw docs as references while storing the awareness in the SoA graph substrate.docs/OGAR-DOC-LAYER-PROPOSAL.md— the ownership charter, grounded in the GUID/SoA canon + OGAR-AS-IR:ogar-ocralready exists + is owned by this arc — the shipped 14-capabilityogar_vocab::ocr_actionstable + thetesseract-ogarexecutor.recognize_document→doc.v1(regions incl. table cell grids, typed fields, quality).typed_fieldmint (0x080A) trigger is now MET — the operator's "persist awareness as graph nodes" is exactly the trigger the v2 proposal recorded.ogar-doc= persist + reconstruct:documentnode's value carries{sha256, kv_key, mime, counts}, never the bytes (the raw lives in the consumer's blob store).doc.v1decomposes into GUID-keyed nodes (page / region / table-cell / field), each a facet on the 4+12 register thedocument/page_layoutClassView projects.reconstruct_documentActionDef — walk the awareness subtree, bind a template, re-emit a PDF; mutate a field node + re-fire ⇒ the document re-issues with updated knowledge. Renderer =ogar-render-askama+ the proventesseract-ocr-pdf::render_searchable_pdfbrick.typed_field 0x080A(v2-reserved),document 0x080B. Three ActionDefs (persist/read/reconstruct_document), facts only,Externalkausal.lance_graph_contract::ogar_codebook::canonical_concept_id) — no per-consumertesseract-ogardep, avoiding the customer-binary dep-graph landmine.OGAR-AS-IR §3 tests + SURREAL-AST-TRAP-PREFLIGHT answered in the doc. Council-pending; a
DISCOVERY-MAPD-entry is specified for merge. This is the design charter I'll drive through the 5+3 council, then build.🤖 Generated with Claude Code
https://claude.ai/code/session_016b33swuXE23hKtqxsHu9p1