Skip to content

fix(workspace): serialize concurrent process artifact recording - #64

Open
BigDataDZ wants to merge 9 commits into
xiaour:mainfrom
BigDataDZ:codex/oct24-process-recorder-concurrency
Open

BigDataDZ wants to merge 9 commits into
xiaour:mainfrom
BigDataDZ:codex/oct24-process-recorder-concurrency

Conversation

@BigDataDZ

@BigDataDZ BigDataDZ commented Oct 24, 2026 •

Copy link
Copy Markdown
Collaborator

Overlapping calls to an async process-artifact recorder all checked its count and drafted lineage before awaiting persistence. They could exceed maxSteps, publish artifact IDs/events out of arrival order and omit their preceding artifact from lineage.

Queue writes within each recorder so the cap and preceding artifact are evaluated after the prior operation settles. Failed and non-tabular steps still return null without consuming the cap, and a failure leaves the queue usable. Extract unchanged draft construction into processArtifactDraft.js, retaining all original exports. The recorder module shrinks from 198 to 89 lines, below its 173-line baseline.

Three new regressions failed before the fix. Tests use real file-backed SQLite and WorkspaceService with a gated first write to exercise concurrent cap enforcement, ordered lineage/events and recovery after a rejected write. Focused 7/7; full suite 737 passed, 15 skipped, 0 failed; eval fixtures 14/14 (two judge results pending). Independent review approved. Architecture errors reduced 34 to 33 with no upward baselines. Includes validated prerequisites through #62. Native MySQL persistence acceptance, PostgreSQL/browser acceptance and both Docker configurations passed in CI. The online unit step passed; the job remains red at the existing architecture guard and the online eval step is skipped. Combined with #63: 740 passed, 15 skipped, 0 failed; architecture errors reduced to 32.

本次邮件/审阅反馈核查后的更新:已合入当前main e19d784,解决上游合并#49–#54后产生的config/size-baseline.json冲突。冲突处理逐项取较低值,未提高任何已有基线;业务代码由Git自动合入。
当前head:ee8228a33a58b22783dac3aef368e07f430bbe31。本地定向验证:ℹ tests 44; ℹ pass 42; ℹ fail 0; ℹ skipped 2。跳过项未计为通过。远端CI已重新触发,结果以最新Checks为准,规模门禁尚未宣称全绿。

已再次对齐新发布的main5385ed3(V1.2.0/#76)。逐项保留较低基线,并修复上游基线JSON漏逗号(独立修复#77);未提高已有数值。当前head:44bd4155903f6724aa588367a035a81d144049f8。本地定向验证:ℹ tests 27; ℹ pass 26; ℹ fail 0; ℹ skipped 1。跳过项未计为通过。
新主分支全量诊断本身有5个失败;此前零失败结果不再代表当前上游。完整CI以最新Checks为准,未宣称全绿。

BigDataDZ added a commit to BigDataDZ/yolo-data that referenced this pull request Oct 26, 2026
BigDataDZ added a commit to BigDataDZ/yolo-data that referenced this pull request Oct 26, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant