From bf7127cff366c03d1dfc5ac9dbc2b9315b1bfd46 Mon Sep 17 00:00:00 2001 From: veil-chow-fyaic <247294299+veil-chow-fyaic@users.noreply.github.com> Date: Wed, 2 Sep 2026 12:29:12 +0800 Subject: [PATCH] docs: record fresh real-effects attempt --- README.md | 10 ++- README.zh-CN.md | 4 +- ROADMAP.md | 3 +- docs/06-guides/m5-2-live-agent-scenario.md | 17 +++-- ...5-2-real-codex-event-pump-attempt-audit.md | 34 +++++---- ...26-09-02-m5-2-real-effects-live-attempt.md | 73 +++++++++++++++++++ .../2026-09-02-mainline-checkpoint.md | 36 ++++++--- docs/09-reviews/README.md | 1 + docs/10-planning/mainline-plan.md | 19 +++-- docs/10-planning/project-status.md | 14 +++- 10 files changed, 161 insertions(+), 50 deletions(-) create mode 100644 docs/09-reviews/2026-09-02-m5-2-real-effects-live-attempt.md diff --git a/README.md b/README.md index 2ebf98c..4997b97 100644 --- a/README.md +++ b/README.md @@ -143,12 +143,14 @@ The completed result is deliberately classified `state=blocked` and `liveProductEvidence=false`: that retained run used fixture-owned or simulated Git and verification effects. [#133](https://github.com/fyaic/threadmesh/pull/133) now binds the existing bounded Git worktrees and process-isolated child -verifier into that correlated path on `main`. Its fresh real Codex rerun is -pending after a reproducible local DNS/TLS endpoint failure; it has not been -upgraded into product evidence. The deterministic manual-accounting baseline, +verifier into that correlated path on `main`. A process-scoped, certificate- +verified local proxy restored normal Codex connectivity on 2026-09-02. The +fresh rerun reached real A publication and the reviewer admitted turn, then +failed closed on ambiguous context reconciliation with complete cleanup; it was +not upgraded into product evidence. The deterministic manual-accounting baseline, active-receiver checkpoint negative, and 76-second evidence walkthrough are now the public product proof. New harness, transport, and generalized protocol work -remains frozen until the live rerun, measured manual/live baseline, and three +remains frozen until a successful live rerun, measured manual/live baseline, and three external setup attempts close. [Read the exact fixture evidence](docs/09-reviews/2026-09-01-m5-2-autonomous-fixture.md) · diff --git a/README.zh-CN.md b/README.zh-CN.md index 4cb58a0..f9914b1 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -234,8 +234,8 @@ sandbox。不要用它处理任意恶意 peer 内容或充当生产安全边界 - 参考 runtime:authenticated JSON-RPC + SQLite coordinator,面向本地可信进程实验。 - 验证:384 项测试,加 55 个 schema case、7 个状态转换 case、文档检查;这些计数分别报告。 - 默认策略:除非 maintainer 明确选择有边界实验 profile,否则主动协调保持关闭。 -- 当前边界:第六次真实 Codex event-pump 已在一次 kickoff 后通过 9 个 native turn 完成 A→R→同一个 A→V→dependent,后续 runner phase prompt/direct activation 为 0,无关 session turn 为 0,清理 5/5;该次运行的 Git/verifier effect 是模拟的。真实 Git worktree 与 child verifier 已由 #133 合入同一路径,但组合后的新鲜 live 重跑仍受本机 DNS/TLS 故障阻塞。 -- 下一主线:在网络正常的 host 上保留一次真实 Codex real-effects 闭环,完成实测人工基线,并观察 3 位外部 operator 的 15 分钟上手过程。在这些产品证据前,继续冻结新 harness、transport 和泛化 protocol 扩展。 +- 当前边界:第六次真实 Codex event-pump 已在一次 kickoff 后通过 9 个 native turn 完成 A→R→同一个 A→V→dependent,后续 runner phase prompt/direct activation 为 0,无关 session turn 为 0,清理 5/5;该次运行的 Git/verifier effect 是模拟的。真实 Git worktree 与 child verifier 已由 #133 合入同一路径。2026-09-02 的进程级本地代理恢复了证书校验与 WebSocket 连接;新鲜 live 重跑到达真实 A 发布和 reviewer admitted turn,随后在 ambiguous context reconciliation 处保守失败,清理仍为 5/5。 +- 下一主线:修复或明确该 reconciliation blocker 后保留一次真实 Codex real-effects 闭环,完成实测人工基线,并观察 3 位外部 operator 的 15 分钟上手过程。在这些产品证据前,继续冻结新 harness、transport 和泛化 protocol 扩展。 [当前状态](docs/10-planning/project-status.md) · [路线图](ROADMAP.md) · [协议草案](spec/README.md) · [验证记录](docs/09-reviews/README.md) diff --git a/ROADMAP.md b/ROADMAP.md index 542385c..a8f9fb1 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -187,7 +187,8 @@ partial integration attempt is promoted to M5.2 evidence. verifier in the correlated event-pump implementation, with exact cleanup and no new coordinator or verifier subsystem. - [ ] Retain one successful live Codex traversal of that real-effects path; - current reruns are blocked by a reproducible local DNS/TLS endpoint error. + certificate-verified proxy connectivity is restored, but the latest rerun + failed closed at reviewer context reconciliation with complete cleanup. - [x] Add executable manual workflow accounting: one kickoff plus four checks plus four relays is a nine-action lower bound, versus one ThreadMesh kickoff. Keep elapsed time and tokens explicitly unmeasured. diff --git a/docs/06-guides/m5-2-live-agent-scenario.md b/docs/06-guides/m5-2-live-agent-scenario.md index fa61efe..cca3671 100644 --- a/docs/06-guides/m5-2-live-agent-scenario.md +++ b/docs/06-guides/m5-2-live-agent-scenario.md @@ -184,8 +184,8 @@ export THREADMESH_CODEX_COMMAND=/absolute/path/to/codex node scripts/run-m5-2-event-pump-gate.mjs --mode live --artifacts-dir /fresh/owned/directory ``` -Ten bounded attempts are retained. Attempts 1–6 cover the behavioral path; -attempts 7–10 exercise the real Git/child-verifier integration: +Eleven bounded attempts are retained. Attempts 1–6 cover the behavioral path; +attempts 7–11 exercise the real Git/child-verifier integration: | Attempt | Stop | Chain evidence | Cleanup evidence | |---|---|---|---| @@ -199,6 +199,7 @@ attempts 7–10 exercise the real Git/child-verifier integration: | 8 | R admitted turn ended after its detached-checkout read | Real A implementation plus one R read action | Complete role/verifier/Git/coordinator cleanup | | 9 | R decision turn was terminally reconciled | Real A implementation and R route selection | Complete role/verifier/Git/coordinator cleanup | | 10 | R admitted turn became ambiguous during a reproduced DNS/TLS endpoint failure | Real A implementation, R acceptance, and admission start | Complete role/verifier/Git/coordinator cleanup | +| 11 | Certificate-verified proxy connectivity passed; R admitted turn still reconciled ambiguously | Real A implementation commit/publication, one R dispatch, and reviewer admitted-turn partial progress | Complete 5/5 role, verifier, Git, coordinator, journal, and caller-owned empty-directory cleanup | [#126](https://github.com/fyaic/threadmesh/pull/126) and [#127](https://github.com/fyaic/threadmesh/pull/127) fixed the first two observed @@ -209,11 +210,13 @@ completed `state=blocked` gate result and the first real autonomous behavioral chain. The bounded Git-worktree and process-isolated child-verifier foundations are -now wired into this correlated path. The next checkpoint is one successful -live rerun after `codex doctor` no longer reports the current WebSocket -certificate failure, then the manual relay/polling baseline and minimum -critical negative/restart evidence. Until those gates pass, the correct public -result remains `state=blocked` and `liveProductEvidence=false`. +now wired into this correlated path. Process-scoped proxy configuration restored +certificate-verified Codex HTTP and WebSocket connectivity for attempt 11, so +DNS/TLS is no longer the immediate blocker. The next checkpoint is a bounded +partial-stage manifest and correction for the reviewer reconciliation failure, +then one successful live rerun, the manual relay/polling baseline, and minimum +critical negative/restart evidence. Until those gates pass, no product pass is +claimed. See the [bounded attempt audit](../09-reviews/2026-09-01-m5-2-real-codex-event-pump-attempt-audit.md) and [real behavior record](../09-reviews/2026-09-01-m5-2-real-codex-event-pump-behavior.md). diff --git a/docs/09-reviews/2026-09-01-m5-2-real-codex-event-pump-attempt-audit.md b/docs/09-reviews/2026-09-01-m5-2-real-codex-event-pump-attempt-audit.md index a8b6bbd..759515e 100644 --- a/docs/09-reviews/2026-09-01-m5-2-real-codex-event-pump-attempt-audit.md +++ b/docs/09-reviews/2026-09-01-m5-2-real-codex-event-pump-attempt-audit.md @@ -1,16 +1,16 @@ # M5.2 real Codex event-pump attempt audit -Date: 2026-09-01 +Updated: 2026-09-02 Latest completed behavioral `main`: `f98c56b83057b43f8b9618d6f69e1b2f481f77bd` -Latest real-effects integration attempt: `1845d86` +Latest fresh real-effects integration attempt: `53df406` -Subsequent merged integration: [#133](https://github.com/fyaic/threadmesh/pull/133) -at `5ec7b19`; no later live attempt is claimed +Merged integration: [#133](https://github.com/fyaic/threadmesh/pull/133) at +`5ec7b19` -Classification: ten live attempts; attempt 6 completed the real autonomous -behavioral chain, while attempts 7–10 exercised the real Git/child-verifier +Classification: eleven live attempts; attempt 6 completed the real autonomous +behavioral chain, while attempts 7–11 exercised the real Git/child-verifier integration without completing its end-to-end product gate ## Why this record exists @@ -23,7 +23,7 @@ paused run into product evidence. This is a bounded operator audit record, not a canonical machine-verifiable attempt bundle. The live failure CLI retained exact cleanup projection but did -not yet emit SQLite-derived partial-stage manifests for attempts 7–10. Their +not yet emit SQLite-derived partial-stage manifests for attempts 7–11. Their partial-progress rows therefore remain descriptive and cannot close a gate. ## Attempt ledger @@ -40,6 +40,7 @@ partial-progress rows therefore remain descriptive and cannot close a gate. | 8 | Real-effects R admitted turn ended after one completed detached-checkout read | Real A commit/publication and one R read action | Partial through `A -> R detached checkout read` | Same complete 5/5, verifier, Git, coordinator, and journal cleanup | | 9 | R receiver-decision turn was terminally reconciled | Real A commit/publication and autonomous R route selection | Partial through `A -> R decision start` | Same complete 5/5, verifier, Git, coordinator, and journal cleanup | | 10 | R accepted, then its admitted turn became ambiguous during a machine-observed DNS/TLS failure | Real A commit/publication, R acceptance, and R admission start | Partial through `A -> R admission start` | Same complete 5/5, verifier, Git, coordinator, and journal cleanup | +| 11 | Process-scoped proxy restored certificate-verified HTTP/WebSocket connectivity; R admitted turn still failed `threadmesh_codex_live_context_reconciliation_ambiguous` | Five registered tasks; real A implementation publication and Git evidence; one R dispatch; pre-cleanup operator counts were 3 turn intents and 4 tool actions | Partial through the R admitted turn; no reviewer completion, verifier, dependent, finalization, satisfaction, or cursor commit is claimed | Terminal projection reported 5/5 deletion and absence checks, coordinator removal, and zero journals; verifier/Git cleanup completed and the exact empty caller directory was removed | The fixes in #126 and #127 do not retroactively change the evidence class of attempts 1 or 2. Attempt 3 is bootstrap and cleanup evidence only. Attempt 4 @@ -50,13 +51,18 @@ attempts produced a completed `state=blocked` event-pump gate result. Attempt 6 did. It is the first retained real behavioral pass of the autonomous chain, not an M5.2 completion claim. -Attempts 7–10 run the branch that replaces simulated Git and fixture-owned +Attempts 7–11 run the path that replaces simulated Git and fixture-owned signing with the existing bounded Git topology and child-owned verifier key. They establish partial real-effect execution and cleanup, not a completed real-effects chain. Attempt 10's Codex log recorded a certificate for `*.extern.facebook.com` while connecting to the ChatGPT Responses WebSocket; the system resolver and `curl` independently reproduced the wrong endpoint, and `codex doctor` reported the WebSocket failure. No TLS check was bypassed. +For attempt 11, supplying the already-configured local proxy only to the +validation process preserved TLS verification and made `codex doctor` pass both +HTTP reachability and WebSocket `101`. The run therefore moves the immediate +blocker from endpoint connectivity to reviewer context reconciliation. See the +[attempt record](2026-09-02-m5-2-real-effects-live-attempt.md). ## What the combined work established @@ -134,8 +140,10 @@ The bounded window correction in #131 closed that blocker without changing the reconciliation policy. The existing bounded Git worktree and child verifier are now wired into the -same correlated event-pump path. The next checkpoint is one successful live -rerun after the local DNS/TLS condition clears, followed by the manual -relay/polling baseline and minimum critical negative/restart case. Attempt 6 -remains the behavioral checkpoint; attempts 7–10 do not upgrade it into an -integrated product pass. Issue #91 and M5.2 remain open. +same correlated event-pump path. Attempt 11 restored certificate-verified +connectivity but exposed reviewer context reconciliation as the current direct +blocker. The next checkpoint is a bounded partial-stage projection, a correction +for that observed boundary, and one successful live rerun, followed by the +manual relay/polling baseline and minimum critical negative/restart case. +Attempt 6 remains the behavioral checkpoint; attempts 7–11 do not upgrade it +into an integrated product pass. Issue #91 and M5.2 remain open. diff --git a/docs/09-reviews/2026-09-02-m5-2-real-effects-live-attempt.md b/docs/09-reviews/2026-09-02-m5-2-real-effects-live-attempt.md new file mode 100644 index 0000000..ee43b77 --- /dev/null +++ b/docs/09-reviews/2026-09-02-m5-2-real-effects-live-attempt.md @@ -0,0 +1,73 @@ +# M5.2 fresh real-effects live attempt + +Date: 2026-09-02 + +Validated base: `53df4061bf5d0528489dd4748effd8b6b5bec7ec` + +Product: Codex CLI 0.145.0 through the logged-in App Server path + +Result: `failed` + +Code: `threadmesh_codex_live_context_reconciliation_ambiguous` + +## Connectivity boundary + +The initial direct path failed certificate-verifying connectivity after system +DNS returned unexpected non-provider addresses. macOS already had a local HTTP +and HTTPS proxy configured, but the Codex process had no proxy environment. + +The live command supplied that existing proxy only to the validation process. +`codex doctor --summary` then reported a successful Responses WebSocket `101` +and provider HTTP reachability. TLS verification remained enabled. No system +DNS, proxy, Tailscale, certificate, Codex version, or repository setting was +changed. + +## Progress established + +The run crossed product probe and five-role bootstrap, registered all five +tasks, and entered the autonomous real-effects chain. Before terminal cleanup, +read-only operator observations of the active SQLite state showed: + +| State | Count | +|---|---:| +| tasks | 5 | +| event-pump dispatches | 1 | +| turn intents | 3 | +| tool actions | 4 | +| lifecycle publications | 1 | +| Git evidence records | 1 | +| dependency finalizations | 0 | +| dependency satisfactions | 0 | +| attention cursor commits | 0 | + +These aggregates establish real A implementation publication and partial R +processing. They are an operator audit, not a machine-verifiable partial-stage +bundle; they do not prove a completed reviewer effect. The terminal projection +identified ambiguous context reconciliation during the reviewer admitted turn. +No verifier or dependent completion is claimed. + +## Cleanup + +The bounded terminal cleanup projection reported: + +- 5/5 created roles deleted; +- 5/5 role absence checks passed; +- coordinator removed; +- zero remaining journals. + +The verifier and Git fixture cleanup were part of the scenario cleanup path. +The caller-created artifacts directory was empty after the run and was removed +with an exact non-recursive directory removal. No live role or scenario process +remained. + +## Decision + +This is attempt 11 in the bounded audit. It proves that the earlier DNS/TLS +failure can be avoided without bypassing verification, but it does not close +M5.2 or issue #91. The immediate blocker is now reviewer admitted-turn +reconciliation and insufficient bounded partial-stage projection. + +Do not repeat the run blindly. First retain a public, SQLite-derived partial +manifest that exposes the exact phase, durable dispatch/action counts, bounded +reconciliation reason, and cleanup without raw prompts, receipts, paths, or +session identifiers. Then correct the observed boundary and run once. diff --git a/docs/09-reviews/2026-09-02-mainline-checkpoint.md b/docs/09-reviews/2026-09-02-mainline-checkpoint.md index 8a8dfb1..1d3330f 100644 --- a/docs/09-reviews/2026-09-02-mainline-checkpoint.md +++ b/docs/09-reviews/2026-09-02-mainline-checkpoint.md @@ -35,21 +35,33 @@ The following passed on the exact checkpoint commit: The 9-to-1 comparison remains modeled workflow accounting. Elapsed time and model tokens are not measured. -## Live-product preflight - -Codex CLI 0.145.0 remained authenticated and locally healthy. The Responses -WebSocket diagnostic timed out, system DNS returned unexpected non-provider -addresses for `chatgpt.com`, and a certificate-verifying HTTPS probe timed out -during the SSL connection. No DNS override, TLS bypass, live session creation, -or real Git-effect gate was attempted. - -This is an environment blocker, not positive or negative ThreadMesh product -evidence. The next live attempt begins only after normal DNS and certificate- -verified connectivity are restored. +## Live-product preflight and attempt + +Codex CLI 0.145.0 remained authenticated and locally healthy. The initial +Responses WebSocket diagnostic timed out, system DNS returned unexpected non- +provider addresses for `chatgpt.com`, and a direct certificate-verifying HTTPS +probe timed out. Read-only diagnosis found that macOS had a running local HTTP +and HTTPS proxy which was not present in the Codex process environment. + +Supplying that proxy only to the validation process preserved TLS verification +and produced a successful Codex doctor result: WebSocket `101 Switching +Protocols` and provider HTTP reachability. No system DNS, Tailscale, proxy, +certificate, or Codex-version setting was changed. + +A fresh real-effects run on `53df406` then created and registered all five +roles, published the real A implementation, and entered the reviewer admitted +turn. It failed closed as +`threadmesh_codex_live_context_reconciliation_ambiguous`. The bounded terminal +projection reported 5/5 role deletion and absence checks, coordinator removal, +and zero remaining journals. The exact empty caller-owned artifacts directory +was then removed. This is a failed partial attempt, not a product pass. See the +[attempt record](2026-09-02-m5-2-real-effects-live-attempt.md). ## Ordered next gates -1. One network-valid traversal of the merged real-effects Codex path. +1. Explain the reviewer reconciliation failure with a bounded partial-stage + manifest, correct the observed blocker, and retain one successful traversal + of the merged real-effects Codex path. 2. One same-condition manual/ThreadMesh comparison with action, elapsed, usage, interruption, duplicate-delivery, and cleanup measurements. 3. The complete M5.3 matrix: relevant 3/3, irrelevant, stale/unverified, diff --git a/docs/09-reviews/README.md b/docs/09-reviews/README.md index fe1c255..ac3fee9 100644 --- a/docs/09-reviews/README.md +++ b/docs/09-reviews/README.md @@ -30,6 +30,7 @@ not count as live-product or independent external-verifier evidence. ## Live attempt audits +- [Fresh real-effects attempt after proxy recovery](2026-09-02-m5-2-real-effects-live-attempt.md) - [2026-09-02 mainline and connectivity checkpoint](2026-09-02-mainline-checkpoint.md) - [M5.2 real Codex event-pump attempt audit](2026-09-01-m5-2-real-codex-event-pump-attempt-audit.md) - [Real Codex autonomous event-pump behavior](2026-09-01-m5-2-real-codex-event-pump-behavior.md) diff --git a/docs/10-planning/mainline-plan.md b/docs/10-planning/mainline-plan.md index 2adcb9f..ea17102 100644 --- a/docs/10-planning/mainline-plan.md +++ b/docs/10-planning/mainline-plan.md @@ -19,9 +19,13 @@ experiments are explicitly labeled and do not satisfy it. M5.2 remains the only implementation critical path. The behavioral question is answered by the completed sixth Codex run. The bounded Git effects and existing -process-isolated child verifier are integrated on `main` by #133. The active -checkpoint is now a successful network-valid traversal of that merged path, -followed by measured baseline and external first-run evidence. +process-isolated child verifier are integrated on `main` by #133. A process- +scoped local proxy restored certificate-verified HTTP and WebSocket connectivity +on 2026-09-02. The fresh merged-path run reached real A publication and the R +admitted turn, then failed closed on ambiguous context reconciliation with exact +five-role cleanup. The active checkpoint is now that observed R-turn blocker, +followed by a successful traversal, measured baseline, and external first-run +evidence. The older product canary proved real multi-tool turns, same-A reuse, a bounded Git chain, controls, and cleanup, but its four prompts were runner-submitted. @@ -44,10 +48,11 @@ Execute in this order: 1. Treat the real behavioral chain as passed and retain its exact evidence; do not rerun it merely to polish counts or prose. -2. Retain one successful live rerun of the now-integrated bounded Git and child - verifier path. Wait for the currently reproducible local DNS/TLS endpoint - failure to clear; do not bypass certificate validation or redesign the - protocol around it. +2. Diagnose the fresh reviewer admitted-turn reconciliation failure from + bounded product/coordinator evidence, retain a public partial-stage manifest, + and rerun the integrated bounded Git and child-verifier path once. Keep the + process-scoped proxy, certificate validation, product version, and exact + cleanup boundary unchanged. 3. Retain the measured manual/live baseline. The executable demo already reports a nine-action manual lower bound versus one kickoff, but elapsed time and tokens remain explicitly unmeasured. diff --git a/docs/10-planning/project-status.md b/docs/10-planning/project-status.md index 4e0d72e..0cd9e4e 100644 --- a/docs/10-planning/project-status.md +++ b/docs/10-planning/project-status.md @@ -313,10 +313,16 @@ silently combined with that earlier run. The 2026-09-02 mainline check retained a clean deterministic regression: 384/384 unit and subtests, 55 schema cases, 7 transition cases, 112 Markdown -files with zero lint issues, and a passing one-command demo. A certificate- -verifying endpoint probe still timed out after system DNS returned unexpected -non-provider addresses, so no live session or Git-effect run was started. See -the [checkpoint record](../09-reviews/2026-09-02-mainline-checkpoint.md). +files with zero lint issues, and a passing one-command demo. Initial direct +connectivity failed after system DNS returned unexpected non-provider +addresses. A process-scoped local proxy then restored certificate-verified +HTTP and WebSocket connectivity without changing system DNS or Codex version. +The fresh real-effects run reached real A publication and the R admitted turn, +then failed `threadmesh_codex_live_context_reconciliation_ambiguous`. Cleanup +deleted and absence-confirmed 5/5 roles, removed the coordinator, left zero +journals, and removed the caller-owned empty artifacts directory. See the +[checkpoint](../09-reviews/2026-09-02-mainline-checkpoint.md) and +[attempt record](../09-reviews/2026-09-02-m5-2-real-effects-live-attempt.md). Community reports are now grouped into three public product backlogs rather than one issue per upstream symptom: correlated handoff state