Skip to content

Roadmap

Peter Pak edited this page Jul 15, 2026 · 5 revisions

Roadmap

Phases 1–3 are deployed (Architecture). This page holds the design intent for what comes next.

Phase 4 — the learning loop (active frontier)

Build order, each item feeding the next:

  1. Reflector — post-build reflection records forming a case library. Builds 44/46 are ready material. Cardinal rule: derive what happened from agent_actions (the server-side log at the MCP choke point) and telemetry, never from the agent's self-report.
  2. Watchdog loop — periodic observe-and-recommend during prints; recommendations written to events, human ack in the GUI panel.
  3. Playbook distillation — lessons distilled from the case library into injected context (PLAYBOOK.md alongside plugin/AGENTS.md). Human-gated: a wrong lesson poisons every future session.
  4. GP surrogate — parameters → properties model over the ASTM ladder (see Datasets for the measured signal), exposed as predict_*/suggest_* MCP tools, closing the loop into the next build's parameters.

Learning lives in the data layer, never model weights — any harness/model plugged in inherits all of it, which the harness-comparison methodology requires.

The monitoring philosophy

Don't make the LLM the loop — make it the escalation.

  • Tier 1 — always-on watchdog daemon: per-layer checkpoint after recoat completes; vision over camera frame + thermal matrix; emits debounced observations {layer, anomalyType, confidence, location, objectId?}.
  • Tier 2 — episodic agent: on threshold, invoke a harness headlessly with an incident report = anomaly + images + the build's intervention journal.
  • Perception proposes, agent disposes: the vision model never calls tools — action choice needs context (layer, history, reversibility) it lacks.
  • Feasibility: layer time ≫ agent latency, and overrides land next-layer anyway — agentic control fits AM's timescale.

Safety rails

  • Escalation ladder: observe → knob tweak → extra recoat → page human → exclude object.
  • Reversible actions may be autonomous; object exclusion requires human ack.
  • Per-build intervention budget + cooldowns.

Vision bootstrap plan

Architecture A first: a cheap multimodal model scores each recoat by rubric — gets the loop working and generates labels. Swap in a domain-adapted vision model as Tier 1 later (architecture B). Free ablation along the way: classical CV vs VLM vs finetune.

Phase 5 — later

  • pgvector embeddings (events.embedding, frames.embedding columns already exist, unwritten) for frame similarity and free-text search.
  • Vision watchdog with per-object exclusion — planned route: GetMarkedObjects()/CreateMarkedObjectMask() + /plotter/objects masks (live plugin data, no command stream needed).
  • The command-capture pipeline (plotter_commands table + recorder stream) was removed 2026-07-15 after root-causing why it never carried data: the slicer constructs its own private ICodePlotter inside SLS4All.Compact.Printing.dll (bypassing the intercepted DI singleton), and the intended feeder LoggingMovementClient has been disabled since 2026-06-29 (boot-hang DI cycle via McuPrinterClient). If command capture is ever wanted (real galvo XY + laser state + per-command timing): fix the cycle with lazy resolution, re-enable the TOML replacement at a maintenance window, and restore the recorder pipeline from git history (removed in the same commit as this note).

Panel mode (harness arena)

Designed 2026-07-15 — see Panel Mode: all enabled harnesses answer the same prompt in parallel from a broker-owned canonical transcript; the user selects one blinded response, producing paired preference data (Bradley-Terry) for the harness comparison. Analyst/propose-only; its prerequisites overlap the harness-robustness items below.

Known open items

  • Live stamping of inova_session_id at print start (small .NET addition to the Inova API Plugin); until then, new builds need a matcher propose/review pass.
  • Domain-adapted open-source model risk: post-training must preserve tool-calling — include agentic traces in the corpus; if JSON tool calls are weak, fall back to code-action style; match the vLLM tool-call parser to the base model's chat template.
  • .imported spool files accumulate on the NVMe until cleaned manually.
  • Legacy May-era Python MCP at the repo root — RETIRED 2026-07-15 (agentic_sls/{mcp,inova}, root skills/ + agents/, .claude-plugin/plugin.json, and the gitignored builds/ monitoring dir all removed; agentic_sls/ now holds only the data pipeline).

Clone this wiki locally