Primary workflow
A manufacturing control environment. Gantt, capacity, and recovery, with the consequence chain shown.
- Dashboard, schedule, orders, capacity, materials, routings, bottlenecks, analytics, and simulator views over one schedule result.
- Guided demo: a calculated walkthrough of an eight-hour CNC failure.
- Factory Recovery: an outage scenario with lexicographic ranking of recovery options and a consequence chain.
- Policy comparison: eight dispatch policies compared, with a benchmark guard.
- CSV export of schedule results.
Architecture
- Next.js 16, React 19, TypeScript, Zod, Recharts, react-hook-form. 15 routes.
- Deterministic finite-capacity scheduler with invariant auditing. Greedy heuristic, no optimality proof claimed.
- Fixture: 1 facility, 7 work centers, 14 machines, 30 products, 48 production orders, 4 routing structures (README).
- Persistence in localStorage (forgeplan-state, schema v2, Zod-validated, legacy key migrated). Invalid state restores the fixture with a notice.
- CSP frame-ancestors 'none' with X-Frame-Options DENY. This app cannot be iframed. Link-out only.
Engineering decisions
- All views consume the same ScheduleResult: Gantt, capacity, exceptions, case study, and KPIs cannot drift apart.
- No claim of global optimality, production deployment, or measured customer savings (README).
- Invariant auditing runs over the schedule, so a broken schedule fails loudly instead of rendering nicely.
Technical challenges
- Install outcome is UNVERIFIED. A prior npm ci failure cited missing @emnapi packages; the lockfile now contains @emnapi 1.10.0 nested entries, but no clean install was run in recon. Do not claim the lockfile is fixed until npm ci is run.
- Persistence is origin-wide localStorage, not tab-isolated. Two tabs share one demo state.
- Four stacked PRs (M6 design system and accessibility sweep, M7 digital twin, M8 disruption laboratory, M9 schedule intelligence) are unmerged, with M6 as the base of the chain.
Demonstration scenario
- CNC-02 is removed for 8 working hours. The flagship experiment table reports a baseline and a recommended failure-EDD recovery with on-time percent and tardiness hours (doc-claimed, README).
- Run Factory Recovery from the landing page. Compare ranked recovery options.
- Follow the consequence chain through orders and capacity, then reset to the fixture.
- Compare dispatch policies in the policy comparison view.
Engineering evidence
- 9 test files and 5 end-to-end spec files in the repo. Verification doc claims 174 unit tests and 16 of 16 end-to-end tests at an earlier commit, with a working-tree-changes flag. Neither was re-run in VW-100 recon. [OBSERVED files; DOC-CLAIMED results, UNVERIFIED]
- Benchmarks are recorded as measured, not projected, with hardware and Node version stated. Nothing claims a policy is optimal. [OBSERVED, BENCHMARKS.md]
- Synthetic-data disclaimer is present, and the landing page states no sign-in and the fixture size. [OBSERVED]
OBSERVED means read from repository evidence at the stated commit. DOC-CLAIMED means a repository document states it but it was not re-run during reconnaissance. UNVERIFIED means no supporting evidence was obtained. See the engineering inventory.
Known limitations
- No verified public demo URL. README states: prepared for Vercel, but no live URL has been published from this workspace.
- No CI workflow exists. No license file exists; usage terms are pending an owner decision.
- Greedy heuristic with no optimality proof. Non-preemptive operations fitting one shift. Not full MRP.
- UI quality, responsiveness, and dead controls were not observed (no live URL, no browser run in recon).
- Screenshot files referenced in docs were not verified (binary fetch limitation, not evidence of absence).
Sandbox readiness
Origin-wide localStorage persistence with reset to the fixture. No expiry, no per-visitor isolation, no time-box. A session-scoped, tab-isolated demo mode is a change request, not shipped work. 60-minute exploration depth is UNVERIFIED.
Current portfolio status: Demo unavailable in this harness: no deployment verified, demoUrl null, allowlist empty.