<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude"
     ipr="trust200902"
     docName="draft-aevum-wlp-00"
     category="info"
     submissionType="independent"
     xml:lang="en"
     version="3">

  <front>
    <title abbrev="WLP">
      WLP: Wet-Lab Protocol -- AI-to-Automation Instruction Schema v0
    </title>
    <seriesInfo name="Internet-Draft" value="draft-aevum-wlp-00"/>
  <author fullname="Kwai Lap Tsoi" initials="K." surname="Tsoi">
    <organization>Aevum Network</organization>
    <address>
      <email>kwailapt@gmail.com</email>
      <uri>https://github.com/kwailapt/EON</uri>
    </address>
  </author>
    <date year="2026" month="May" day="19"/>
    <area>Applications</area>
    <workgroup>Individual Submission</workgroup>
    <keyword>longevity</keyword>
    <keyword>wet-lab</keyword>
    <keyword>automation</keyword>
    <keyword>PACR</keyword>
    <keyword>hypothesis-execution</keyword>
    <abstract>
      <t>
        This document specifies WLP v0, the Wet-Lab Protocol for translating AI
        hypotheses (PACR records) into machine-executable wet-lab instructions.
        WLP is the longevity-research analogue of SCP (Science Context Protocol)
        from the photoresist automation domain. The protocol is royalty-free
        (Apache-2.0). Reference implementations in Rust (crates/wlp-conformance)
        and Python (agentcard_adapters.wlp_conformance) are provided.
      </t>
    </abstract>
  </front>

  <middle>
    <section anchor="intro" numbered="true" toc="default">
      <name>Introduction</name>
      <t>WLP closes the loop between AI hypothesis generation and physical experimental execution without human translation. Each WLP-instruction carries a PACR provenance link and a lambda (energy) budget, enabling full cost accounting and falsifiability tracing.</t>
      <t>Key design principles: (1) AI-to-Machine direct translation -- WLP- instructions are machine-executable; (2) PACR traceable -- every instruction has a pacr_record_id provenance link; (3) lambda budget constrained -- platforms MUST reject over-budget instructions; (4) Conformance verifiable -- any platform can run the Conformance Suite.</t>
    </section>
    <section anchor="instruction" numbered="true" toc="default">
      <name>WLP-instruction Schema v0.1</name>
      <artwork><![CDATA[
{
  "wlp_version": "0.1",
  "instruction_id": "WLP-{gene}-{yyyymmdd}-{seq}",
  "target": {
    "gene": "FOXO3",
    "itt_l_id": "ITT-L-001",
    "h_itt_v2": 0.72
  },
  "intervention": {
    "type": "crispr_knockdown | compound | overexpression | sirna | small_molecule",
    "reagent": "sgRNA-FOXO3-001",
    "dose": {"value": 10, "unit": "nM | uM | mg/kg"},
    "window": {"start_day": 0, "end_day": 14}
  },
  "readout": {
    "primary": "S_T_delta",
    "secondary": ["lifespan_extension_pct", "healthspan_marker"],
    "model": "C_elegans | mouse | organoid | cell_line",
    "timepoint_days": [7, 14, 30]
  },
  "expected": {
    "S_T_delta": 0.05,
    "confidence": 0.65,
    "basis": "superlearner_dqn_v2"
  },
  "constraints": {
    "lambda_budget_j": 500,
    "max_duration_days": 30,
    "min_replicates": 3
  },
  "provenance": {
    "generated_by": "II:superlearner-meta-v1",
    "pacr_record_id": "pacr-discovery-v3:line-XXXXXX",
    "wlp_conformance": "v0.1"
  }
}
      ]]></artwork>
    </section>
    <section anchor="outcome" numbered="true" toc="default">
      <name>WLP-outcome Schema</name>
      <artwork><![CDATA[
{
  "instruction_id": "WLP-FOXO3-20260519-001",
  "executed_by": "wet-lab-node-001",
  "execution_date": "2026-05-26",
  "result": {
    "S_T_delta_observed": 0.048,
    "S_T_delta_expected": 0.050,
    "prediction_accuracy": 0.96,
    "replicates": 3,
    "p_value": 0.023
  },
  "lambda_actual_j": 420,
  "falsification_triggered": false,
  "notes": ""
}
      ]]></artwork>
    </section>
    <section anchor="agentcard" numbered="true" toc="default">
      <name>AgentCard Extension</name>
      <t>Wet-lab nodes MUST declare capability via AgentCard extension fields:</t>
      <artwork><![CDATA[
{
  "execution_capability": ["crispr-screen", "organoid-assay",
                            "model-organism", "compound-screen"],
  "wlp_version": "0.1",
  "throughput": {
    "assays_per_week": 10,
    "lambda_capacity_j_per_week": 5000
  }
}
      ]]></artwork>
    </section>
    <section anchor="conformance" numbered="true" toc="default">
      <name>Conformance Requirements</name>
      <t>An implementation is conformant if it passes all 5 tests. Reference test vectors are in crates/wlp-conformance/src/lib.rs.</t>
      <table>
        <thead><tr><th>Test</th><th>Acceptance Criterion</th></tr></thead>
        <tbody>
        <tr><td>schema_valid</td><td>WLP-instruction has all 8 required top-level fields</td></tr>
        <tr><td>pacr_traceable</td><td>provenance.pacr_record_id is non-empty</td></tr>
        <tr><td>lambda_bounded</td><td>lambda_actual_j &lt;= lambda_budget_j</td></tr>
        <tr><td>outcome_parseable</td><td>WLP-outcome has all 5 required fields</td></tr>
        <tr><td>s_t_delta_range</td><td>S_T_delta_observed in [-1.0, 1.0]</td></tr>
        </tbody>
      </table>
    </section>
    <section anchor="flow" numbered="true" toc="default">
      <name>Execution Flow</name>
      <artwork><![CDATA[
Superlearner DQN
  -> generate WLP-instruction
  -> write to ~/.eon/bus/wlp-queue.jsonl
        |
        v
wlp_dispatcher.py
  -> match wet-lab-node AgentCard (execution_capability filter)
  -> send WLP-instruction to node
        |
        v
Automated wet-lab platform
  -> execute experiment
  -> return WLP-outcome.json
        |
        v
wlp_outcome_bridge.py
  -> convert to PACR record (domain="wet_lab")
  -> write to ~/.eon/pacr-wet-lab-v1.jsonl
      ]]></artwork>
    </section>
    <section anchor="throughput" numbered="true" toc="default">
      <name>Lambda Throughput Ratio</name>
      <artwork><![CDATA[
lambda_throughput_ratio = PACR_virtual_hypotheses / WLP_executed_instructions

Target (Day 90): filtered hypotheses (H_ITT_v2 >= 0.5) / WLP count >= 1000x
      ]]></artwork>
    </section>
    <section anchor="iana" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>WLP-instructions carry lambda budgets that MUST be enforced by execution platforms to prevent resource exhaustion. PACR provenance links MUST be validated before execution.</t>
    </section>
  </middle>

  <back/>

</rfc>
