Method3 mark Ronald Partridge
Scan a card
Ronald Partridge, in a check blazer, smiling.

Ronald Partridge

AI Enterprise Architect

Central Pennsylvania | Toronto Ontario

I rebuild the systems your business cannot stop, while they keep running, and I put AI to work where a person still signs off. I write down the real requirement, then go past it to the high-value work nobody had thought to ask for.

Everything you see, I built.

  1. The real requirement, and past it. I start with what you asked for and what that request missed.
  2. Modernization without downtime. I replace the old system one slice at a time, and your business keeps running through every cutover.
  3. About 50% faster code migration with AI. Every change is still reviewed by an engineer before it lands.
  4. AI you can audit. A model can flag a problem before it becomes an incident, with the version and the reason on the record and a person deciding.
  5. Agentic AI across the work. Agents draft and carry the change as part of the real delivery, not a pilot on the side.
  6. Vendor auditing and governance. When a large vendor staffs your program, I audit their delivery against the requirement, the record, and the review.

Since February 2023

Enterprise and AI governance

I lead a modernization program and advise on how to run one, including AI integration, governance, and where AI is worth using.

AI is used across the effort. A critical process does not move until a person has reviewed it, and that review is the governance. The operation stays up. Nothing stops for the rebuild.

Consulting

Bring the problem

You bring the problem in your own words. I write the requirement for you to correct, ship the first slice while the old system keeps running, and build what you asked for along with the high-value work nobody thought to ask for. If a vendor is delivering, that same record is what they are held to.

City skyline behind the consulting section

Four steps: the pain, the requirement, the first live slice, and the part nobody named until the requirement found it.

Pain Requirement Slice The unnamed part

The engagement

You end up with three things: an approved requirement, working software in production, and a record of every decision, including what an operator sees when something fails.

Requirement approved Slice, live the rest runs The record who accepted

A person decides

The components

The person who feels the problem is in the room when the requirement is written, and corrects it in one read. No workshops. Each slice is small enough to reverse and goes live on its own while the old system stays up.

The old stays up Done Live Old, still open

The deliverables

A model does the mechanical work, but never approves its own output. A named person reviews every draft before it stands. That's why a port moves about 50% faster: the engineer is reviewing, not starting from a blank file.

back, with a reason Drafts a model Accepts a person Stands on the record

A typical engagement

Situation Complication Resolution

An illustration, not a client: a firm that has to stay open while it replaces the way it sees the day’s business, told as situation, complication, resolution.

Yesterday’s totals in the books No view of today the wall is blank Customers paying all day Yesterday’s totals No view of today Customers paying

Situation

  • The firm stays open.
  • Customers pay all day.
  • The business can see yesterday’s totals.
  • It cannot show a regulator, the same day, that the service and the books still agree.
  • The old systems are what the business trusts.
  • They do not close for a rebuild.
Parliament front page: the day's news tied to the members it touches.
Parliament, the front page, 26 October 2026.

Parliament AI

A public reading of the Commons

I built Parliament AI on my own, and the front page is the reading. Under it, every change on the record is logged once and sent to the pages it actually touches. A vote on a private member's bill reaches a bill and a count. A member crossing the floor reaches the seats, both parties, the career, and the front page. Figures update first. A machine may draft the writing. The quote still has to match the source.

How a change is allowed to move

Collectors Parliament, courts, departments, press Detect One real change, one stable key, one event Age check Newer than three days? Older logged only no rebuild Event: who it touches, salience 0 to 1 Routine vote A sitting that went nowhere New member, or a member leaving Royal assent Member changes party 0.35 0.5 0.6 0.8 0.85 Gate at 0.6 Below 0.6 figures and pages no new prose 0.6 and above a rewritten reading front page rebuilt Fan-out queue One row per target, one hop, then it stops bill count +1 seats both parties career front page Refresh Highest salience first A page with no job is marked live Quote gate, prose only Withheld not in the record nothing saved Kept a span of the source in its own words CollectorsParliament, courts,departments, press DetectOne real change,one stable key, one event Age checkNewer than three days? Olderlogged onlyno rebuild Event: who it touches, salience 0 to 1Routine vote0.35A sitting that went nowhere0.5New member, or a member leaving0.6Royal assent0.8Member changes party0.85 Gate at 0.6 Below 0.6figures and pagesno new prose 0.6 and abovea rewritten readingfront page rebuilt Fan-out queueOne row per target,one hop, then it stopsbillcount +1 seatsboth partiescareerfront page RefreshHighest salience firstA page with no jobis marked live Quote gate,prose only Withheldnot in the recordnothing saved Kepta span of the sourcein its own words

An event at 0.6 or above also queues a rewritten reading and force-rebuilds the front page. Below 0.6, only figures and pages update.

Ingestion model: collectors on the left, the kind of change, what it touches, and the pages that get rebuilt.
How a change moves, 27 October 2026. Each dot is a real event, splitting toward the pages it rebuilds.

Enterprise ML

Find the problem before it happens

I am building an in-house Java SDK for machine learning that calls proven libraries for the math. It runs in enterprise Java, on the JVM: training a model, storing it, and testing it are calls in that SDK, written in the same Java as the services around it. It keeps a model, each version of that model, and every time that version is used, so a result always names the exact version that made it.

Below is the shape of what it keeps. Five tables, one picture. Watch a model get trained, stored as a version, and tested, or step through it yourself. Tap a column underlined in orange to see why it is there. Dotted arrows run from each link to the table it names.

Train. The SDK hands examples to a proven library on the JVM, and a model comes out. Store. The model is kept as a version. The hash and the manifest land on that row. Test. Each use is an audit event. If the run is odd, it gets a flag and a reason.

modelsthe catalog

A model is the thing that scores a run.

  • idkey
  • nametext

1nightly-runs

model_versionsone row per release

Unique on model_id + version_number

  • idkey
  • model_id→ models
  • number

    A result has to name the exact release that made it.

  • artifact_filenametext
  • hash

    The stored bytes are the bytes that were trained. If the hash does not match, it is not that model.

  • artifact_contentthe stored model, as bytes
  • example_counthow many examples it learned from
  • provenance

    What went in, so the release can be rebuilt or audited.

v7 sha256 9f2c…e41a 18,400 examples manifest {data, settings, code}

audit_logsone use of that version

A score with no version is not a record.

  • idkey
  • model_version_id→ model_versions
  • text

    Says what this version was used for, one use per row.

  • occurred_attime
  • number

    The number this run got, always beside the version that gave it.

  • details_jsonthe inputs of that use

scored02:14score 0.94v7

anomaliesthe flag
  • idkey
  • audit_log_id→ audit_logs
  • scorenumber
  • text

    A short reason a person can read before anyone decides anything.

0.94Delay far above typical. Volume above typical.

anomaly_feature_explanationswhy that flag, feature by feature
  • anomaly_id→ anomalies
  • featuretext
  • distancehow far outside usual

Delayfar aboveVolumeabove

The tables the SDK keeps, from a model to the reason a run was flagged. The rows are synthetic: the picture and the figures are imaginary.

Three made-up examples, not clients, of the kind of trouble I build this to catch while there is still time to fix it.

  • 7 then 77

    A wholesale customer who never orders more than 7 of an item sends in an order for 77, most likely a slipped key. The order is flagged before it ships, so someone calls the customer, and nobody has to take a pallet back next week.

  • The batch runs late

    The nightly batch that is always done well before morning is still running past its usual finish. It is flagged while it runs, with delay named as the reason, so the person on call starts at the cause instead of hearing about it from the morning shift.

  • Errors up, load flat

    One service starts failing far more of its requests while traffic is no heavier than any other day. The flag names that service and the model version that scored it, and a person decides whether to roll back, so nobody loses the morning blaming the load.

Why this run was flaggedtypical rangethis run1Delayfar above typical · main reason2Volumeabove typical3Error sharea little above4Loadnear typical5Driftwithin typical Why this run was flaggedtypical rangethis run1Delayfar above typical2Volumeabove typical3Error sharea little above4Loadnear typical5Driftwithin typical
anomaly_feature_explanations, drawn. Illustrative figures, not a client.

The record

Where the work was done

  1. Flag of Pennsylvania

    PA State Department

    Harrisburg · February 2023 to now

    Architect for statewide data ingestion, batch processing, and file publishing in Pennsylvania. A failed port can stop a workflow or leave a record the department cannot explain. The target: Java 1.4 and Sybase services become Java 21 and Spring Batch, with IBM MQ, REST, FTP, security, alerting, and one set of service APIs. ELK replaced the scattered logs. Services report retries and the failed record. Node and React dashboards on Elastic show queue depth, file receipt, publishing, and batch health. I am using LLMs for significant productivity improvements in service porting.

  2. CN Rail

    CN Rail

    Montreal · May 2019 to Dec 2022

    Enterprise architect in Montreal. Technical architect for CN's first microservices logistics-tracking platform: Spring Boot, Spring Cloud, Kafka, DB2, PostgreSQL, and JWT-secured APIs. Tracking data moved from DB2 through Kafka into PostgreSQL-backed services. Service boundaries, domain models, and Kafka pipelines carried the trucking logistics system up to a SaaS point for AI and ML. The same years brought Node.js, React, GraphQL, Python, and a GCP IoT proof of concept. Tighter code review, documentation, and ownership improved offshore delivery efficiency by about 30%. The first developer hardware upgrade, approved from that review, improved engineering productivity by about 40%.

  3. Morgan Stanley

    Morgan Stanley

    Cloud engineer · May 2018 to Dec 2018

    Cloud engineer in Montreal. Java and Python tooling for cloud migration, compliance-driven log movement, and file streaming across AWS, Azure, Kafka, Splunk, and the systems that stayed on premises. Lambda and Kinesis workflows, triggered by S3 file artifacts, routed operational messages into processing queues. Command-line processes were containerized on Treadmill, Morgan Stanley's in-house container platform.

  4. GE

    General Electric

    LightGrid · Apr 2017 to May 2018

    Software engineer, advisory, in Montreal. GE LightGrid is a Java and Angular IoT platform that controls streetlights for cities and commercial buildings. AppDynamics was used to find Java, SQL, and PostgreSQL bottlenecks in high-volume IoT flows. Reliability work was Java optimization, SQL tuning, indexing, and the security of the IoT mesh network. Two interns built C firmware for power-usage data and manual lighting commands.

  5. Morgan Stanley

    Morgan Stanley

    Payments · Jun 2014 to Jan 2016

    Software engineer in Montreal. Rebuilt the global contractor payment system in Java EE, Spring, Sybase, HTML5, and AngularJS, with JUnit and Mockito. The older contractor-onboarding applications, in HTML, Perl, and C++, stayed in production and moved into Jenkins. The same stretch covered Linux upgrade compliance, QA, release notes, production deploys, and Autosys scheduling.

  6. PRE

    Before 2014

    Capco, Sanofi, RSA, and others

    Before 2014, production business applications for Capco, Sanofi Canada, RSA / Royal Sun Alliance, TVOntario, MBI Inc., Tohatsu America Inc., and others. Internal portals, scheduling systems, enterprise applications, mobile integrations, and legacy modernization. The platforms in that stretch included C# and .NET 2.0 to 3.5, SQL Server 2000 and 2005, PHP 5, Struts 2, Java EE, Hibernate, Perl, C++, Objective-C, Sybase, Autosys, RESTEasy, JBoss, and Amazon EC2.

The long-term project

SignalWealth

Quantitative, and now executing.

For six years I have done night work on market structure: where price is headed, and when. This is the project I am building toward.

  • Six yearsof night work on market structure
  • Alpha is livethe public site says so
  • August 2026first real executions

The engine finds a setup, sizes it, places the order, and manages the exit, on a live account, with the research written so it can be audited.

SignalWealth AI homepage: the alpha phase is live.
www.signalwealth.ai. The alpha phase is live. First real executions, August 2026.