Developers

Autonomy policy is declared. Review it like code.

There is no public SDK yet. What exists is the integration surface design partners work with: connectors, an autonomy policy per loop, cited recommendations, versioned models and an audit record for every action. This page describes that surface honestly.

ConnectorsPolicy per loopAudit records

run_scn_01 · agent graph · scenario 10 nodes · 1 approval gate
01 · orchestrator order.receive ✓ SUCCEEDED 02 · orchestrator twin.simulate ✓ SUCCEEDED 03 · dose_disperse disperse.mill ✓ SUCCEEDED 04 · letdown_thin letdown.thin ✓ SUCCEEDED 05 · tint_color tint.match ✓ SUCCEEDED 06 · defect_inspect inspect.spectral ✓ SUCCEEDED 07 · orchestrator approve.human ◆ APPROVAL 08 · filter_fill filter.fill ✓ SUCCEEDED 09 · robot_handling handle.palletize ✓ SUCCEEDED 10 · quality_conf release.genealogy ✓ SUCCEEDED

Illustrative scenario: Plant run · one architectural deep tint base from dosing to pallet · bead mill, let-down tank, tint station, filling line. Not a measured run.

Developers

Every action is a record

There is no SDK to download yet. What design partners get is the integration surface: connectors, an autonomy policy declared per loop, and an audit record for every reading, recommendation, write and approval. This is the shape of one record, illustrative.

What the surface gives you

  • Connectors to mill and disperser PLCs, tint dispensers, spectrophotometers, inline rheometers, filling lines, lab systems, MES, cameras and meters, with declared allow-lists and limits
  • An autonomy policy per loop: stage, tags, rate, magnitude and retint limits, named approvers
  • Citations on every recommendation to the formula, color standard, spec or procedure it relied on
  • Model versions named in every record, with rollback by version
  • Export of the audit log and batch genealogy to your quality system

What the docs cover Developer overview

audit record · illustrative
// one write, as the audit log would hold it
{
  "run": "run_scn_01",
  "step": "tint.match",
  "agent": "agent.tint_color",
  "stage": "bounded",
  "action": { "tool": "dispenser.write", "tag": "TINT2.COLORANT_B" },
  "limits": { "max_addition": "declared per colorant", "retints": "1 remaining" },
  "evidence": ["spectro.read_curve", "colorant.predict_dose"],
  "citation": "std:STD-2210 tolerance v4 §2",
  "policy": "permitted",
  "models": { "color_match": "versioned", "policy": "versioned" },
  "human": null,
  "outcome": "inside Delta-E tolerance · one retint remaining"
}
Capabilities

What the surface gives you

Connectors

Declared read and write scopes for mill, let-down, dispenser, filling and inspection PLCs, spectrophotometers, rheometers, lab, MES, cameras and meters.

Autonomy policy

Stage, tag allow-list, rate, magnitude and retint limits and named approvers per loop, versioned like any other change.

Cited recommendations

Every recommendation names the formula, color standard, spec or procedure it relied on; retrieval is tenant-isolated and permission-aware.

Model router

The best or cheapest model serves each step; high-volume inspection moves to fine-tuned open models, reasoning steps use frontier models.

Evaluation gates

Golden datasets and model-as-judge evaluations gate model and prompt changes in CI.

Export

Audit log and genealogy export to the plant's quality system.

Run timeline

What a run record contains

Every Tinteon run is an ordered, inspectable sequence. This is run_scn_01, an illustrative scenario: Plant run · one architectural deep tint base from dosing to pallet · bead mill, let-down tank, tint station, filling line. Scenario complete · batch inside spec · one human approval at the tint station.

run_scn_01 scenario · not measured SUCCEEDED
  1. 01 order.receive SUCCEEDED 0.8 s

    Plant Orchestrator · Pulled the formula, the customer color standard and its tolerance, the viscosity and solids spec, the raw-material lot records and the product's VOC limit from the coatings MES and the lab system; locked the target envelope for the run.

  2. 02 twin.simulate SUCCEEDED 41 s

    Plant Orchestrator · Simulated 24 candidate dispersion, let-down and tint paths on the Coatwin as-made twin; ranked them on predicted Delta-E, fineness margin, viscosity, solvent use, energy and takt, and discarded every candidate that moved outside the customer tolerance or the VOC limit.

  3. 03 disperse.mill SUCCEEDED 1 h 48 m

    Dose-and-Disperse · Held mill energy, media temperature and residence to the predicted fineness curve from mill power and spectral reflectance, trimming inside the formula window instead of grinding to a fixed time and checking the Hegman gauge afterward.

  4. 04 letdown.thin SUCCEEDED 26 m

    Letdown-and-Thin · Predicted viscosity from inline rheology, temperature and solids during let-down and converged on spec with two resin additions and one solvent addition instead of the standing four, inside the formula window; no stability risk was flagged.

  5. 05 tint.match SUCCEEDED 14 m

    Tint-and-Color · Read the batch's spectral curve against the customer standard, predicted the colorant additions and dosed the first pass; the draw-down read inside tolerance on Delta-E after one addition, with one retint still available under the declared limit.

  6. 06 inspect.spectral SUCCEEDED continuous

    Defect-and-Inspect · 12 camera and spectral streams at the plant edge: color, gloss, hiding power, fineness and seed checks on the batch, fill-weight and label checks on every pail; two seeds were attributed to one filter cartridge and Filter-and-Fill scheduled the change.

  7. 07 approve.human APPROVAL 2 m 10 s

    Plant Orchestrator · The lowest-solvent candidate wanted a second colorant addition beyond the declared retint limit to tighten Delta-E further. Held for the shift color-matcher, who kept the customer tolerance untouched and approved one bounded addition with a tighter draw-down check.

  8. 08 filter.fill SUCCEEDED continuous

    Filter-and-Fill · Filtered through the fresh cartridge and filled pails to exact weight using fill-weight and foam feedback from inspection; the filler corrected upstream instead of rejecting downstream.

  9. 09 handle.palletize SUCCEEDED continuous

    Robot-and-Handling · Moved filled pails to the pallet inside the declared safety zone with a simulation-validated handling policy; one pallet-pattern change was executed after the zone check cleared.

  10. 10 release.genealogy SUCCEEDED 58 s

    Quality-and-Conformance · Batch released: raw-material lots, grind profile, let-down moves, colorant additions and spectral curves, inspection outcomes, VOC and solvent use and every human decision written to the batch genealogy and checked against spec.

Tool calls

Streaming a run

Every tool invocation, argument and result is written to an immutable, human-readable log, and every reasoning step is expandable. Nothing about a run is hidden from the plant. The log below is the scenario run, not a measured one.

tool-call stream · run_scn_01
  1. 05:40:02mes.read_order({ batch: "B-4471", product: "TB-DEEP-07", standard: "STD-2210" })
  2. 05:40:02ok formula locked · tolerance Delta-E v4 · VOC limit on product
  3. 05:40:03lab.read_results({ lot: "PIG-8831", test: "incoming pigment" })
  4. 05:40:03ok lot inside spec · accepted for dosing
  5. 05:40:04twin.simulate({ candidates: 24, horizon: "batch" })
  6. 05:40:45ok best path #9 · tolerance held · lowest solvent and energy per batch
  7. 05:40:46policy.evaluate({ plan: 9, stage: "bounded" })
  8. 05:40:46ok 7 writes permitted · 1 write requires human approval
  9. 05:40:47plc.write_setpoint({ tag: "MILL2.ENERGY", basis: "power+spectral" })
  10. 07:28:30ok Hegman on target · color strength on target · no re-mill
  11. 07:29:00viscosity.predict({ tank: "LD-3", basis: "inline rheology+solids" })
  12. 07:29:00ok two resin and one solvent addition predicted · stability clear
  13. 07:29:01plc.write_setpoint({ tag: "LD3.SOLVENT_DOSE", window: "formula" })
  14. 07:55:10ok viscosity on spec · no overshoot
  15. 07:56:00spectro.read_curve({ station: "TINT-2", standard: "STD-2210" })
  16. 07:56:01dispenser.write({ colorant: "B", basis: "spectral prediction", retint_limit: 1 })
  17. 08:10:12ok draw-down inside Delta-E tolerance · one retint remaining
  18. 08:10:13vision.stream({ cameras: 12, models: ["color_gloss", "hiding_power", "seed_foam", "fill_label"] })
  19. 08:21:48flag: seed · pail 0417 · attributed to filter cartridge F-2 loading
  20. 08:21:49defect.attribute({ event: "seed", cause: "filter.cartridge_F2" })
  21. 08:21:49ok filter_fill notified · cartridge change scheduled · fill held 40 s
  22. 08:21:52approval.request({ action: "retint.beyond_limit", reason: "tighter Delta-E on lowest-solvent path" })
  23. 08:24:02ok approved by the shift color-matcher · tolerance untouched · one bounded addition
  24. 08:24:03plc.write_setpoint({ tag: "FIL1.TARGET_WEIGHT", basis: "fill-weight+foam feedback" })
  25. 09:48:40ok pails on weight · no spills · labels verified
  26. 09:49:38mes.release_batch({ batch: "B-4471", genealogy: "full" })
  27. 09:50:36ok batch released · scenario complete

Reasoning trace

Goal, plan, thought, action, observation, exactly as the orchestrator would record it.

GoalDisperse batch B-4471 to Hegman fineness, let it down to visco…

Disperse batch B-4471 to Hegman fineness, let it down to viscosity spec, tint it inside Delta-E of standard STD-2210, filter and fill it to exact weight and release it with full genealogy.

PlanSimulate the whole batch on the twin first. Lead with fineness…

Simulate the whole batch on the twin first. Lead with fineness so the let-down gets the right mill base and the tint station gets the right color strength. Keep the customer tolerance and the VOC limit as hard constraints. Let the dispenser converge only inside the declared retint limit; hold anything beyond it for a human.

ThoughtThe standing practice grinds to a fixed time, lets down by fou…

The standing practice grinds to a fixed time, lets down by four additions and tints by draw-down loops. With live fineness and viscosity prediction and a spectral color-match model the batch can land on the first pass. The saving is rework, colorant and solvent, not tolerance: the customer standard is never a candidate for optimization.

Actiontwin.simulate(candidates=24) → path #9: Hegman on target in on…

twin.simulate(candidates=24) → path #9: Hegman on target in one grind, three let-down additions, one colorant pass, lowest predicted solvent and energy per batch, takt met.

ObservationPath #9 wants a second colorant addition beyond the declared r…

Path #9 wants a second colorant addition beyond the declared retint limit to tighten Delta-E further. The policy engine routes that single move to the shift color-matcher and permits the other seven writes.

ActionExecute path #9 at the bounded stage: mill energy, let-down do…

Execute path #9 at the bounded stage: mill energy, let-down dosing and the first colorant pass proceed; inspection runs continuously; the extra addition waits.

ObservationApproval granted at 08:24:02 with the tolerance untouched and …

Approval granted at 08:24:02 with the tolerance untouched and a tighter draw-down check. Two seeds were attributed to filter cartridge F-2 and Filter-and-Fill scheduled the change with a 40 second hold.

OutcomeScenario complete. The batch is released with raw-material lot…

Scenario complete. The batch is released with raw-material lots, grind profile, let-down moves, colorant additions, spectral curves, inspection outcomes, VOC and solvent use and the human decision in the genealogy. No measured plant result is claimed; this is the run the platform is designed to execute.

Workflow

From idea to a line, safely

  1. Declare. Tools, tags and limits for the agent, and the autonomy stage for the loop.
  2. Shadow. Run against live plant data; compare predictions to lab, draw-down and PLC outcomes; nothing is written.
  3. Evaluate. Golden datasets and model-as-judge checks in CI before a model or prompt version is promoted.
  4. Rehearse. High-impact moves are simulated on Coatwin where a twin format exists.
  5. Assist, then bounded. Writes only after the accuracy and quality gates, inside declared limits.
  6. Record and retrain. Every action and correction is logged; corrections become training events.
Autonomy

Four stages, set per loop

A plant does not go from manual to bounded control in one step. Tinteon makes the stage explicit per loop, auditable and reversible at any time, and some decisions never leave the person.

Autonomy stages and the human role at each
StageWhat the agent doesWhat the person doesWhen
ShadowPredicts fineness, viscosity, Delta-E, hiding power, contamination and fill faults; writes nothingRuns the plant as today; compares predictions to the lab, the spectrophotometer and PLC outcomesFirst phase with every design partner
AssistRecommends bounded mill, let-down, colorant, filtration and fill moves with the evidenceA formulator, color-matcher or quality manager approves or rejects each oneAfter accuracy is proven against the baseline
BoundedWrites low-risk dispersion, tinting and inspection setpoints inside documented formula, tolerance, VOC, equipment and rollback limitsApproves anything above the limits; reviews the shift recordAfter the quality and ROI gates agreed up front
ExceptionsEscalates anything outside its envelope, any move against a customer standard or VOC limit, and release decisionsAlways decides these; the agent never doesPermanent
Multi-agent handoff

Agents negotiate, they do not collide

Two agents will want the same actuator. The orchestrator arbitrates on the run goal, with the customer color standard, the VOC limit and a clean fill above everything, and the handoff is logged like any other step.

Contested move: filter cartridge change on the filling line

  1. 01yield_takt.request(skip change) SUCCEEDED0.2 s

    Yield-and-Takt wants to defer the filter cartridge change to the shift break so the filling line stays on takt and the next color family starts on time.

  2. 02filter_fill.request(change now) SUCCEEDED0.2 s

    Filter-and-Fill requires the change now because inspection attributed two seeds to the loaded cartridge. Contamination in a released pail is a customer complaint.

  3. 03orchestrator.arbitrate SUCCEEDED0.4 s

    Product conformance outranks takt under every run goal. The cartridge change wins the actuator; the request to defer is logged with its score and the reason it lost.

  4. 04yield_takt.handoff(resequenced) SUCCEEDED80 s

    Yield-and-Takt recovers the schedule by pulling the next batch's wash earlier and moving a lighter color family ahead. Takt is met without filling through a loaded cartridge.

Arbitration rules

  • Run goal first. Every request is scored against the declared goal, not against the requesting agent's local objective.
  • Conformance outranks everything. The customer color standard, the VOC limit and a clean fill are never optimization variables. A contaminated or off-color pail is a complaint; a takt miss is a schedule.
  • Time-boxed ownership. An agent holds a contested actuator for a bounded window, then must re-justify.
  • Everything is logged. The losing request, the score and the reason all appear in the run record.
  • Deadlocks escalate to a human rather than resolving by timeout.

See the agent roster

Accelerated computing

Physical AI, at the plant edge

A tint station reads a draw-down in seconds and a filling line moves hundreds of pails an hour, so perception has to be local and fast. Tinteon runs GPU inference at the plant edge and keeps training, simulation and optimization in the cloud, in a private cloud or on-prem. Items marked planned are on the roadmap, not running.

Jetson Orin / Thor · DeepStream · TensorRT · Holoscan

Edge perception

8 to 24 camera and sensor streams per line through DeepStream pipelines and TensorRT color, gloss, hiding-power, contamination and fill models; Holoscan synchronizes spectrophotometers, line-scan cameras, inline rheology, mill power and fill-weight streams at the plant edge. Design target: 50 to 150 ms per frame.

Triton · NIM

Model serving

Vision, spectral, time-series and coatings-knowledge models behind one plant router, with version routing by product family, colorant system and line. Design target: sub-second recommendations for operators, sub-250 ms holds for filling and inspection.

DGX / HGX · NeMo

Training (planned)

Spectral color-match, dispersion and fineness, rheology and contamination models fine-tuned on batch telemetry, images and supervised color-matcher corrections; NeMo-based coatings reasoning. Design target: 2,000 to 5,000 GPU-hours per major model family.

Omniverse · Modulus · OVX

Digital twin (planned)

The Coatwin as-made batch twin: GPU-accelerated spectral color-match prediction and dispersion and rheology simulation run before the batch, for color and grade changes and batch planning when a trial is expensive. Design target: 10,000 to 100,000 scenarios per design partner.

Cosmos · Omniverse Replicator

Synthetic data (planned)

Rare off-color, seed, contamination, foam, label, hiding-power and fill-fault cases generated with domain randomization, marked synthetic and validated against real plant data before use.

cuOpt

Optimization

Color-family batching, wash and changeover minimization, solvent and energy allocation and filling-line takt, recomputed on the GPU daily and intra-shift when the plant is disrupted.

RAPIDS

Data engineering

Batch-genealogy, quality, equipment and rework telemetry ETL for feature generation, color correlation and cross-plant benchmarks on the GPU.

Isaac · Jetson

Robotic handling

Drum, pail, tote and pallet handling, with perception and motion policies built and validated in simulation before they move a container.

Integrations

It speaks plant, not cloud

Tinteon reads and writes through the systems already on the floor. No parallel historian, no new HMI, no rip-and-replace. Connectors are built against each design partner's stack first; long-tail integrations are out of scope for the first release.

Dispersion and milling

PLC and controls of dispersers, bead, basket and horizontal mills, with mill power, media temperature and residence telemetry

Setpoint reads, guarded writes, interlocks untouched

Tinting and dispensing

Tint dispensers and colorant dosing systems

Colorant additions inside declared retint and additive limits

Spectrophotometry and color management

Spectrophotometers, draw-down cameras and color-standard libraries

Spectral curves and Delta-E in; cited matches out

Inline rheology and lab

Inline rheometers and viscometers, temperature and solids sensors, LIMS results

Continuous viscosity and stability state

Filtration and filling

Filtration skids, filling lines, fill-weight scales, labelers

Telemetry in; fill-weight and hold commands inside approved windows

Inspection

Multi-camera and spectral stations for color, gloss, hiding power, seeds, foam, fill and label faults

Frames, fault events, hold recommendations

Coatings MES, formulation and traceability

Orders, formulas, color standards, product specs, batch genealogy

Targets in, release records out

Energy, solvent, robots

Plant and asset meters, solvent and VOC accounting; Isaac-driven drum, pail and tote cells

Hard constraints for scheduling; bounded handling

See all integrations

Guardrails

An agent that can move a setpoint needs a leash

Tinteon writes to production equipment in a chemical plant. Every capability is scoped, every write is policy-checked, every output is cited, and every action is written to an append-only audit log the plant owns.

  • Bounded action space. Each agent can only write to an explicit tag allow-list, inside per-tag rate, magnitude and retint limits, at the autonomy stage the plant has set.
  • Standards and limits are read, never written. The customer color standard and its tolerance, the VOC and solvent limits under the plant's permit and the batch release decision stay with the quality system and the people who own it.
  • Policy engine before every write. Autonomy stage, interlock state, product, formula, shift and operator presence are evaluated before a setpoint or a colorant addition moves.
  • Grounded and cited. Every recommendation carries a citation to the formula, color standard, spec or procedure it relied on. Retrieval is tenant-isolated and permission-aware.
  • Immutable audit log. Append-only, exportable and retained on the plant's own storage, aligned to ISO 9001, VOC and REACH and customer color-standard record-keeping.
  • Hard fallback. If the edge node, the network or a model stops, the plant keeps running on its existing mill, dispenser and filling-line control and interlocks.
  • Tenant and IP isolation. Formulas, color standards, raw-material data and tolerance models never cross a customer boundary. On-prem deployment available.

Assurance posture

Assurance and certification status
ItemScopeStatus
SOC 2 Type ICloud control plane QUEUED Roadmap, first 6 months
SOC 2 Type IICloud control plane QUEUED Roadmap, 6 to 12 months
ISO 9001 · VOC and REACH · customer color standardsGrounding and record-keeping RUNNING Design basis for retrieval and the audit log
Per-tenant isolationData, memory, models RUNNING Design rule
On-prem deploymentFormula-sensitive producers RUNNING Design option

Tinteon supports your quality and VOC records. It is not a certification and it does not replace your quality system or your permit.

Read the security overview

FAQ

Straight answers

The questions plant directors, formulators, color-matchers and quality managers ask in the first meeting.

Only at the autonomy stage your plant has set, and only to an explicit allow-list of low-risk loops inside documented limits. Every design partner starts in shadow mode, where Tinteon predicts and writes nothing. Assist mode follows, where a formulator or color-matcher approves each recommendation. Bounded autonomy on dispersion, tinting and inspection loops comes after the quality and ROI gates agreed up front.

Get started

Build on the run engine

Design partners get the integration surface and the people who built it. Tell us what you want to connect.