AI-Assisted Schematic Ingestion and Human Review

How an AI turns a schematic into reviewed circuit data through a web application

Project: Amp Circuit Database (amphist)
Document date: September 3, 2026
Status: Working design note and implementation plan

Executive summary

The new schematic-ingestion tool is a human-in-the-loop pipeline: an AI worker receives a schematic, optionally receives a predefined amplifier-family profile, extracts components and connections, and submits its work to a browser-based review manager. The worker might be Claude, GPT, or another capable vision-and-reasoning model; the durable interface is the structured extraction package and review protocol, not a model-specific prompt.

The schematic collection can thereby become a much more accurate, searchable, and AI-friendly research resource by adding a component-and-connectivity netlist layer beneath the existing amplifier database. An AI can perform most of the transcription, but it can also be confidently wrong, so it cannot be relied upon to identify every ambiguity in its own work.

The controlling rule is consequently broader than “flag unreadable material”:

Never guess; preserve the source; attach evidence to extracted facts; detect disagreements independently; route every uncertainty or validation failure to review; and publish only after a human-verifiable acceptance gate.

Manual review is the essential safety valve, but flags alone are insufficient. Accuracy also requires immutable source provenance, fact-level evidence, separate extraction and interpretation passes, independent comparison, deterministic electrical checks, completeness accounting, a rendered source-to-netlist comparison, revision control, and explicit publication states. These features make silent error harder and make correction inexpensive when an error is eventually found.

A local manager web application should therefore be a core part of ingestion rather than a report viewer added afterward. It presents the source and reconstructed circuit side by side, focuses the reviewer on small flagged regions, records standardized resolutions, shows validation failures, tracks complete visual-review coverage, and publishes only validated artifacts. The manager turns the existing 5E3 crop-and-flag method into a repeatable production system and gives the AI a feedback channel for improving later scans and classifications.

The authoritative product should not be a raw SPICE file or a drawing. It should be a strict, versioned circuit-data package describing components, pins, nets, controls, source evidence, review issues, and publication history. KiCad schematics, SPICE variants, readable reports, database rows, graph indexes, and AI context should all be generated from that package. The existing amp, preamp, preamp_stage, poweramp, and supply tables then remain the semantic summary layer rather than being forced to carry every wire and component.

1. Objective and accuracy standard

The objective is to preserve each distinct schematic as a traceable electrical graph that can answer detailed questions without requiring the original image to be reinterpreted each time. Examples include finding every amplifier with a particular tone network, comparing exact coupling values, tracing all switch-dependent paths, identifying structurally shared circuits, generating research datasets, and giving future AI systems unambiguous circuit context.

“Foolproof” should not mean that the extractor can never make a mistake. No AI or human transcription process can guarantee that. It should mean that the system is fail-closed, auditable, and cheap to correct:

This is a stronger and more operational standard than attaching a single confidence label to an entire amplifier row.

2. Relationship to the existing project

The repository already contains several pieces of the intended system:

These are valuable foundations, but they are currently distributed among Python netlist generators, KiCad output, Markdown notes, PNG crops, SQL seeds, and database logs. The proposed system makes those practices uniform and connects them through one controlled lifecycle.

The current contest webapp is the first operational version of this idea. It accepts a schematic PDF, assigns it to an AI worker, watches the result arrive, displays the source beside the extracted component list, and lets a human save a grade and critique. The production ingestion tool should retain that simple loop while adding profiles, field-level evidence, issue resolution, coverage tracking, graph comparison, and a publish gate.

The component netlist should sit below the current relational model:

immutable source drawing
          |
          v
canonical circuit-data package  <---- evidence, issues, reviews, revisions
          |
          +----> human-readable schematic and report
          +----> KiCad schematic and electrical netlist
          +----> SPICE-oriented exports
          +----> graph and full-text search indexes
          +----> amp/preamp/poweramp/supply summaries

The existing summary database remains useful for quick topology comparisons. It should increasingly be populated or checked from verified circuit packages rather than serving as an unquestioned source for them.

3. Canonical circuit-data package

3.1 Why raw SPICE or KiCad should not be authoritative

SPICE is designed for simulation, not archival transcription. It often requires modeling choices that are absent from a factory schematic, and it handles jacks, rotary controls, switching logic, transformer construction, and alternate operating states awkwardly. A simulation-ready netlist can therefore contain more assumptions than the source supports.

KiCad is excellent as a view and interchange target, but a generated .kicad_sch file contains presentation detail and tool-specific structure that make fact-level provenance, uncertainty, and review history difficult to express. The current Python netlist generators are readable to a programmer, but they mix component placement, symbol selection, and electrical assertions in executable code.

The authoritative layer should instead be tool-neutral circuit data. Visual drawings and simulation formats should be reproducible outputs.

3.2 Recommended package layout

Each source drawing or genuine drawing revision should have its own package directory:

circuits/<maker>/<model>/<source-revision>/
    manifest.json
    components.jsonl
    nets.jsonl
    controls.jsonl
    evidence.jsonl
    issues.jsonl
    reviews.jsonl
    generated/
        circuit.kicad_sch
        circuit.net
        circuit.spice
        circuit_readable.yaml
        validation.json
        review_render.svg

Strict JSON and JSON Lines are preferable for the authoritative records because parsing, schema validation, duplicate-key rejection, and deterministic generation are more reliable than unrestricted YAML. A sorted YAML export can still provide the compact human- and AI-readable view originally contemplated. The manager application removes the need for people to hand-edit the strict representation.

The exact file split may change during the pilot. The important architectural rule is that source facts, evidence, review decisions, and generated artifacts are distinct and machine-validated.

3.3 Required fact structure

Every extracted fact should distinguish the source inscription from its normalized meaning. A component record would contain fields such as:

{
  "component_id": "R17",
  "kind": "resistor",
  "value_raw": "56K",
  "value_normalized": "56k",
  "pins": ["1", "2"],
  "source_evidence": ["ev-page1-r17"],
  "basis": "source-visible",
  "confidence": "verified",
  "review_status": "accepted"
}

At minimum, the model needs to represent:

3.4 Separate observation from interpretation

The package should preserve three different kinds of knowledge:

LayerExampleRule
Source observationPrinted marking appears to read 56KBound to an image region
Normalization56K becomes canonical value 56kDeterministic and reversible
InterpretationStage is a cathodyne phase inverterDerived from the observed graph and separately justified

This distinction prevents a familiar circuit pattern from contaminating the transcription. Existing database facts and family resemblance may be used to raise a contradiction, but they must not silently replace what is drawn.

3.5 Predefined profiles as controlled prior knowledge

A profile is optional guidance supplied before extraction. It can describe the expected drawing conventions, likely tube families, common component notation, known stage-count rules, and recurring traps for a circuit family. A 5F2-A profile, for example, can remind the worker to look for the two 12AX7 triode sections, single-ended 6V6 output stage, 5Y3 supply, unusual tone-control wiring, and the global negative-feedback path.

The profile is a checklist and a source of hypotheses, not permission to fill in missing facts. The worker must still cite each value and connection to the current scan, explicitly record absences, and flag contradictions between the profile and the drawing. This makes profiles useful for scan optimization and classification accuracy without turning family resemblance into fabricated evidence.

4. End-to-end workflow

4.1 Source intake and preservation

The system first registers the exact source before attempting interpretation:

  1. Store the original file without destructive preprocessing.
  2. Calculate a cryptographic hash and stable source identifier.
  3. Record filename, provenance, page count, drawing title, printed revision, and known acquisition source.
  4. Detect byte-identical and visually near-duplicate files.
  5. Render pages using a pinned tool version and resolution.
  6. Preserve alternate contrast, threshold, deskew, and enlargement renders as derived views, never replacements for the original.
  7. Associate layouts, service notes, and alternate scans without merging their claims.

OCR is useful for locating reference designators and candidate values, but it is an extraction aid rather than evidence. Evidence remains the drawing region itself.

4.2 Page and object inventory

Before tracing connectivity, Sol should inventory everything visible:

Completeness accounting begins here. Every visible electrical object must eventually be classified as extracted, intentionally excluded, duplicated elsewhere, or covered by an issue. This catches omissions that ordinary ERC cannot detect because a completely omitted branch produces no malformed net.

4.3 Multiple focused extraction passes

One broad “read the schematic” prompt encourages premature pattern completion. The work should be divided into passes with constrained outputs:

  1. Identity pass: drawing title, model, revision, pages, and source relationships.
  2. Symbol pass: devices and reference designators without connectivity guesses.
  3. Value pass: raw inscriptions and normalized values.
  4. Connectivity pass: endpoint-to-endpoint nets, including crossings and junctions.
  5. Control-state pass: switches, jacks, relays, and every supported state.
  6. Power pass: mains, heaters, grounds, rectification, bias, and supply rails.
  7. Functional pass: stage roles, channel paths, feedback loops, and derived database summaries.
  8. Completeness pass: compare the extracted object map with every source region.

A later pass may raise an issue against an earlier result, but it should not rewrite it invisibly.

4.4 Independent comparison

At least one verification pass must be independent of the original extraction context. It should reconstruct component and connectivity facts from the source, then compare graphs rather than merely proofreading Sol’s prose.

Differences become explicit issues:

Independence matters because asking the same system to “check its work” while showing it the original answer encourages confirmation rather than detection.

4.5 Deterministic validation

Validation should combine format, electrical, completeness, and project-specific checks.

Structural checks:

Electrical checks:

Project-specific checks:

Rules must distinguish an error from a warning. A deliberately unused tube section or floating shield can be legitimate, but it needs an explicit disposition rather than being silently ignored.

4.6 Visual round-trip review

The canonical graph should generate a clean review schematic. The reviewer then compares the source and generated view side by side or as an overlay.

Bidirectional highlighting is important:

This is the principal defense against a confident but structurally valid mistake. ERC can confirm that a wrong circuit is internally consistent; only source comparison can show that it is not the circuit on the page.

4.7 Human acceptance

Human review should have two scopes:

  1. Issue review: resolve every flagged ambiguity, disagreement, and failed check.
  2. Coverage review: perform a complete visual sweep of the source-to-render correspondence, not merely the locations Sol chose to flag.

The manager should track coverage by page regions, components, and nets. A reviewer can approve a page only after all visible electrical content has been inspected or dispositioned. This limits the risk that an unflagged AI mistake bypasses the human entirely.

5. Review issues and fail-closed publication

5.1 Standard issue record

Each issue should contain:

Useful issue categories include illegible value, ambiguous junction, ambiguous reference designator, unknown device, uncertain pin mapping, page-connector mismatch, missing page, clipped source, switch-state ambiguity, source conflict, likely drawing error, model/revision conflict, validator failure, and database contradiction.

5.2 Allowed resolutions

The application should provide standardized resolutions rather than an unstructured comment box alone:

Free-form notes remain available for reasoning, but the structured disposition makes later searching and auditing possible.

5.3 Publication states

Confidence and workflow state must remain separate. A fact may be source-stated but coarse, or human-resolved and verified. Recommended package states are:

StateMeaningSearch behavior
draftExtraction is incompleteExcluded by default
machine_checkedAutomated passes agree and blocking validators passAvailable only when explicitly requested
needs_reviewOne or more review tasks remainExcluded by default
human_verifiedComplete coverage review and issue resolution are signedIncluded in normal verified search
supersededReplaced by a corrected package revisionHistorical only

No package may become human_verified while it has unresolved blocking issues, incomplete source coverage, stale generated artifacts, or failed required validators.

6. Accuracy features beyond manual flags

Manual flags address recognized uncertainty. The following features address uncertainty the extractor fails to recognize.

Accuracy featureFailure prevented or exposed
Immutable source hash and rendered-page manifestAccidental review of the wrong scan or revision
Complete object inventoryEntire branch omitted without creating an ERC error
Fact-level image evidencePlausible value or connection unsupported by the page
Raw and normalized valuesNormalization silently changing the source inscription
Separate observation and interpretationFamiliar topology overriding what is actually drawn
Independent graph reconstructionConfirmation bias in self-review
Deterministic schema and pin validationMalformed or internally inconsistent circuit data
Electrical rule checksConnected but physically implausible nets and device usage
Switch-state enumerationA correct default-state netlist that loses alternate channels
Visual round tripInternally valid but source-inaccurate reconstruction
Full human coverage trackingConfident mistakes outside AI-generated flags
Golden-circuit regression suiteWorkflow changes degrading previously solved cases
Versioned corrections and audit trailLater fixes erasing the history of what changed and why
Verified-only default searchDraft facts appearing authoritative in research answers

Additional operational safeguards are also required:

7. Manager web application

7.1 Why the manager should be a core component

At collection scale, Markdown notes and loose crop folders will produce inconsistent issue descriptions, incomplete resolutions, and forgotten review work. A manager application is not merely a convenience. It is the practical enforcement point for the accuracy contract.

The application should be local-first and run against repository-controlled files. Network deployment and multi-user authentication can be added later if needed. The first priority is making one reviewer fast, consistent, and unable to publish incomplete work accidentally.

7.2 Primary workspaces

Intake dashboard

Extraction workspace

Review queue

Graph and schematic comparison

Validation and publication

Search and research explorer

7.3 Review experience details

The manager should minimize the cost of careful review:

7.4 Suggested architecture

A practical initial stack is a local Python service, SQLite working database, repository-backed canonical packages, and a browser interface. This aligns with the repository’s existing Python build tooling and SQLite database while keeping the canonical artifacts reviewable in Git.

The working database should manage queues, locks, indexes, and UI state. It should not become the only copy of the circuit facts. Publication writes a deterministic package to the repository, regenerates outputs, records hashes, and creates an append-only event. A fresh manager database should be rebuildable from those packages.

The web API should expose domain operations such as resolve_issue, connect_endpoint, split_net, approve_page, and publish_revision, not unrestricted row updates. Domain operations can enforce invariants and make every meaningful change auditable.

The manager should treat the AI worker as an authenticated workflow actor with limited operations. Claude, GPT, or another model may propose extraction records, crops, candidates, and corrections; only validation and publication services may advance package state.

8. Search, AI use, and database integration

The verified circuit packages should feed three complementary query layers:

  1. Literal graph layer: components, values, pins, nets, and state-dependent connectivity.
  2. Derived circuit layer: gain stages, tone networks, phase inverters, feedback, supply topology, and reusable structural fingerprints.
  3. Research assertion layer: cited technical claims, measurements, explanations, and comparisons.

Future AI queries should receive the smallest relevant verified subgraph plus provenance, not an entire PDF or a context-heavy raw netlist. For example, a query about a cathodyne could retrieve the phase-inverter device, its connected resistors and capacitors, the feeding stage, the output grids, relevant source crops, and any unresolved issues.

The current amplifier database should be integrated conservatively:

9. Pilot and implementation sequence

Phase 0: Define invariants and golden sources

Phase 1: Canonical format and command-line validator

Phase 2: Review manager minimum viable product

Phase 3: Independent extraction and difficult cases

Phase 4: Search and current-database integration

Phase 5: Controlled scale-up

Immediate engineering backlog

The work should proceed as a short, measurable loop rather than as a large speculative build:

  1. Finish and sign off the 5F2-A characterization and profile.
  2. Run the profile against 5E1, recording which expectations transfer and which create false confidence.
  3. Improve the UI for issue queues, source-to-net highlighting, coverage maps, and explicit unknown/resolve actions.
  4. Improve schematic and overlay viewers: higher-resolution crops, synchronized zoom, opacity controls, difference highlighting, and net tracing in both directions.
  5. Test edge cases and chase bugs in upload, assignment, result parsing, review persistence, and stale-artifact detection.
  6. Add independent comparisons and validator checks before widening the model or amplifier set.

10. Acceptance criteria

A package should qualify as human_verified only when all of the following are true:

These criteria deliberately allow a verified package to contain unknown values. Verification means the package faithfully represents what can and cannot be established from its sources; it does not mean every printed fact was legible.

11. Principal risks and boundaries

RiskConsequenceMitigation
Sol confidently invents a conventional connectionWrong graph passes ordinary syntax checksIndependent reconstruction, visual round trip, full human coverage
Human rubber-stamps a long schematicErrors survive despite nominal signoffCoverage map, trace mode, focused review units, measured review time
Poor source never supports exact transcriptionWork stalls or guesses enter the recordPublish only determinate subgraphs; retain blocking unknowns or seek another source
Alternate states are flattenedSearch and simulation describe only one modeExplicit state tables and per-state connectivity validation
Existing database biases extractionEarlier summary error becomes “corroboration”Compare only after literal extraction; treat conflicts as issues
Format becomes too complex for AI or humansExtraction and review become fragileSmall schema, JSONL records, generated readable view, manager-guided operations
Generated KiCad/SPICE divergesUsers trust stale outputHash-linked generation and publication-time freshness checks
Premature deduplication merges revisionsHistorical and circuit differences disappearPackage per source revision; deduplicate only derived circuit bodies
Manager database becomes irreplaceableQueue or provenance is lostRepository packages are authoritative and can rebuild working state

The hardest remaining constraint is human attention. A manager can make review much faster, but it cannot eliminate the need to inspect the complete reconstructed circuit if the desired status is genuinely verified. The workflow should optimize that attention rather than pretend it is unnecessary.

Conclusion

AI-generated netlists can transform the schematic archive from a collection of images into a durable circuit research system. The safe architecture is not “AI transcription plus a confidence score.” It is a layered evidence and review process in which strict circuit data is authoritative, uncertainty is first-class, independent checks expose unrecognized mistakes, and human signoff is tied to complete source coverage.

The existing 5F1 and 5E3 work proves that the repository already has useful ingredients: generated KiCad artifacts, ERC, targeted connectivity validation, source crops, explicit flags, human resolutions, confidence values, and append-only provenance. The next step is to formalize those ingredients in a canonical package and a local manager web application.

The manager should be developed during the pilot, beginning with 5F2-A and then 5E1, while importing the existing 5E3 work. It will standardize how any chosen AI submits facts, how ambiguities are resolved, how complete review is demonstrated, and how verified packages feed search and the existing database. This makes “foolproof” a practical systems property: mistakes may still be attempted, but they become difficult to publish silently, straightforward to locate, and safe to correct.