← Blog
Industry 2026-05-10

Audit Every Ply. AS9102 Says You Have To. CAD Says Good Luck.

AS9102 demands per-ply traceability for aerospace composites. Today that lives in spreadsheets next to the CAD file. NeuroCAD makes it a graph edge — one per ply, machine-checkable end to end.

#composites#AS9102#ply traceability#aerospace QA#AFP#NeuroGraph#evidence graph#matroid independence

Audience: composite manufacturers, aerospace QA, anyone who has ever filled out an AS9102 First Article Inspection form by hand because the CAD system “didn’t have a field for that.”

AS9102 says: “audit every ply.” CAD says: “we have a sketch named Ply_42.” NeuroCAD makes the audit a graph edge — one per ply, one truth per ply, machine-checkable from design intent to shop floor.

The flight-critical paperwork problem

A wing skin for a regional jet is roughly 100 plies of unidirectional carbon-epoxy prepreg, stacked in a stack-up like [0/45/-45/90]_s repeated, dropped off at structural joints, with reinforcements around fastener holes. Every one of those plies has to be auditable.

That word — auditable — has a specific meaning for aerospace QA. AS9102 First Article Inspection requires that the very first production article off the line is documented well enough that any later regulator, customer, or accident investigator can answer four questions about every ply:

  1. What was it supposed to be? (Design intent: orientation, material, thickness, boundary, drape source.)
  2. What actually got laid down? (Manufacturing record: AFP machine, operator or robot ID, date/time, batch number.)
  3. Did anyone check it? (Inspection record: visual, ultrasound, thermography, who signed off.)
  4. Where did the material come from? (Supplier traceability: prepreg lot, expiry date, freezer time, supplier certificate.)

Four questions × 100 plies × every part on every aircraft, retained for the operating life of the airframe (often 30+ years).

In current CAD, the answer is spreadsheets. The composites workbench produces a “ply book” — a layered drawing, a stack-up table, maybe an AFP NC program. The traceability is then re-entered, by humans, into a PLM system or an Excel sheet that lives next to the part file. Sometimes the spreadsheet drifts from the CAD. Sometimes the CAD drifts from the AFP program. Sometimes both drift from what actually got laid down. This is normal. Aerospace QA has spent thirty years building inspection pyramids precisely because the design-to-as-built trail through CAD is not trustworthy on its own.

The NeuroCAD answer: per-ply audit edge

NeuroCAD models a composite layup as a graph. Not as a layered drawing, not as a stack-up table — as a graph. Each ply is a node with a stable, content-addressed identity that survives regeneration, re-drape, and feature-tree edits. Around that node, NeuroCAD’s NeuroGraph substrate hangs four kinds of audit evidence:

flowchart LR
    P[Ply_42<br/>PersistentId<br/>orientation 45°<br/>material UD-T800<br/>thickness 0.184 mm] -->|design_intent| D[Design intent record<br/>drape pass, boundary,<br/>stack-up rule]
    P -->|manufacturing_record| M[Manufacturing record<br/>AFP machine, operator,<br/>date/time, prepreg lot]
    P -->|inspection_record| I[Inspection record<br/>UT scan, visual,<br/>signoff signature]
    P -->|supplier_record| S[Supplier record<br/>prepreg cert,<br/>batch, expiry,<br/>freezer time]

Four edges per ply. One hundred plies per part. Four hundred edges in the graph. All four are content-addressed, all four travel with the part file, all four are machine-queryable.

When the AS9102 inspector asks “show me the chain of custody for ply #42,” NeuroCAD walks the graph and emits the four records. When the inspector asks “show me the chain of custody for every ply that crosses fastener hole #7,” NeuroCAD walks the graph and emits 400 records grouped by ply. When the FAA writes a regulation tomorrow saying “every aerospace composite article must publish an audit trail in machine-readable form,” NeuroCAD already has the data shape.

Why a graph and not a database row

The natural objection is: “this is just a database table with four foreign keys.” It is not. A database table assumes ply identity is a primary key. Ply identity in CAD is not a primary key — it is the output of a topology-naming heuristic that has to survive these events:

  • the operator changes the global stack-up rule from [0/45/-45/90]_s to [0/45/-45/90]_2s and 50 new plies appear;
  • the operator changes the wing boundary by 5 mm and every ply re-drapes;
  • the operator splits a single 4×8 ft ply into two halves to account for material width;
  • the operator deletes a reinforcement region and 12 plies disappear;
  • the operator imports a layup from a partner CAD system and IDs are renumbered.

In a database row, ply IDs renumber and the foreign keys break. In NeuroCAD, ply identity lives in the EntityGenealogyGraph (one of NeuroGraph’s four surfaces). Each of the events above produces a Created / EvolvedFrom / SplitFrom / MergedFrom / DeletedBy / RebornFrom / ImportedFrom edge in the genealogy graph. The audit edges hang off the persistent identity, not off the transient renumbered ID. When a ply gets re-draped, its audit chain follows it. When a ply gets split, both halves inherit the audit chain plus a SplitFrom edge that the regulator can walk. Nothing is lost. Nothing has to be re-keyed.

This is the same idea Git uses to track lines of code through rename/move/refactor: identity is a path through history, not a row in a table.

The matroid trick: don’t double-count evidence

There is a subtle aerospace QA failure mode that NeuroCAD specifically targets. Suppose a manufacturer attaches three identical UT scan PDFs to the same ply, claiming “triple-redundant inspection.” A naïve traceability system says “three pieces of evidence, audit complete.” NeuroCAD’s EvidenceGraph implements matroid-style independence (a concept from graph theory that NeuroCAD adopted from the Wilson textbook treatment). Three identical scans of the same ply with the same input hash collapse to one independent piece of evidence, redundancy count = 2. The audit report tells the QA inspector exactly that: “1 independent UT inspection, 2 redundant copies.”

This is not pedantry. In aerospace investigations, “we performed three inspections” matters only if those inspections were independent — different operators, different equipment, different time windows. NeuroCAD encodes that distinction directly in the graph schema.

The freshness rule: stale evidence is a HIGH blocker

Every audit edge carries a freshness_policy and a generated_at timestamp. Prepreg has a freezer life. Inspection certifications expire. Operator qualifications expire. NeuroCAD’s release-basis report, when asked “is this layup release-ready,” walks every audit edge and downgrades the report if any evidence is stale relative to its own freshness policy. There is no silent acceptance of expired data. An expired prepreg lot lights up as a HIGH blocker in the same release report that gates a NeuroCAD project from shipping.

This matters because aerospace audit failures are most often omissions, not commissions. Nobody wrote down that the freezer logged a 4-hour temperature excursion the night before the layup. Nobody noticed that the technician’s certification expired on Tuesday. The composite was laid up on Wednesday. The part flew. Six months later, an inspection finds delamination, the audit trail is re-walked, and now we are looking for a freezer log that nobody integrated into the part file. NeuroCAD’s freshness policy is the design choice that says: if a record is missing or stale, the system says so before the part ships, not after.

What NeuroCAD doesn’t do (yet)

The Composites workbench in NeuroCAD is currently a placeholder. The drape simulator, the stack-up editor, the AFP exporter — those are partially specified, partially implemented, partially research-only. What is real today:

  • The four-surface NeuroGraph substrate is implemented. The EvidenceGraph::attach_evidence and attach_edge APIs work. The basis report runs, deduplicates redundant evidence by input-hash key, and blocks release on HIGH or stale findings.
  • The persistent-identity layer (EntityGenealogyGraph) is implemented for face and edge identity through split/merge/delete/reborn events.
  • The per-ply binding — the four audit edge kinds (design_intent, manufacturing_record, inspection_record, supplier_record) and the ply-as-PersistentId mapping — is proposed. It is not yet wired through to a working composites workbench.

So this article describes the architecture and the contract, with an honest footer below. The contract is firm; the implementation is incremental. A working composites layup with a real per-ply audit chain on a 100-ply demonstrator is a tracked work item, not a shipping feature today.

Why this matters beyond AS9102

AS9102 is the cleanest forcing function, but it is not the only one. The same per-ply audit edge architecture covers:

  • EASA Part 21 subpart H: production approvals and the form-1 release certificate.
  • NADCAP AC7118: composites special-process accreditation (NDT records per ply).
  • MIL-HDBK-17 / CMH-17: the composite materials handbook traceability requirements for military airframes.
  • ASME BPVC Section X: composite pressure vessel construction, where the boiler-and-pressure-vessel code wants per-layer evidence.
  • Wind energy IEC 61400-5: wind blade composite manufacturing traceability.
  • Wherever an investigator one day asks “where exactly did this ply come from?”

The graph is general. The four edge kinds are not aerospace-specific. They are the four questions that any traceability regime ends up asking when an article fails. NeuroCAD encodes the answer in the data structure, not in a downstream PLM bolt-on.

What aerospace QA can do today

If you are running a composites manufacturing operation and you read this far, two takeaways:

  1. The audit problem is a graph problem. If your current PLM stack treats traceability as a foreign-key relationship in a relational database, the next ply renumbering event is going to break the chain. Asking your CAD vendor or PLM vendor for a graph-shaped traceability layer is a reasonable, first-principles request.
  2. Per-ply audit is publishable. AS9102 working group submissions, NASA Technical Memoranda, and SAMPE conference papers are the right venues to push this conversation. The longer per-ply traceability stays a downstream Excel exercise, the longer aerospace audit failures will keep finding gaps that nobody put in the design system because the design system did not have a field for them.

NeuroCAD’s bet is that the per-ply audit edge is a worthwhile data shape regardless of which vendor implements it first.

Status

ComponentStatus
EvidenceGraph core (attach, basis, dedupe)Implemented
EntityGenealogyGraph (split/merge/reborn)Implemented (faces/edges)
EvidenceNode schema (target_id, freshness)Implemented
Composites workbench (drape, stack-up, AFP)Placeholder
Per-ply PersistentId bindingProposed, not implemented
Four audit edge kinds (design/mfg/insp/supp)Proposed, not implemented
AS9102 Form 1/2/3 export from EvidenceGraphProposed, not implemented
100-ply demonstrator with full audit chainProposed test corpus

This document describes what NeuroCAD will deliver when the Composites workbench reaches release-ready status. The NeuroGraph substrate that it depends on is real today; the composites-specific binding is the next step.

Ready to design differently?

Request early access to NeuroCAD.

Request Access