Skip to content

[Ingestion]: ZIP archive expansion — ADR needed for fan-out contract #130

Description

@inherent-prime

Problem

Agents often hold a bundle (repo export, docs folder) as one ZIP; today every member must be uploaded individually.

Open design questions — decide via a short ADR before implementation

  • Fan-out contract: one upload → many documents breaks DocumentUploadMessage (one document per event, contracts v1.0.0). Child documents with parent_document_id? New event?
  • Dedup: member-level content_hash vs archive-level.
  • Limits: member count, nesting depth (zip-in-zip), zip-bomb guards (compression-ratio cap).
  • Partial failure semantics: 3 of 10 members fail — parent status? Must respect the compensation rules (mark-failed via compensation.py, no state/response divergence).

Proposal

Acceptance criteria

  • ADR merged under docs/adr/.
  • Implementation issue(s) filed from the ADR decisions.

Depends on #117.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions