Documentation

Everything needed to run, extend and audit the platform.

Getting started, SDK reference, run records, the tool log, runbooks, autonomy levels and platform limits. Documentation access comes with a design partnership; the structure is published here so your QA and IT teams can see what exists.

ReferenceRunbooksValidation artefacts

run_b2c7e1 · agent graph · scenario 10 nodes · 1 QA approval gate
01 · orchestrator ingest.batch_record ✓ SUCCEEDED 02 · orchestrator twin.rehearse ✓ SUCCEEDED 03 · blend_dispense blend.uniformity ✓ SUCCEEDED 04 · granulate_dry granulate.dry ✓ SUCCEEDED 05 · compress_fill compress.press ✓ SUCCEEDED 06 · coat_dry coat.spray ✓ SUCCEEDED 07 · defect_inspect inspect.tablets ✓ SUCCEEDED 08 · quality_potency spectra.release_evidence ✓ SUCCEEDED 09 · orchestrator approve.qa ◆ APPROVAL 10 · quality_conf release.genealogy ✓ SUCCEEDED

Scenario: Run one immediate-release tablet batch through granulation, compression, coating and inspection inside the approved design space, with QA approval before release. A design walkthrough, not a customer record.

Getting started

First hour

From an empty edge node to a shadow-mode run on one line.

  1. Install the edge runtime on the Jetson or on-prem GPU node on the isolated OT segment.
  2. Register read-only connectors for the press, coater, granulator, PAT and MES on the wedge line.
  3. Load the batch record and the approved design space for the formulation and tooling family.
  4. Start a shadow run with pildeon run --autonomy L0; nothing writes.
  5. Open the review console and compare predictions with the QC results as they arrive.
Developers

Define an agent, bound it, run it

The Pildeon SDK is typed Python. Tools are declared with schemas, units and design-space limits; the policy engine enforces them at call time, and every change to a tool or a limit is a change-control event.

What you get

  • Typed tool definitions with unit-aware ranges bound to the approved design space
  • Deterministic replay of any historical batch against a new model version
  • Local twin harness so a setpoint vector is rehearsed before it is shipped
  • Autonomy policy as code, versioned, reviewed and change-controlled like any other GxP change

Read the docs Developer guide

tp2_compression_agent.py
# Bound the compression agent to tablet press 2's approved design space.
from pildeon import Agent, Tool, DesignSpace, Autonomy

force = Tool(
    name="press.write_setpoint",
    tags=["TP2.MAIN_FORCE", "TP2.FEED_FRAME_SPEED"],
    limits=DesignSpace.approved("family-A", "tooling-D"),
)

compress = Agent(
    id="agent.compress_fill",
    goal="weight, hardness on target; capping risk under threshold",
    tools=[force, Tool("press.read_force_curve", read_only=True)],
    # supervised: each move executes on approval
    autonomy=Autonomy.L2,
    # rehearse on the twin before every proposal
    verify="twin",
    # every call lands in the Part 11 audit trail
    audit="part11",
)

run = compress.start(line="L2", batch="B-240918")
for step in run.stream():
    print(step.name, step.status, step.duration)
Reference

Reference sections

What the documentation set contains.

SDK

Agents, tools, design space, autonomy

Classes, limits, verification and audit settings, with examples per agent.

Run API

REST and streaming

Endpoints, schemas, tenancy, pagination, error model.

Connectors

Equipment, PAT, vision, MES, LIMS

Protocols, tag mapping, read-only validation, bounded write configuration.

Models

Registry and model cards

Versions, validation status, golden datasets, promotion under change control.

Twin

Twindra fitting and rehearsal

Formulation and tooling families, DEM and CFD settings, surrogates, design-space export.

Audit

Part 11 trail

Schema, hash chain, export formats, e-signature, retention.

Run timeline · scenario

Reading a run record

Index, step name, agent, tool, duration, status, detail. The approval step carries the reviewer identity and timestamp in the audit trail.

run_b2c7e1 Line 2 · rotary tablet press · scenario SUCCEEDED
  1. 01 ingest.batch_record SUCCEEDED 1.2 s

    Plant Orchestrator · Pulled the master batch record, the approved design-space limits for this formulation and tooling family, and the site autonomy policy from MES; locked the target envelope for the run.

  2. 02 twin.rehearse SUCCEEDED 41 s

    Plant Orchestrator · Twindra simulated 36 candidate setpoint vectors on the as-made batch twin (granulation DEM, compression and ejection risk, coating CFD, dissolution surrogate) and ranked them on predicted content uniformity, capping risk and takt.

  3. 03 blend.uniformity SUCCEEDED 6 m 10 s

    Blend-and-Dispense · Spectryn scored in-line NIR spectra against the formulation's chemometric model; the blend reached its uniformity end point with confidence bounds inside the site acceptance limit and blending stopped on evidence rather than on a fixed time.

  4. 04 granulate.dry SUCCEEDED 3 m 48 s

    Granulate-and-Dry · Inlet air temperature and drying airflow trimmed inside the approved window to bring loss-on-drying to the target moisture band for compression; the move was bounded, logged and inside the design space.

  5. 05 compress.press SUCCEEDED 2 m 02 s

    Compress-and-Fill · Main compression force and feed-frame speed adjusted inside the approved window to hold tablet weight and hardness on target while the twin's capping-risk estimate stayed under the site threshold.

  6. 06 coat.spray SUCCEEDED 4 m 25 s

    Coat-and-Dry · Spray rate and inlet temperature re-phased against bed temperature and exhaust humidity to hold the film-coat window and avoid twinning and mottling; no excursion from the validated recipe envelope.

  7. 07 inspect.tablets SUCCEEDED continuous

    Defect-and-Inspect · Visqa classified chips, cracks, capping, spots, mottling and print defects on six synchronised cameras, within the sub-100 ms design budget, and linked a rising chip rate to coating spray rather than to tooling.

  8. 08 spectra.release_evidence SUCCEEDED 38 s

    Quality-and-Potency · Spectryn assembled the method-linked evidence chain for content uniformity and moisture with confidence bounds and citations to the validated analytical method, ready for QA review.

  9. 09 approve.qa APPROVAL 3 m 14 s

    Plant Orchestrator · Batch release is above every autonomy level Pildeon offers. The package was held for the named QA reviewer, who approved it in the review console; the decision, the reviewer identity and the timestamp are in the Part 11 audit trail.

  10. 10 release.genealogy SUCCEEDED 52 s

    Quality-and-Conformance · Conforma wrote the time-aligned batch genealogy (every sensor state, recommendation, approved action, equipment response and QC result) and the cited release package to the immutable audit trail.

Tool calls · scenario

Reading the tool log

Arrows mark call and return; the exclamation marks a flagged observation. Timestamps are the edge node's; the audit trail carries the same entries with hashes.

tool-call stream · run_b2c7e1
  1. 06:12:04mes.read_batch_record({ line: "L2", product: "IR tablet · family A" })
  2. 06:12:05ok design space loaded · autonomy policy L2 · QA reviewer assigned
  3. 06:12:06twin.simulate({ candidates: 36, horizon: "full batch" })
  4. 06:12:47ok candidate #14 selected · predicted CU inside limit · capping risk under threshold
  5. 06:12:48policy.evaluate({ candidate: 14, autonomy: "L2" })
  6. 06:12:48ok 5 setpoint moves inside design space · release held for QA
  7. 06:12:49nir.score({ probe: "blender-1", model: "cu-famA-v3" })
  8. 06:18:59ok blend end point reached · confidence bounds inside acceptance limit
  9. 06:19:00plc.write_setpoint({ tag: "FBD1.INLET_T", within: "design space" })
  10. 06:22:48ok loss-on-drying in target band · move logged to audit trail
  11. 06:22:49press.write_setpoint({ tag: "TP2.MAIN_FORCE", within: "design space" })
  12. 06:24:51ok weight and hardness on target · capping risk under threshold
  13. 06:24:52vision.stream({ cameras: 6, model: "visqa-defect-v2" })
  14. 06:27:10chip rate rising on camera 4 · attributed to spray rate, not tooling
  15. 06:27:11coater.write_setpoint({ tag: "CT1.SPRAY", within: "design space" })
  16. 06:29:14ok chip rate back to baseline · film window held
  17. 06:29:15nir.evidence_chain({ attributes: ["cu", "moisture"], method: "validated" })
  18. 06:29:53ok evidence chain assembled · citations attached
  19. 06:29:54approval.request({ action: "batch_release", reviewer: "QA" })
  20. 06:33:08ok approved by the named QA reviewer · identity and timestamp logged
  21. 06:33:09audit.write_release_package({ batch: "B-240918", genealogy: "full" })
  22. 06:34:01ok scenario complete · genealogy written · package cited

Reasoning trace

Plan, thought, action, observation, exactly as the orchestrator records it.

GoalRun one immediate-release tablet batch through granulation, co…

Run one immediate-release tablet batch through granulation, compression, coating and inspection inside the approved design space, with QA approval before release.

PlanRehearse on the twin first. Stop blending on NIR evidence rath…

Rehearse on the twin first. Stop blending on NIR evidence rather than on a fixed time. Trim drying, compression and coating only inside the approved design space. Inspect continuously. Hold release for the named QA reviewer, always.

ThoughtThe fixed recipe blends for a set time regardless of what the …

The fixed recipe blends for a set time regardless of what the spectra say. On the twin, the candidate that stops on evidence and trims inlet temperature before compression keeps content uniformity and moisture inside their limits with the lowest predicted capping risk.

Actiontwin.simulate(candidates=36) → candidate #14: evidence-based b…

twin.simulate(candidates=36) → candidate #14: evidence-based blend end point, bounded drying trim, compression force held inside the window, spray rate re-phased to bed temperature.

ObservationEvery candidate that pushed turret speed for takt raised predi…

Every candidate that pushed turret speed for takt raised predicted capping risk above the site threshold and was discarded. Rate is never traded for a quality attribute.

ActionExecute candidate #14 under autonomy level L2: five setpoint m…

Execute candidate #14 under autonomy level L2: five setpoint moves inside the design space, each logged. Batch release routed to QA.

ObservationChip rate rose on camera 4 at 06:27:10. Visqa attributed it to…

Chip rate rose on camera 4 at 06:27:10. Visqa attributed it to coating spray rather than tooling; a bounded spray-rate trim returned it to baseline in about two minutes.

OutcomeScenario complete. Every move inside the approved design space…

Scenario complete. Every move inside the approved design space, the QA approval recorded with identity and timestamp, and the cited release package written by Conforma to the immutable audit trail.

Operations

Runbooks

What to do when something happens.

Runbook

Edge node down

Confirm fallback to last known good, check the OT segment, restore, verify the audit gap entry.

Runbook

Model drift flagged

Review drift metrics, pin the previous version, schedule retraining under change control.

Runbook

Citation check failing

Inspect the retrieval corpus, confirm SOP versions, re-index, re-run the check.

Runbook

Reviewer unavailable

Approval requests queue; no write proceeds; escalation chain per site policy.

Runbook

Autonomy level change

Change request, MSAT and QA sign-off, policy promotion, audit entry, communication to the line.

Runbook

Audit export for inspection

Query by batch or period, export with hash verification, hand to QA.

Autonomy

Four levels, set per agent and per setpoint

A tablet plant does not go from fixed recipes to autonomy in one step, and validated parameters never change without sign-off. Pildeon makes the level explicit, auditable and reversible at any time.

Autonomy levels and the human role at each
LevelWhat the agent doesWhat the human doesTypical time to reach
L0 · ShadowObserves, scores and predicts; writes nothingRuns the line as today; compares predictions to QC resultsWeeks 1 to 6 of a design partnership
L1 · AssistRecommends setpoint moves and explains whyProcess engineer enters the move; QA reviews the logAfter shadow-mode accuracy is shown
L2 · SupervisedProposes a bounded move; it executes on approvalApproves each move in the review consoleAfter assist-mode ROI is shown
L3 · BoundedMoves low-risk compression, coating and inspection setpoints inside the approved design spaceHandles exceptions; approves every releaseAfter validation and change-control review

There is no unattended level. Batch release and any move outside the approved design space always wait for a named QA reviewer, and every model or prompt change runs under GxP change control.

CLI

Start a run from anywhere

The same run engine, the same policy checks, the same audit trail, from the terminal, the review console or the SDK.

pildeon · cli · scenario
$ pildeon run "batch B-240918 on L2" --autonomy L2

→ plan composed          10 steps · 1 QA approval gate
→ twin.simulate          36 candidates · best #14 · capping risk under threshold
→ policy.evaluate        5 moves inside design space · release held for QA
→ executing              blend.uniformity .... ok   6m10s
→ executing              granulate.dry ...... ok   3m48s
→ executing              compress.press ..... ok   2m02s
→ executing              coat.spray ......... ok   4m25s
! approval required      batch_release · QA reviewer
→ approved               named QA reviewer · identity + timestamp logged
→ run complete           genealogy written · release package cited

$ pildeon runs show run_b2c7e1 --format genealogy
Limits

Platform limits and defaults

Targets are stated as targets.

Limits and defaults
ItemValueNote
Camera streams per edge nodeUp to 6 synchronisedDesign target
Defect inference latencyUnder 100 ms per camera frame groupDesign target
Fused PAT, NIR and process riskUnder 500 msDesign target
Validated recommendationUnder 2 sDesign target
Twin candidates per rehearsalTens to low hundredsDefault 36 in the scenario
Audit retentionSite policySite storage, exportable
Autonomy levelsL0 to L3No unattended level
Guardrails

An agent that can move a compression force needs a leash

Pildeon writes to production equipment in a GMP plant. Every capability is scoped to the approved design space, every write is policy-checked, every action is written to an immutable Part 11 audit trail the site owns, and no agent can release a batch.

  • Bounded action space. Each agent can only write to an explicit setpoint allow-list, inside the limits the site's validation approved.
  • Policy engine before every write. Autonomy level, design-space limits, batch state, model version and reviewer assignment are all evaluated before a setpoint moves.
  • Human-in-the-loop gates. Batch release, any move outside the design space and any change to a validated parameter wait for a named QA reviewer.
  • Immutable audit trail. Append-only, hash-chained, exportable, retained on the site's own storage, with reviewer identity and timestamp on every decision.
  • Hard fallback. Loss of the edge node, the network or the model returns the line to the equipment's last known-good recipe.
  • Tenant and IP isolation. Formulations, recipes and models never cross a customer boundary. Validated on-prem deployment is available for regulated producers.

Compliance posture

Compliance and validation status
StandardScopeStatus
21 CFR Part 11Audit trail, e-signatures, records RUNNING Designed in from day one
GAMP 5Validation package for the platform RUNNING In progress, planned for the first design partners
cGMP · ICH Q8 to Q13Design space, QbD, continuous manufacturing RUNNING Design-aligned; site validation decides
SOC 2 Type ICloud control plane QUEUED Planned, first six months
SOC 2 Type IICloud control plane QUEUED Planned, months six to twelve
Data residencyValidated on-prem, air-gapped option SUCCEEDED Available by design

Read the security and validation overview

Integrations

It speaks tablet plant, not cloud

Pildeon reads and writes through the systems already on the floor: presses, coaters, granulators, PAT probes, MES, LIMS and historians. No rip-and-replace, no parallel historian. Connectors are built with design partners against their stacks; the vendors listed are the ones common in OSD plants.

Blending and granulation

GEA, Glatt, Syntegon, Freund-Vector, L.B. Bohle

Blender, granulator and fluid-bed telemetry; bounded setpoint writes

Tablet presses and fillers

Fette Compacting, Korsch, IMA, Syntegon, MG2

Force curves, fill depth, ejection force; bounded setpoint writes

Coating systems

GEA, Glatt, O'Hara, Thomas, Freund

Spray, inlet, bed temperature, exhaust humidity; bounded writes

PAT and NIR

Bruker, Sartorius, Viavi probes and analysers

Spectra across blend, granulation, drying and compression

Vision

Line cameras and existing inspection systems

Frames, defect maps, reviewed images

Pharma MES and eBR

Körber Werum PAS-X, Rockwell, Siemens Opcenter

Master batch records, campaigns, batch genealogy

LIMS and historians

Site LIMS, OSIsoft PI and equivalent historians

QC results, time-series backfill and replay

Identity and edge

Azure AD, Okta, LDAP · NVIDIA Jetson and on-prem GPU

SSO, RBAC, named approvers · inference at the line

See all integrations

FAQ

Straight answers

The questions site directors, MSAT engineers and QA leads actually ask in the first meeting.

Yes, but only inside an explicit setpoint allow-list bounded by the design space your validation approved, and only at the autonomy level your site has set. Level 0 is shadow mode: Pildeon observes and predicts and writes nothing. Most sites spend their first weeks there.

Get started

Get documentation access

Documentation ships with the design partnership. Your QA and IT teams can review the structure now.