Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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) ·
Expand Down
4 changes: 2 additions & 2 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
3 changes: 2 additions & 1 deletion ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
17 changes: 10 additions & 7 deletions docs/06-guides/m5-2-live-agent-scenario.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
|---|---|---|---|
Expand All @@ -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
Expand All @@ -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).
Expand Down
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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

Expand Down Expand Up @@ -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.
73 changes: 73 additions & 0 deletions docs/09-reviews/2026-09-02-m5-2-real-effects-live-attempt.md
Original file line number Diff line number Diff line change
@@ -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.
36 changes: 24 additions & 12 deletions docs/09-reviews/2026-09-02-mainline-checkpoint.md
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
1 change: 1 addition & 0 deletions docs/09-reviews/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
Loading
Loading