Ayush · Yadav the record room · case file 1 of 7

¶ case file 1 of 7 · agentic automl platform — filed 2025-09 · last verified 2026-08

status: in progress — core shipped, run ledger pending

consigned at agentic automl — ¶ 09 · 22:05 · waybill: automl’s halted run → manifest

the line stands dark at 22:05 — the archive lamp is lit; a record is read in the light it needs.

Agentic AutoML Platform

A public agentic AutoML platform. Datasets and domain documents become auditable pipeline decisions — and a human approval gate holds every generated action before it alters the workflow.

role
capstone engineer — my slice below
with
Shree Chaturvedi — capstone teammate
timeframe
2025-09 to present
stack
TypeScript · React 19 · Express 5 · PostgreSQL · Docker · LangGraph · MCP

[ problem ] · § as found

Between a raw dataset and a useful model sits a chain of repetitive judgment: ingestion, feature decisions, training, evaluation, deployment packaging. Automate the chain carelessly and the judgment disappears with the labor.

constraints —

  • Make pipeline decisions auditable instead of opaque.
  • Support domain documents through retrieval and MCP-based orchestration.
  • Require human approval before generated actions alter workflow state.
  • Keep training workflows reproducible with containerized execution.
  • Validate the product flow with browser-level checks.
langgraph supervisoragentic core · gpt-5.4the notebook — written and runmcp registry ×12 · source orderlist_project_filesget_dataset_profileget_dataset_samplesearch_documentslist_cellsread_cellwrite_celledit_cellrun_celldelete_cellreorder_cellsinsert_cell1.0 ingest2.0 explore3.0 preprocess4.0 engineer5.0 train6.0 experiments7.0 deploy

fig. 1 — the halt, on file: six gates opened, the seventh held. deploy never lights itself — that word belongs to a person.

a drawn plate, at rest — not a screenshot. the twelve tools are mcpServer.ts’s at 5e42233, in source order; no metric is drawn because none is claimed — the receipts say why.

[ architecture ] · § fig. 2, inked

A React and TypeScript interface coordinates Express/PostgreSQL services, LangGraph + MCP orchestration, notebook-based training workflows, Docker execution, and Playwright evaluation.

React 19 UI

Dataset and workflow surface

workflow requests

Express 5 API

Pipeline orchestration

approved actions

LangGraph + MCP

Agentic workflow routing

training jobs

Docker runtime

Reproducible runs

run records

PostgreSQL 16

Run metadata

Playwright evals

Workflow validation

browser proof — back to React 19 UI, closing the loop

generated actions hold at the approval edge until a human says go

fig. 2 — the gated loop, inked. clay marks the gates: where a check can stop the run.
  • 038 · log-regmetrics not publishedapproved
  • 039 · random forestmetrics not publishedapproved
  • 040 · gbmmetrics not publishedapproved
  • 041 · xgboostmetrics not published
fig. 3 — experiment registry, transcribed private-safe excerpt.metrics withheld — no committed eval run earns them yet; the source itself is public, pinned above.

[ decisions ] · § as filed

d1 — use langgraph + mcp for orchestration · accepted

The platform needs phase-aware routing, tool calls, and auditable decisions tied to domain context.1

1 tradeoff — More infrastructure than a simple model runner, but better for traceable workflows.

d2 — keep human approval gates · accepted

Generated preprocessing, training, and deployment actions should be reviewed before they alter the workflow.2

2 tradeoff — Approval gates slow down full automation, but they make the system safer and easier to debug.

d3 — containerize execution · accepted

Training runs need reproducible environments.3

3 tradeoff — Docker adds setup cost but reduces machine-specific drift.

[ validation ] · § the receipts

at a glance — 2 of 8 terminate in pinned artifacts · 5 in page captures · 1 described only

validation

walks the receipts below, top to bottom, and marks each row this page can verify: a check where a pinned artifact resolves, a ring where the trail ends in an on-page capture, a dash where a claim is described only. walked once, the result settles here and stays.
  1. 01claim: The platform is the public repo yadava5/ai-augmented-auto-ml-toolchain; its README titles it Agentic AutoML Platform and states the seven-phase lifecycle, the LangGraph and MCP core, and a human approval gate at every step.

    method: read at the pinned commit on the public repodate: 2026-07-30

  2. 02claim: Upload, EDA, NL-to-SQL, preprocessing, training, experiments, and deployment are the seven lifecycle phases.

    method: read from the senior design poster and the local repodate: 2026-05

    [private-safe]

  3. 03claim: HPO, multi-model search, notebook training, and automated workflow evaluation are built into the platform.

    method: poster + presenter deck, checked against the local repodate: 2026-05

    [private-safe]

  4. 04claim: Presenter slide 8 records the stack and validation posture: all-green tests, coverage, logs, packages, and migrations.

    method: transcribed from the presenter artifactdate: 2026-05

    [private-safe]

  5. 05claim: My slice of the build: the Monaco/Jupyter runtime with live WebSocket sync, Docker sandbox constraints, the eval runner, and the Optuna study streaming UI.

    method: as presented — the presenter artifact names this workdate: 2026-05

    [private-safe]

  6. 06claim: Training runs execute in a Dockerized runtime for reproducibility.

    method: poster architecture panel + local repo auditdate: 2026-05

    [private-safe]

outcomes

  1. 07claim: A dataset and a goal become a structured, auditable workflow — planned and argued for by agents that still cannot press go.

    method: the product’s design, described — not an outcome metricdate: date not recorded

    artifact: no linkable artifact — described only

    [private-safe]

  2. 08claim: Pipeline decisions run through LangGraph tool calls rather than free-form output: the platform defines 44 tools across seven groups — preprocessing (14), cells (8), features (6), training (6), data (4), packages (3), UI (3) — and registers twelve of them, the data and cell groups, over MCP: list_project_files, get_dataset_profile, get_dataset_sample, search_documents, list_cells, read_cell, write_cell, edit_cell, run_cell, delete_cell, reorder_cells, insert_cell. The other 32 are function-calling definitions the LangGraph phases consume directly.

    method: both counts taken in source at the pinned commit, which is main's head: the twelve read out of the MCP server, the 44-tool surface counted by name across the seven files in backend/src/services/llm/tools/date: 2026-08-14

ci rows link the public run · repo pins are the exact commits verified 2026-08.

what i’m NOT claiming —

  • No per-run metrics are published here. The registry excerpt shows run, model, and status only — a demo-data run ledger with a complete metric trail has not shipped yet.
  • The source is now public and pinned above, so the architecture claims are inspectable. What is still NOT claimed is a result: no accuracy, throughput, or benchmark figure appears on this file, because no committed eval artifact earns one. The work this file argues is the architecture and the human gate.

[ corrections ] · § the register

  • note · 2026-07

    Per-run metrics remain withheld because no committed eval artifact earns one; the eval protocol for the platform’s own model runs is not yet publicly documented. Nothing here has been retracted — this register is waiting on a demo-data run ledger.

  • erratum · 2026-07-30

    The repository is no longer private, and until today this file said it was. Receipt 01 read “The platform lives in the private repo …” and carried no artifact at all — true when written, false the moment the visibility changed, and it was the one incorrect sentence on the page. yadava5/ai-augmented-auto-ml-toolchain now answers anonymously; both paths cited here were fetched without a token and returned 200 before the rows were rewritten. Two claims moved from a photograph of a poster to the source that decides them: the seven-phase lifecycle and the human gate now cite the README at e506c91, and the MCP claim cites the server file, which registers exactly twelve tools — named here in source order because this project’s booklets once shipped fabricated tool names and an audit had to replace them. The note above stands with its reason corrected: going public makes the ARCHITECTURE inspectable, not the results. No accuracy or throughput figure appears on this file, because no committed eval artifact earns one.

  • erratum · 2026-08-06

    The evidence aside above still said the repository was private, and it had said so for a week after it stopped being true. The 2026-07-30 round pinned the repo, removed the private stamp and rewrote receipt 01, but missed the one paragraph whose entire job is to tell a reader what they are not being shown — so the file contradicted itself three sections apart, and the erratum directly below it. Rewritten to name what is actually withheld: the source is public and pinned, and no accuracy, latency or throughput figure appears anywhere on this file because no committed eval artifact earns one. Found while rebuilding the archive as static HTML, by reading the generated page rather than the component that used to render it.

  • note · 2026-08-14

    This file gains its first measured number, and it is not a result. Until today the only honest thing to say about AutoML's numbers was that there were none — no committed eval artifact earns an accuracy figure, and that stands. What can now be stated is the discipline around the architecture: 2,523 tests green on CI, 1,445 backend + 985 frontend + 93 landing across 268 test files, 2 skipped, 0 failures, at CI run 31804338459 on commit 44fbe4f9, and re-verified unchanged at 09b144f9 after five further merges the same day. It is stated now rather than earlier for a specific reason: the landing suite had never once run in CI. It appeared in the workflow's cache paths and nowhere else, so its 93 tests — including the one whose whole job is to assert the deploy's install command — executed on no run in the repository's history. Quoting a total that included them would have been quoting a number nothing produced. `ci: npm ci everywhere, and the landing suite finally runs` installs, builds and tests that workspace, and 31778517442 was the first run where all three suites actually executed. The total quoted above is from a later run on the same branch: merging the security work that quotes SQL identifiers, bounds the tuning timeout and de-fangs the markup regexes added 33 backend tests, taking backend from 1,412 to 1,445 and the total from 2,490 to 2,523. Frontend and landing are unchanged. The figure is re-read from CI rather than carried forward, because a total taken before a merge describes a head that no longer exists. The sandbox line gains `network-isolated by default` on the same principle — `networkManager.ts:24` creates the execution network with `--internal` and `config.ts:137` defaults to it, which is a stronger and equally checkable claim than the three flags already listed.

  • note · 2026-08-14

    The commit count stops resting on my word. The run has said “2,173 commits on the senior-design gitlab” since the station-fact audit restored it, and that audit was explicit about the weakness it was carrying: the GitHub repository was a squashed snapshot of four to nine commits, the real history lived behind Miami’s GitLab auth, and so the figure rested on the owner’s own knowledge with nowhere for a reader to check it. The 12 August consolidation ended that. `main` now carries the full lineage, and the number is countable by anyone: 2,186 commits reachable from the pinned commit 5e42233, and 2,187 from main’s head as this was written — which is exactly why the figure is pinned rather than left to float. GitHub’s own contributor list corroborates the shape of the team it was always attributed to: ShreeChaturvedi 1,237 and yadava5 937, with two marginal contributors at 8 and 1. Recorded as a note and not an erratum because 2,173 was never claimed to be more than it was; what changed is that the honest caveat attached to it is no longer necessary, and the number went up rather than down. The link beside it stops saying “the published snapshot” for the same reason: it is not a squashed mirror any more.

  • erratum · 2026-08-14

    Both AutoML pins had come off the branch they claimed to be on, and every link kept working the whole time. On 12 August the repository consolidated: main was replaced by the GitLab lineage — 2,125 commits at its head 5f8b7da, and 2,186 on main once merged — and the old GitHub main was parked as archive/github-main. Neither commit moved — the branch did. Asked today, GitHub answers compare/main…e506c91 and compare/main…5c5b762 with 404, “No common ancestor”, and 5c5b762 is now archive/github-main’s head exactly. So this file was citing “the pinned public commit” and “main’s public head” for two commits that are on neither. Nothing went red, because both shas still resolve and both blobs still render — which is precisely the failure this register described six days ago and then walked into from the other side. Worse, the finding it recorded then has since REVERSED: the entry below rejects 5f8b7da for having no common ancestor with main, and after the consolidation GitHub reports it as behind by 61 — on main. The one sha thrown out for being off the history is the only one of the three that is on it. That entry stays as written, because it was right on the day and a register that edits itself to look prescient is worth less than one that shows the fact moving. The repair is a single pin, 5e42233 — “ci: core lint/test/build validation on main”, 12 August — claimed as ON main rather than as main’s head, because a head is a branch pointer and this one stopped being it within hours; with both counts re-taken there rather than carried across: twelve registerTool sites in mcpServer.ts in the order named above, and 44 tool definitions across the seven files in backend/src/services/llm/tools/. No number changed; tools/index.ts is the same blob (83f05ee) at all three refs, which is exactly why nothing could detect this by reading the file. The check that would have caught it is not “does the sha resolve” but “is the sha on the branch you named”, and it is one API call.

  • erratum · 2026-08-08

    The tool count named the wrong noun, and this file has been under-claiming since 2026-07-30. “The server registers exactly twelve tools” was, and remains, true of mcpServer.ts: twelve registerTool call sites, one server, none anywhere else in the tree. What was wrong was presenting that as the platform’s tool surface. backend/src/services/llm/tools/ defines 44 tools across seven groups — preprocessing 14, cell 8, feature 6, training 6, data 4, package 3, UI 3, listed by name and de-duplicated with zero collisions — of which the MCP server registers the data and cell groups, the twelve; the other 32 are LLM function-calling definitions the LangGraph phases pass directly, and they are the preprocessing, feature-engineering and training lifecycle — the more substantial half of the surface, and the half the site omitted. The twelve reproduced at six refs, which is what made it convincing: a reproducible count of the wrong noun is still wrong. No document this site served ever said 44 before today — the résumé said “an MCP tool registry”, uncounted — so the site alone put a number on the surface, and the number it chose was the subset. Recorded as an erratum rather than a note because the fact never moved: the tool files at main’s head are byte-identical to trees months older, so all 44 were there when the twelve was counted, and the audit counted the subset and called it the registry. The pins now split by noun: e506c91 vouches for the twelve alone, and the 44 is counted at 5c5b762, main’s public head, which the evidence row pins and links. A first attempt at that pin named 5f8b7da instead — it resolves, its tool files are the same blobs, and it is the head of an imported gitlab/main-history branch with no common ancestor with main. Fetching a sha proves it exists, not that it is yours.

[ appendix ] · § plates & artifacts

poster

Expo poster proof

open original ↗

source: senior design expo poster, spring 2026 · date: 2026-05 · boundary: private-safe capture — demo data only

Expo poster proof artifact

presentation

Presenter stack proof

open original ↗

source: senior design presenter deck, slide 8 · date: 2026-05 · boundary: private-safe capture — source repo not shown

Presenter stack proof artifact