203 lines
13 KiB
Markdown
203 lines
13 KiB
Markdown
# Codex Restart Handoff
|
|
|
|
## 2026-09-19 增量巡检已启用
|
|
|
|
用户已授权开始处理输入变化和具体新故障。现有单一服务每 10 分钟
|
|
核对烟测输入与新故障,未变不执行;同输入失败不循环重试。首轮
|
|
68 组未变、新故障 0、重复烟测 0。实现及接续见 `CHANGE_WATCH_20260919.md`。
|
|
下方“没有正在执行的任务”是此前烟测收口状态;现在定时巡检已经启用。
|
|
|
|
|
|
## Latest resumable smoke completion — 2026-09-19
|
|
|
|
The user again authorized comprehensive, non-repeating, resumable smoke after
|
|
migration completion. Read `comprehensive-smoke-20260918/RESUME_20260919.md`.
|
|
All 68 groups pass, covering all 250 declared business IDs plus 3 integration IDs.
|
|
The previously omitted 12 Web desktop-command cases are now included. Their old
|
|
Box dimensions setup was corrected; product sources were not modified this round.
|
|
Final full resume returned 68 reused groups and executed no business cases.
|
|
Run `python3 tools/run_web_module_smoke_once.py` to resume changed/unfinished inputs;
|
|
never start migration again or infer missing functionality from absent test cases.
|
|
No pending smoke item remains. Earlier 67-group notes are historical.
|
|
|
|
|
|
## Latest smoke repair closure — 2026-09-18
|
|
|
|
This section supersedes the historical validation pause below. The user confirmed
|
|
migration complete, authorized comprehensive resumable smoke, and explicitly
|
|
requested repair of its original 10 unsuccessful groups. All 10 are now closed;
|
|
67 groups have cumulative pass evidence. Preserve the migration baseline.
|
|
Read `comprehensive-smoke-20260918/README.md` and `repair-completion.json` first.
|
|
Part 48/48, PartDesign 47/47, Sketcher 24/24 original IDs retained. Only repaired
|
|
and affected paths were rerun; historical fingerprints/dates were not relabeled
|
|
as current final-binary certification. No unresolved task remains in this scope.
|
|
Use `python3 tools/show_web_module_smoke_progress.py --json` for current status.
|
|
Do not restart full migration or repeat unchanged tests. The scheduler can remain
|
|
waiting for concrete new defects; old development cycle counts are not smoke work.
|
|
|
|
|
|
## Highest-priority stage update — 2026-09-18 13:45 Asia/Shanghai
|
|
|
|
User now explicitly requests missing desktop functionality and panels first,
|
|
direct reuse of completed work, and arranging verification only after ALL
|
|
functionality is implemented. Automated acceptance, test writing, regression,
|
|
browser verification and model maintenance are paused. Necessary incremental
|
|
compile/link/asset sync and compiler-error repair remain allowed. Existing
|
|
watchdog, heartbeat and per-round reports remain active.
|
|
|
|
Policy: `implementation-only-user-validation`, automaticValidation=false,
|
|
automaticMaintenance=false. The old acceptance-driven turn was drained and the
|
|
watchdog started implementation cycle 9482 (Web). Do not resume old validation
|
|
instructions below. Read the newest top section of WEB_BUSINESS_MIGRATION_RULES
|
|
and the execution plan. Keep all historical evidence and requirements intact;
|
|
reuse completed implementation, never turn stale verification into new work.
|
|
|
|
## Latest user iron rule — 2026-09-18 anti-drift and reuse
|
|
|
|
The user explicitly required “你多次跑偏了,要保证不要再跑偏了” to be written into
|
|
the iron rules. It is at the top of `docs/WEB_BUSINESS_MIGRATION_RULES.md`.
|
|
Continue desktop FreeCAD functionality AND panels in the primary Web UI, reuse
|
|
completed work and finish user workflows. Do not substitute more planning,
|
|
monitoring, repeat acceptance or partial counts for delivery.
|
|
|
|
The repeated-work audit and tested fixes are recorded in
|
|
`repetition-audit-20260918/README.md`. Work packets now include
|
|
`retainedBusinessResults` from hash-verified selected evidence (historical,
|
|
not automatically current passing proof). Begin from that remaining work.
|
|
Pure valid evidence reuse precedes historical execution deferral; changed old
|
|
inputs remain deferred. Maintenance skips completed batches without new faults.
|
|
Original scope, IFC semantics, assertions and acceptance ledger are preserved.
|
|
|
|
|
|
## Latest direction — 2026-09-18 desktop functionality and integrated UI
|
|
|
|
Read `DESKTOP_WEB_DELIVERY_PLAN_20260918.md` and `DESKTOP_WEB_UI_CONTRACT.md` first.
|
|
The user reiterated full desktop-to-Web functionality/UI and maximum reuse of
|
|
completed work. Original 1508 IDs and historical evidence remain; three newly
|
|
specified UI integration requirements bring scope to 1511. Policy now prioritizes
|
|
integrating the existing primary workspace, real cross-workbench document editing,
|
|
and native task interactions, with bounded rotation across modules and unfinished
|
|
packages. Known implementation gaps precede case-only work. API/inventory routes
|
|
must not displace usable user workflows. Existing native owners, workspaces,
|
|
components, adapters, storage and artifacts are the starting point.
|
|
|
|
The live service continued into cycle 9413, Web primary-workspace integration,
|
|
after this review. Inspect current status before editing. Preserve the background
|
|
agent's ongoing UI changes. Do not start another scheduler. The previous dated
|
|
Section Cut entries below are historical, not the current global work order.
|
|
|
|
|
|
## Continuation update — 2026-09-17 21:09 Asia/Shanghai
|
|
|
|
The latest local continuation is `part-section-cut-recovery-checkpoint.md` (13:08 UTC entry). It supersedes the older Section Cut pending list below. New increments: empty-session Apply state; native intersecting BooleanFragments mode; source-placement link correction; whole-result surface transparency; preflight preventing out-of-bounds apply/source-removal from discarding redo. Focused native/browser results and screenshots are recorded there. The complete command remains `not_implemented`; automatic cut-face color mapping and independent face/fragment transparency remain unfinished.
|
|
|
|
Current Section Cut acceptance export runs `runSectionCutOpacityCases`. Previous legacy, empty-source and fragments helpers/evidence are retained and deferred. TypeScript, geometry boundary, focused native build, assets and production Vite build completed. The geometry audit display-owner omission for PartDesign face colors and its stale renderer-count assertion were fixed, without weakening procedural geometry rejection.
|
|
|
|
The existing service was briefly frozen for isolated shared builds/evidence and was thawed afterward. It continued into Sketcher work after the primitive cycles; inspect current status before editing. Do not start another daemon or overwrite the background Sketcher/three-point-circle changes. No IFC or unrelated historical gate was rerun.
|
|
|
|
|
|
Saved 2026-09-17 20:06 Asia/Shanghai (12:06 UTC) at the user's request before
|
|
restarting Codex. This is a continuation checkpoint, not a completion report.
|
|
|
|
## User Direction
|
|
|
|
Continue unattended implementation of the Desktop FreeCAD to Web FreeCAD
|
|
business scope: 1507 original requirements plus supplemental IFC semantic export.
|
|
Prioritize real missing functionality, then missing executable coverage. Use
|
|
local sources and materials. Do not repeat previously completed verification,
|
|
refresh stale passing evidence, or rerun IFC just to update timestamps. Keep
|
|
original requirements and historical evidence. Partial assertions do not imply
|
|
a whole requirement passes. No additional permission is needed for this work.
|
|
|
|
## Live Service At Save Time
|
|
|
|
- Repository: `/home/mes123456/FreeCADWasmDev/working/FreeCAD`.
|
|
- Existing user service: `freecad-web-acceptance.service`; active, running and
|
|
unfrozen. Main PID 3460941. It was left running; no second scheduler was started.
|
|
- Cycle 9358, child PID 1014561, module Part, batch
|
|
`4aa3ea5e85f9c4b3e4412ba2`, status `codex_turn_running`.
|
|
- Heartbeat at 12:06:27 UTC. The child announced it is implementing circle from
|
|
three points using native geometry and focused native/browser cases.
|
|
- Last observed command read `part-document-facade.ts` for circle parameter
|
|
calculation. Log: `docs/current/continuation-runs/cycle-009358.log`.
|
|
- These are observations, not guaranteed future state. On restart inspect
|
|
`docs/current/freecad-web-scheduler-status.json` and the current log before
|
|
editing. The live cycle may have advanced or completed the named gap.
|
|
- Existing local application: `http://127.0.0.1:5180/workbench.html`.
|
|
|
|
## Completed Recent Increments
|
|
|
|
Read the newest checkpoint first; older pending lists can be stale.
|
|
|
|
1. `PART_CYLINDER_SKEW_PROGRESS.md`: X/Y cylinder skew controls, native geometry,
|
|
old three-parameter compatibility and expression-conflict atomic rollback.
|
|
Nine new scenario groups completed in 14.156 s. Evidence:
|
|
`business-evidence/13fb362e5bcf598a7f1f90a6-20260917T110758963286.json`.
|
|
2. `PART_PRIMITIVES_PROJECTION_PROGRESS.md`, 10:51 UTC continuation: active Part
|
|
membership and nested-container world display, App::Link snapshot geometry
|
|
and linked projection selectors. Primitive and projection whole commands
|
|
remain incomplete. Preserve all background changes.
|
|
3. `PART_PRIMITIVE_PLACEMENT_PROGRESS.md`: position and arbitrary axis rotation,
|
|
atomic dimension/placement history, FCStd restoration and expression-conflict
|
|
rollback. Eight new groups, 18.523 s; evidence suffix `20260917T101840425546`.
|
|
4. `PART_HELIX_SPIRAL_PROGRESS.md`: native Helix/Spiral, handedness, geometry and
|
|
persistence; repaired line sampling that skipped whole spiral turns.
|
|
All sixteen primitive types are exposed, including earlier Wedge and the
|
|
six types in `PART_ADDITIONAL_PRIMITIVES_PROGRESS.md`. Do not recreate them.
|
|
5. Recent unattended cycles 9350-9353 changed Section Cut color display and
|
|
persistence assertions, and Sketcher response validation. At the 19:31 check
|
|
these commands still had remaining semantic workflows. Consult the current
|
|
`part-section-cut-recovery-checkpoint.md` and
|
|
`sketcher-bd4cea80c7070606e9a37648-checkpoint.md` rather than assuming passes.
|
|
|
|
All listed primitive increments intentionally retained `not_implemented` for
|
|
the complete Part_Primitives command. No increase in accepted requirement count
|
|
was claimed from their scenario-group totals.
|
|
|
|
## Remaining Work And Efficiency
|
|
|
|
- At the last primitive checkpoint: three-point circle interaction (now being
|
|
handled by the live service), desktop location picking, expression binding UI,
|
|
and live preview/accept/reject transaction lifecycle.
|
|
- Projection: preview transaction lifecycle and viewport subelement selection.
|
|
- Section Cut and Sketcher: see their latest checkpoint and current evidence.
|
|
- Overall 1508 requirements and full IFC semantics remain unfinished; do not
|
|
quote historical coverage counts as a freshly reconciled current total.
|
|
- At the 19:31 health inspection the service had real code changes, but scoped
|
|
search rejections and source-reader budget exhaustion were still interrupting
|
|
progress. A live heartbeat alone is not evidence of useful delivery. Inspect
|
|
actual mutations and semantic results before reporting normal progress.
|
|
- Preserve the policy in `docs/current/execution-policy.json`: continuous
|
|
development, prioritize gaps, defer previously passed verification.
|
|
- Do not invoke old primitive helpers unchanged. Keep their evidence and add
|
|
focused cases for the newly implemented behavior. Formal runner:
|
|
`python3 tools/run_business_acceptance.py --module Part --ids Part:desktop:Part_Primitives --reuse`.
|
|
Verify which helper is currently exported by `part-primitive-business-cases.mjs`
|
|
because the live service may have advanced it after this handoff.
|
|
|
|
## Operational Notes
|
|
|
|
- The worktree contains extensive existing user/background changes. Do not
|
|
reset or revert them. Avoid an unscoped outer git status/diff; the outer .git
|
|
points into `freecad-source/.git`. Use narrow native paths for diff checks.
|
|
- Coordinate shared source/build/evidence writes with the existing service.
|
|
Never freeze a service that owns the build lock and then wait for that lock.
|
|
A freeze can race with a build start: check again after freezing. Let any
|
|
existing writer finish before acquiring the lock. Thaw after isolated work
|
|
and verify actual new activity. Do not start a duplicate unattended daemon.
|
|
- Native build uses `tools/web_build_lock.py`, target FreeCADWebDocumentProbe,
|
|
EM_CONFIG=`/home/mes123456/FreeCADWasmDev/working/FreeCAD/tools/emscripten-writable-config.py`,
|
|
EM_CACHE=`/tmp/freecad-p6-emcache`. Sync with `node tools/sync-assets.mjs` after
|
|
build, then production Vite build with FREECAD_WEB_FAST_LINK=ON if needed.
|
|
- TypeScript: `web/node_modules/.bin/tsc --noEmit -p web/tsconfig.json`.
|
|
- Native inline probes must terminate PThread workers. Browser uses existing
|
|
Playwright helper and `/usr/bin/google-chrome`.
|
|
- For new scene work, check desktop/mobile screenshots, actual geometry/pixels
|
|
and orbit movement. The geometry canvas is under an aria-labeled div, not a
|
|
region. Preserve atomic rollback, native types and real saved-document edits.
|
|
- No subagents were spawned. Follow the current session's delegation rules.
|
|
|
|
Restart action: read this handoff, inspect live status and the newest checkpoint
|
|
for its active batch, then continue an unclaimed gap without duplicating the
|
|
currently running implementation or completed acceptance work.
|