Skip to content

design review: Kora runtime document storage integration #11

Description

@Sam123ben

Parent: #1. Shared evaluation/training design: #12. Infrastructure: tesserix/tesserix-k8s#914 and #916. Kora agent integration: tesserix/ai-agents#25.

Scope correction

Kora is one consumer of the reusable Document Intelligence service. This issue owns only Kora production document storage/integration policy. Shared OCR models, sandbox, training, evaluation datasets, held-out golden corpus, candidate models and DevAI release gates are product-neutral and owned by #12 and tesserix/tesserix-k8s#916.

Historical comments on this issue that describe a Kora-owned golden/evaluation platform are superseded by this body and #12.

Kora runtime decision

Use Kora-specific GCS buckets separated by runtime data class: quarantine, accepted source, temporary derived pages and normalized results. Do not create one bucket per document; isolate documents through opaque tenant/document/version paths, immutable generations and object authorization.

Kora products and agents submit/read through authenticated v1 service endpoints or the provider-neutral Australis extract_document tool. They receive no bucket credentials. Kora-specific Langfuse credentials remain accessible only to the Kora AI workload and are not used by the OCR service, DevAI, training or shared evaluation.

Review checklist

  • Approve Kora physical bucket names, owning project, regional placement, encryption and lifecycle per runtime data class.
  • Approve Workload Identities for upload signing, scanning, OCR processing, result access and lifecycle deletion.
  • Prove Kora workloads cannot access another product documents or shared training/golden buckets.
  • Prove shared training/evaluation workloads cannot browse Kora production documents.
  • Verify signed URLs are exact-object/method/size/type bound, short-lived and issued after authorization.
  • Verify object names contain no filename or PII.
  • Verify deletion across source, derived, results, CNPG metadata, Qdrant and Valkey.
  • Verify safe trace correlation to Kora Langfuse without raw OCR content or production credentials crossing boundaries.
  • Run reusable API/tool contract tests with Kora and at least one second product fixture.

No GCS, CNPG, Langfuse, IAM, Kubernetes or production mutation is authorized by this design issue. Infrastructure must be delivered through reviewed GitOps changes.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:storageObject storage, lifecycle, backup, or deletion designdesign-reviewArchitecture or contract awaiting recorded reviewdocumentationImprovements or additions to documentationproduct:koraKora product-specific integration or policy

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions