app
Adom Gantt
Public Made by Adomby adom
Interactive Gantt chart viewer for project timelines, with a table view over the same data. Data-driven, dark by default with a print-friendly light mode, and fully editable in the browser: drag bars to move or resize, multi-select and batch-shift dates, manage dependency arrows inline, reorder rows, filter by phase, and undo. Toggle to the table for every task and milestone as a row with owner, deadline and status, filtered per owner and edited in place. Every edit is recorded in an append-only
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476
{
"project": {
"title": "Adom SMT Supervisory Line",
"subtitle": "Project timeline",
"appName": "smt-planner"
},
"phases": [
{
"name": "Phase 0 — Foundation",
"start": "2026-06",
"end": "2026-08"
},
{
"name": "Phase 1 — SPI + Loop 1",
"start": "2026-09",
"end": "2027-02"
},
{
"name": "Phase 2 — AOI + Loop 2",
"start": "2027-03",
"end": "2027-08"
},
{
"name": "Phase 3 — Reflow + Predict",
"start": "2027-09",
"end": "2028-06"
},
{
"name": "Phase 4 — Research",
"start": "2028-07",
"end": "2028-12"
}
],
"items": [
{
"type": "group",
"label": "Phase 0 — Foundation",
"phase": 0
},
{
"type": "task",
"id": "day1",
"name": "Essemtec Day-1 Verification",
"start": "2026-06-01",
"end": "2026-07-15",
"phase": 0,
"status": "planned",
"description": "10 empirical tests on dev ePlace install. Blocks PumaBridge file-write design decisions."
},
{
"type": "task",
"id": "i2s",
"name": "i2s Evaluation",
"start": "2026-06-01",
"end": "2026-07-31",
"phase": 0,
"status": "planned",
"description": "Evaluate i2s 2D inspection: data access via CFX/eData, measurement quality, licensing ($38K)."
},
{
"type": "task",
"id": "pg",
"name": "PostgreSQL Schema",
"start": "2026-06-01",
"end": "2026-07-15",
"phase": 0,
"status": "not-started",
"description": "Board-GUID-keyed tables: spi_measurements, aoi_measurements, traceability."
},
{
"type": "task",
"id": "rmq",
"name": "RabbitMQ Broker",
"start": "2026-06-01",
"end": "2026-06-30",
"phase": 0,
"status": "not-started",
"description": "AMQP broker for CFX ingest and WriteOp routing."
},
{
"type": "task",
"id": "cfx",
"name": "CFX Ingestor (Rust)",
"start": "2026-06-15",
"end": "2026-08-31",
"phase": 0,
"status": "not-started",
"description": "Subscribes to Puma CFX bus, transforms IPC-2591 JSON to Postgres rows.",
"deps": [
"rmq",
"pg"
]
},
{
"type": "task",
"id": "env",
"name": "Environmental Sensors",
"start": "2026-06-01",
"end": "2026-08-15",
"phase": 0,
"status": "not-started",
"description": "Temperature/humidity sensors for Loop 7 SPC bands."
},
{
"type": "task",
"id": "pb03",
"name": "PumaBridge v0.1–v0.3",
"start": "2026-06-15",
"end": "2026-08-31",
"phase": 0,
"status": "planned",
"description": "W1: env setup. W2: read-only eData. W3: recipe writes. W4: file-watcher + git.",
"deps": [
"day1"
]
},
{
"type": "task",
"id": "pfp",
"name": "puma-file-prep (ongoing)",
"start": "2026-05-01",
"end": "2027-02-28",
"phase": 0,
"status": "live",
"striped": true,
"description": "279 packages, 61 components, 55/55 E2E tests. Ongoing: AMQP transport, UI polish."
},
{
"type": "task",
"id": "pc",
"name": "puma-converter (ongoing)",
"start": "2026-05-01",
"end": "2026-12-31",
"phase": 0,
"status": "live",
"striped": true,
"description": "CAD/BOM import engine. KiCad to Puma XML. Stable, incremental."
},
{
"type": "task",
"id": "inv",
"name": "pnp-inventory (ongoing)",
"start": "2026-05-01",
"end": "2026-12-31",
"phase": 0,
"status": "live",
"striped": true,
"description": "vendor-cross-ref (port 8893) + job-inventory-check (port 8895)."
},
{
"type": "milestone",
"name": "M1: Data backbone operational",
"date": "2026-08-31",
"phase": 0,
"description": "Postgres + RabbitMQ + CFX ingestor running. Puma telemetry flowing."
},
{
"type": "group",
"label": "Phase 1 — SPI + Loop 1",
"phase": 1
},
{
"type": "task",
"id": "spi-src",
"name": "Source Used 3D SPI",
"start": "2026-07-01",
"end": "2026-10-31",
"phase": 1,
"status": "not-started",
"description": "Scout used Koh Young KY8030 or similar. $15K–$50K. 3–6 month lead."
},
{
"type": "task",
"id": "spi-int",
"name": "3D SPI Integration",
"start": "2026-10-01",
"end": "2027-01-31",
"phase": 1,
"status": "not-started",
"description": "Install, integrate with CFX bus, validate per-pad volume data to Postgres.",
"deps": [
"spi-src",
"cfx"
]
},
{
"type": "task",
"id": "spc",
"name": "SPC Engine (Rust)",
"start": "2026-09-01",
"end": "2026-12-31",
"phase": 1,
"status": "not-started",
"description": "Western Electric control-chart rules. Fires alerts on process drift.",
"deps": [
"pg"
]
},
{
"type": "task",
"id": "pb10",
"name": "PumaBridge v0.4–v1.0",
"start": "2026-09-01",
"end": "2026-11-30",
"phase": 1,
"status": "planned",
"description": "W5: Package file writes. W6: remaining file-writers, observability, pre-flight checks.",
"deps": [
"pb03"
]
},
{
"type": "task",
"id": "loop1",
"name": "Loop 1: Dispense → SPI (advisory)",
"start": "2026-12-01",
"end": "2027-02-28",
"phase": 1,
"status": "not-started",
"description": "Proportional control on per-pad-class jet valve shot params. Advisory mode.",
"deps": [
"spi-int",
"spc",
"pb10"
]
},
{
"type": "task",
"id": "loop7",
"name": "Loop 7: Environment → SPC",
"start": "2026-10-01",
"end": "2027-01-31",
"phase": 1,
"status": "not-started",
"description": "Temperature/humidity-band SPC limit adjustment.",
"deps": [
"spc",
"env"
]
},
{
"type": "task",
"id": "loop4",
"name": "Loop 4: Lot Change Screening",
"start": "2027-01-01",
"end": "2027-02-28",
"phase": 1,
"status": "not-started",
"description": "Tighten SPC limits on first boards after reel change.",
"deps": [
"spc"
]
},
{
"type": "task",
"id": "mol01",
"name": "Molecule-Inventory v0.1",
"start": "2026-11-01",
"end": "2027-02-28",
"phase": 1,
"status": "not-started",
"description": "Standalone app. Reel tracking, feeder-slot mapping, MSL state, stock levels."
},
{
"type": "milestone",
"name": "M2: SPI data flowing",
"date": "2027-01-15",
"phase": 1,
"description": "Per-pad paste volume data in Postgres. SPC engine monitoring."
},
{
"type": "milestone",
"name": "M3: Loop 1 advisory",
"date": "2027-02-28",
"phase": 1,
"description": "Dispense closed-loop running in advisory mode."
},
{
"type": "group",
"label": "Phase 2 — AOI + Loop 2",
"phase": 2
},
{
"type": "task",
"id": "i2s-int",
"name": "i2s Integration (if viable)",
"start": "2027-01-01",
"end": "2027-04-30",
"phase": 2,
"status": "planned",
"description": "Integrate Puma i2s 2D pre-reflow inspection into supervisor. Depends on Q-i2s eval.",
"deps": [
"i2s"
]
},
{
"type": "task",
"id": "aoi-src",
"name": "Source Used Post-Reflow AOI",
"start": "2027-01-01",
"end": "2027-05-31",
"phase": 2,
"status": "not-started",
"description": "Used Koh Young Zenith or similar. $25K–$80K. Required for Loop 3 and Loop 6."
},
{
"type": "task",
"id": "aoi-int",
"name": "Post-Reflow AOI Integration",
"start": "2027-04-01",
"end": "2027-07-31",
"phase": 2,
"status": "not-started",
"description": "Install, integrate CFX, validate per-joint solder data.",
"deps": [
"aoi-src",
"cfx"
]
},
{
"type": "task",
"id": "loop2",
"name": "Loop 2: Placement → AOI (Kalman)",
"start": "2027-03-01",
"end": "2027-07-31",
"phase": 2,
"status": "not-started",
"description": "Kalman filter corrects feeder/nozzle offsets from i2s or external pre-reflow AOI.",
"deps": [
"i2s-int",
"pb10"
]
},
{
"type": "task",
"id": "loop6",
"name": "Loop 6: Test → Root Cause",
"start": "2027-05-01",
"end": "2027-08-31",
"phase": 2,
"status": "not-started",
"description": "Correlates test failures to upstream anomalies. Mahalanobis scoring. RCA dossier.",
"deps": [
"aoi-int",
"spc"
]
},
{
"type": "task",
"id": "dash",
"name": "Operator Dashboard v1",
"start": "2027-04-01",
"end": "2027-08-31",
"phase": 2,
"status": "not-started",
"description": "Web app: live SPC charts, alerts, traceability, RCA dossiers."
},
{
"type": "milestone",
"name": "M4: AOI/i2s data flowing",
"date": "2027-05-31",
"phase": 2,
"description": "Pre-reflow inspection data in Postgres."
},
{
"type": "milestone",
"name": "M5: Loop 2 closed-loop",
"date": "2027-08-31",
"phase": 2,
"description": "Placement correction running with automatic writebacks."
},
{
"type": "group",
"label": "Phase 3 — Reflow + Predictive",
"phase": 3
},
{
"type": "task",
"id": "loop3",
"name": "Loop 3: Reflow Bayesian Opt.",
"start": "2027-09-01",
"end": "2028-03-31",
"phase": 3,
"status": "not-started",
"description": "Bayesian optimization (BoTorch/Ax) of reflow profile. Human-in-the-loop.",
"deps": [
"aoi-int"
]
},
{
"type": "task",
"id": "loop5",
"name": "Loop 5: Feeder Health",
"start": "2027-09-01",
"end": "2028-02-28",
"phase": 3,
"status": "not-started",
"description": "Predictive maintenance. Supervisor module. Pickup retry anomaly detection."
},
{
"type": "task",
"id": "loop1cl",
"name": "Loop 1 → Closed-Loop",
"start": "2027-09-01",
"end": "2027-12-31",
"phase": 3,
"status": "not-started",
"description": "Promote Loop 1 from advisory to automatic writebacks.",
"deps": [
"loop1"
]
},
{
"type": "task",
"id": "mol10",
"name": "Molecule-Inventory v1.0",
"start": "2027-09-01",
"end": "2028-01-31",
"phase": 3,
"status": "not-started",
"description": "Full stock integration, MSL compliance, BOM cross-check.",
"deps": [
"mol01"
]
},
{
"type": "milestone",
"name": "M6: Loop 3 BO running",
"date": "2028-03-31",
"phase": 3,
"description": "Reflow Bayesian optimization operational."
},
{
"type": "milestone",
"name": "M7: Feeder predictive maint.",
"date": "2028-02-28",
"phase": 3,
"description": "Feeder health monitoring and alerting live."
},
{
"type": "group",
"label": "Phase 4 — Research",
"phase": 4
},
{
"type": "task",
"id": "classif",
"name": "Custom Defect Classifiers",
"start": "2028-07-01",
"end": "2028-12-31",
"phase": 4,
"status": "not-started",
"description": "Train custom vision models on accumulated production data."
},
{
"type": "task",
"id": "loop8",
"name": "Loop 8: Transfer Learning",
"start": "2028-07-01",
"end": "2028-12-31",
"phase": 4,
"status": "not-started",
"description": "Seed new product recipes from similar existing products."
},
{
"type": "task",
"id": "loop9",
"name": "Loop 9: LLM Operator Assist",
"start": "2028-09-01",
"end": "2028-12-31",
"phase": 4,
"status": "not-started",
"description": "Plain-English diagnostics and recommendations."
}
]
}