From 683f86c33ca9cad5f90a7235d5de646f35f9a430 Mon Sep 17 00:00:00 2001 From: wangdequan Date: Mon, 15 Jun 2026 21:33:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=A1=B9=E7=9B=AE=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E6=83=85=E5=86=B5=E8=B7=9F=E8=B8=AA=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PROJECT_COMPLETION_TRACKER.md | 224 ++++++++++++++++++++++++++++++++++ 1 file changed, 224 insertions(+) create mode 100644 PROJECT_COMPLETION_TRACKER.md diff --git a/PROJECT_COMPLETION_TRACKER.md b/PROJECT_COMPLETION_TRACKER.md new file mode 100644 index 0000000..86e8887 --- /dev/null +++ b/PROJECT_COMPLETION_TRACKER.md @@ -0,0 +1,224 @@ +# Project Completion Tracker + +Last updated: 2026-06-15 CST + +This file tracks the overall completion state of the LinuxCNC WASM/browser port. +Use it for project-level status and acceptance tracking. Use `text14.txt` for +turn-by-turn continuation notes and next-batch execution records. + +## Current Status + +- Active continuation file: `text14.txt` +- Latest completed batch: workflow overview embedding mount DOM contract +- Latest relevant commit: `861c854 推进 INI 面板 workflow overview embedding mount DOM contract` +- Working tree at tracker creation: clean +- Required policy: LinuxCNC remains the only CNC semantic source + +## Completion Definition + +The project is complete for the current scope when all of the following are true: + +- Browser UI workflows are usable and validated: + - INI panel + - control page + - workflow overview + - external shell handoff + - OPFS/session persistence +- SDK/API surface exposes stable helpers for external callers. +- Sim config coverage has clear pass/skip/promotion state. +- Host/runtime blocked families are explicitly documented and not falsely promoted. +- All required gates pass. +- Documentation explains what is supported, blocked, and how to verify it. +- `text14.txt` contains the final completion record and the working tree is clean. + +## Area Status + +| Area | Status | Notes | +| --- | --- | --- | +| LinuxCNC semantic boundary | Stable | JS/browser remains glue, staging, OPFS, WASM/browser boundary, docs, and tests only. | +| Vendor/source guard | Stable | `verify_vendor_sync.sh` and standalone semantic guard are required every batch. | +| Interpreter WASM smoke | Stable | `interp_wasm_node_smoke=ok`. | +| Sim config inventory | Stable with skips | `executed=28`, `passed=28`, `skipped=131`, `unexpected_fail=0`. | +| Native nc_files baseline | Stable | Last recorded Layer 1: `total 107`, `pass 101`, `expected_fail 6`, `unexpected_fail 0`. | +| Native sim configs baseline | Stable | Last recorded Layer 2: `total 159`, `pass 151`, `expected_fail 8`, `unexpected_fail 0`. | +| OPFS/session persistence | In progress | Browser smoke passes; final project needs explicit project-level summary/report. | +| SDK/API surface | In progress | Many UI helpers exist; final project needs SDK export/readme consolidation. | +| Browser/UI workflow | In progress | Current focus: workflow overview embedding mount DOM readiness/renderer/mount closure. | +| Workflow overview embedding | In progress | Report/display/render, DOM contract/readiness/renderer, mount result/display/render, mount DOM contract exist. | +| Host/runtime boundary proof | In progress | Host smoke passes; runtime families below remain blocked. | +| Documentation/release gate | In progress | `text14.txt` has roadmap; README/docs final pass still pending. | + +## Blocked Runtime Families + +Do not promote these without real LinuxCNC-owned runtime proof and the required +native -> Node/WASM -> browser/host validation sequence: + +- `L4-USER-M-PROCESS` +- `L4-TOOL-DB` +- `L4-PYTHON-REMAP` + +Do not run these unless the host environment actually provides the needed +LinuxCNC runtime: + +```bash +ENABLE_MILLTURN_USER_M_RUNTIME_PROBE=1 bash wasm-port/tests/native/probe_millturn_user_m_runtime.sh +ENABLE_TOOL_DB_RUNTIME_PROBE=1 bash wasm-port/tests/native/probe_tool_db_runtime.sh +ENABLE_PYTHON_REMAP_RUNTIME_PROBE=1 bash wasm-port/tests/native/probe_python_remap_runtime.sh +``` + +## Remaining Work + +Execute these in order unless a later user request explicitly changes priority. + +### 1. Browser/UI Workflow Closure + +Current next task: + +- Add `createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness()`. + +Then complete the closure: + +- Add mount render-state DOM renderer. +- Add non-throwing mount workflow wrapper. +- Expose each helper through: + - `createIniPanelLaunchApiManifest().methods` + - `createIniPanelShellViewModel()` + - `window.linuxCncIniPanelLaunchApi` + - `window.linuxCncIniPanelWorkflowOverviewApi` +- Cover each helper in: + - UI Node smoke + - launch API manifest test + - shell integration manifest test + - entry docs test + - workflow overview browser smoke + - launch browser smoke + - shell integration browser smoke + - `docs/panel-entry.md` + +Completion criteria: + +- External shell can render workflow overview embedding mount state with a + custom DOM contract. +- Missing DOM returns structured blocked results where applicable. +- No control buttons or CNC semantic parsing are added. + +### 2. SDK/API Surface Consolidation + +Work items: + +- Audit `runtime/sdk/src/index.js`. +- Export stable helpers that external callers should use. +- Add or update SDK smoke for export shape and manifest compatibility. +- Update `runtime/sdk/README.md` with usage examples and unsupported areas. + +Completion criteria: + +- SDK exports match documented browser/UI helper surface. +- SDK tests pass in Node. +- No CNC semantics are implemented in JS. + +### 3. OPFS/Session Persistence Summary + +Work items: + +- Add a project-level OPFS/session workflow summary helper or report. +- Include machine files, session snapshot, readonly control status, and handoff + readiness. +- Add browser smoke coverage for save -> restore -> readonly status -> shell + handoff. +- Document OPFS scope and failure modes. + +Completion criteria: + +- `browser_ini_opfs_smoke=ok` remains stable. +- External callers can inspect persistence readiness and failures. + +### 4. Sim Config Coverage Promotion Matrix + +Work items: + +- Keep inventory `unexpected_fail=0`. +- Make skip reasons machine-readable and documented: + - `ASSET_ONLY` + - `L4_PYTHON_REMAP` + - `L4_TOOL_DB` + - `L4_USER_M_PROCESS` + - `NON_MAIN_CLASS` + - `UPSTREAM_DEMO` +- Promote only configs with LinuxCNC-owned proof. + +Completion criteria: + +- No skipped config lacks a documented reason. +- No blocked runtime family is falsely promoted. + +### 5. Host/Runtime Boundary Reports + +Work items: + +- Consolidate runtime family proof reports. +- Keep missing host runtime as blocked. +- If real runtime becomes available, validate in native -> Node/WASM -> browser/host order. + +Completion criteria: + +- `verify_host_smokes.sh` remains stable. +- Boundaries are documented and machine-readable. + +### 6. Documentation/Release Gate + +Work items: + +- Update `README.md`. +- Update `docs/panel-entry.md`. +- Update `docs/source-reuse-map.md`. +- Update `docs/drift-report.md`. +- Add or refresh final acceptance checklist. + +Completion criteria: + +- A new developer can run validation from README/docs without reading old + `text1` through `text13`. + +## Required Gates + +Run these for each implementation batch: + +```bash +git diff --check +wasm-port/tools/verify_vendor_sync.sh +wasm-port/tools/verify_no_standalone_cnc_semantics.sh +SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh +SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh +SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh +wasm-port/tests/ui/node/verify_ui_node_smokes.sh +wasm-port/tests/host/verify_host_smokes.sh +``` + +Run this if browser interpreter behavior is touched: + +```bash +SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh +``` + +Run these for native/source/staging or promotion work: + +```bash +wasm-port/tests/native/verify_nc_files.sh +wasm-port/tests/native/verify_sim_configs.sh +``` + +## Final Acceptance Checklist + +- [ ] Working tree is clean. +- [ ] Latest `text14.txt` record says the project is complete for current scope. +- [ ] `git diff --check` passes. +- [ ] Vendor sync guard passes. +- [ ] Standalone CNC semantics guard passes. +- [ ] Interpreter WASM Node smoke passes. +- [ ] Sim config WASM inventory has `unexpected_fail=0`. +- [ ] UI Node smoke passes. +- [ ] Browser INI panel smoke passes. +- [ ] Host aggregate smoke passes. +- [ ] Runtime blocked families remain documented. +- [ ] README/docs explain supported workflows and blocked items.