Skip to content

Prove standalone recording with an unmodified third-party library #1

Description

@dprada

Purpose

Define and prove a minimal standalone Recorda substrate that works with a library outside MOLI, including a library whose source cannot be edited. Keep component-owned scientific results and existing provenance authoritative. MOLI integration follows only after the standalone behavior is demonstrated.

First experiment

  • Use a small, deterministic third-party library operation through an explicit boundary owned by the caller. Starting a session alone must not claim to capture uninstrumented calls.
  • Exercise an opt-in decorator on a separate example to check the inactive path and nested correlation.
  • Persist an operation start before execution and a terminal outcome afterward. An interrupted run must remain visibly incomplete.
  • Record implementation identity, safe input/output descriptors, status, timestamps, and explicit omissions. Do not serialize opaque objects, secrets, or large payloads by default.
  • Inspect the resulting record using Recorda alone; no MOLI dependency or platform context.

Acceptance evidence

Show success, exception, interruption, inactive behavior, nested operations, and a sensitive input. Demonstrate that an existing native record can be linked by stable reference without copying or replacing it. State which calls were instrumented and which were outside coverage.

Follow-on

After this experiment, test one Sabueso retrieval and one entity-resolution boundary. Evaluate MolSysSuite's native records before designing any integration or extra recording there. Then test MOLI context, EventLedger, and composed ProjectRecord as a separate step.

Design note: devguide/FIRST_SLICE.md. This issue concerns Recorda's standalone behavior; any later change to the shared MOLI provenance contract belongs in uibcdf/moli.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions