From 826b29ec4009450b57c8749fe01e7b368216622d 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:03:22 +0800 Subject: [PATCH] docs: align mainline with community reliability signals --- README.md | 13 ++-- README.zh-CN.md | 7 +- ROADMAP.md | 9 +++ docs/07-research/community-signals.md | 39 +++++++--- .../2026-09-02-mainline-checkpoint.md | 72 +++++++++++++++++++ docs/09-reviews/README.md | 1 + docs/10-planning/mainline-plan.md | 23 +++--- .../product-mainline-2026-08-28.md | 24 ++++--- docs/10-planning/project-status.md | 34 ++++++--- 9 files changed, 178 insertions(+), 44 deletions(-) create mode 100644 docs/09-reviews/2026-09-02-mainline-checkpoint.md diff --git a/README.md b/README.md index 586963c..2ebf98c 100644 --- a/README.md +++ b/README.md @@ -148,7 +148,8 @@ pending after a reproducible local DNS/TLS endpoint failure; it has not been 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 and three external setup attempts close. +remains frozen until the 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) · [Read the real Codex behavior](docs/09-reviews/2026-09-01-m5-2-real-codex-event-pump-behavior.md) · @@ -172,11 +173,11 @@ npm ci npm run demo ``` -This deterministic demo creates four isolated sessions and runs an -implementation → review → fix → review → dependent-task sequence. It exposes -the event, routing reason, receiver decision, external verification, -dependency effect, and cleanup state without spending model quota or touching -your agent sessions. +This deterministic demo creates four workflow sessions plus one isolated +active-receiver safety task. It runs an implementation → review → fix → review +→ dependent-task sequence and exposes the event, routing reason, receiver +decision, fixture-signed verified disposition, dependency effect, and cleanup +state without spending model quota or touching your agent sessions. [Read the attention-router demo guide](docs/06-guides/attention-router-demo.md) diff --git a/README.zh-CN.md b/README.zh-CN.md index fb09600..4cb58a0 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -110,9 +110,10 @@ npm ci npm run demo ``` -这个确定性案例会创建四个隔离 session,并执行“实现 → 评审 → 修复 → 再评审 → -解锁下游任务”的完整链路。输出会分别展示事件、路由理由、接收方决定、外部验证、 -依赖效果与清理状态;它不消耗模型额度,也不触碰你的真实 Agent session。 +这个确定性案例会创建四个工作流 session,加一个隔离的活跃接收方安全任务,并执行 +“实现 → 评审 → 修复 → 再评审 → 解锁下游任务”的完整链路。输出会分别展示事件、 +路由理由、接收方决定、fixture 签名的验证 disposition、依赖效果与清理状态;它不 +消耗模型额度,也不触碰你的真实 Agent session。 [查看 attention-router 演示指南](docs/06-guides/attention-router-demo.md) diff --git a/ROADMAP.md b/ROADMAP.md index 8a4e38b..542385c 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -199,6 +199,12 @@ partial integration attempt is promoted to M5.2 evidence. output. - [ ] M5.3: pass three fresh relevant runs plus the manual baseline, irrelevant, stale/unverified, restart, and cleanup matrix. +- [ ] Add one bounded, read-only correlated handoff state vector after the + current live-value gate, without adding a scheduler or transport + ([#135](https://github.com/fyaic/threadmesh/issues/135)). +- [ ] Prove a real busy receiver is not silently steered and preserve admitted + context across restart/compaction through a durable attention inbox + ([#136](https://github.com/fyaic/threadmesh/issues/136)). - [ ] Repeat the loop across Codex and one ACP-compatible harness ([#93](https://github.com/fyaic/threadmesh/issues/93)). - [x] Publish the bounded inspector and reproducible deterministic evidence @@ -227,6 +233,9 @@ incorrect dependency unlocks. - [ ] Prototype a Cotal transport bridge only after the local loop passes. - [ ] Receive one external connector contribution or equivalent clean-room integration. +- [ ] After #91 and #93 each have real evidence, add durable workflow budgets, + recursive stop, and an owner-visible circuit breaker + ([#137](https://github.com/fyaic/threadmesh/issues/137)). Exit: an operator outside the maintainer organization completes a useful loop without maintainer intervention, and the integration contract is ready for a diff --git a/docs/07-research/community-signals.md b/docs/07-research/community-signals.md index c78491d..9defc7e 100644 --- a/docs/07-research/community-signals.md +++ b/docs/07-research/community-signals.md @@ -1,9 +1,26 @@ # Community signals around cross-task agent coordination -> Research snapshot: 2026-09-01. GitHub issues are community reports unless an +> Research snapshot: 2026-09-02. GitHub issues are community reports unless an > OpenAI contributor explicitly confirms product status. They are evidence of > demand and failure modes, not a stable API contract. +## 2026-09-02 reliability and operator-control update + +New reports sharpen three product requirements beyond transport: + +| Requirement | Community reports | ThreadMesh decision | +|---|---|---| +| Correlated, complete handoff state | Codex [#29886](https://github.com/openai/codex/issues/29886), [#40397](https://github.com/openai/codex/issues/40397), [#41964](https://github.com/openai/codex/issues/41964), [#41972](https://github.com/openai/codex/issues/41972), [#42074](https://github.com/openai/codex/issues/42074) | Track one bounded state vector in [#135](https://github.com/fyaic/threadmesh/issues/135); do not require another model turn to learn delivery state. | +| Durable, non-interrupting attention with fresh context | Codex [#30499](https://github.com/openai/codex/issues/30499), [#41995](https://github.com/openai/codex/issues/41995), [#42131](https://github.com/openai/codex/issues/42131) | Track real busy-target and context-epoch behavior in [#136](https://github.com/fyaic/threadmesh/issues/136); queue/checkpoint remains the default. | +| Hard autonomy limits and recursive stop | Codex [#35177](https://github.com/openai/codex/issues/35177), [#40037](https://github.com/openai/codex/issues/40037), [#42032](https://github.com/openai/codex/issues/42032), [#42080](https://github.com/openai/codex/issues/42080), [#42182](https://github.com/openai/codex/issues/42182) | Track workflow-level budgets and circuit breakers in [#137](https://github.com/fyaic/threadmesh/issues/137), but freeze implementation until real Codex and cross-harness value is established. | + +The reports validate ThreadMesh's attention/admission thesis, but they do not +authorize a project orchestrator. Project-level contractor mode, Codex writer +takeover, UI persistence fixes, model routing, and a new scheduler remain +upstream concerns or explicit non-goals. ThreadMesh should expose typed +detect/defer/fail-closed behavior at those boundaries instead of replacing the +harness. + ## 2026-09-01 delivery-mode update The most useful new distinction is no longer whether Codex can retain queued @@ -53,15 +70,17 @@ to: ### Community and adoption reality -At this snapshot, ThreadMesh has no external stars, forks, watchers, issue -comments, or independent review records. Before this roadmap update, its two -open issues were the external M0 review gate -[#7](https://github.com/fyaic/threadmesh/issues/7) and independent -harness-author feedback [#79](https://github.com/fyaic/threadmesh/issues/79). -The new M5 issues [#89](https://github.com/fyaic/threadmesh/issues/89)– -[#93](https://github.com/fyaic/threadmesh/issues/93) are maintainer planning, -not community adoption. Repository clone traffic is not treated as adoption -because CI, dependency bots, and maintainer validation can dominate it. +At this snapshot, ThreadMesh has one star, zero forks, zero external issue +comments, and no independent review or setup record. The star is a positive +discovery hint, not evidence that an operator reached value. Open product and +review work remains maintainer-defined: external M0 review +[#7](https://github.com/fyaic/threadmesh/issues/7), independent operator +feedback [#79](https://github.com/fyaic/threadmesh/issues/79), the Codex and +cross-harness gates [#91](https://github.com/fyaic/threadmesh/issues/91) and +[#93](https://github.com/fyaic/threadmesh/issues/93), plus the three grouped +community backlogs #135–#137. Repository clone traffic is not treated as +adoption because CI, dependency bots, and maintainer validation can dominate +it. This is neither product rejection nor validation: the repository was created only eight days earlier, but there is currently no evidence that an external diff --git a/docs/09-reviews/2026-09-02-mainline-checkpoint.md b/docs/09-reviews/2026-09-02-mainline-checkpoint.md new file mode 100644 index 0000000..8a8dfb1 --- /dev/null +++ b/docs/09-reviews/2026-09-02-mainline-checkpoint.md @@ -0,0 +1,72 @@ +# 2026-09-02 mainline checkpoint + +## Decision + +The mainline remains the real Codex implementation → review → same-A fix → +verification → dependent loop in issue #91. The repository is not currently +implementation-blocked; it is live-evidence and adoption-blocked. No new +transport, scheduler, harness, or general orchestration subsystem enters the +critical path. + +## Repository state + +- branch: `main`, clean and synchronized with `origin/main`; +- commit: `0c7165ead39499497827737c17e94e95f0f3286b`; +- latest product work: real-effects integration #133 and product-proof update + #134; +- public discovery: one star, zero forks, and no external operator report; +- open pull requests: Dependabot maintenance only. + +## Local evidence retained + +The following passed on the exact checkpoint commit: + +- 384/384 unit and subtests; +- 55 schema cases and 7 transition cases; +- 112 Markdown files with zero lint issues; +- focused autonomous real-effects scenario: 9/9; +- one-command attention-router demo: `state=passed`; +- modeled manual lower bound: 9 user actions; +- ThreadMesh demo path: 1 kickoff, 0 relay actions, 0 status checks; +- active receiver remains `running` with a pending `checkpoint-offer`, 0 steer, + 0 interrupt, and 0 native-turn starts; +- dropped wake hints reconcile 4/4 and cleanup is complete. + +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. + +## Ordered next gates + +1. One network-valid 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, + restart/replay, and failure cleanup. +4. Close #91 only after its canonical checklist passes. +5. Observe three independent 15-minute operators for #79. +6. Prioritize #135 and #136 from observed friction; keep #137 frozen until #91 + and #93 have real evidence. + +## Community backlog decision + +Community reports were grouped by user-visible failure mode rather than copied +one-for-one into the repository: + +- #135: correlated handoff receipt and complete attention state; +- #136: durable non-interrupting attention plus context freshness; +- #137: owner-visible autonomous-chain budgets and circuit breakers. + +These issues deliberately exclude project orchestration, model routing, Codex +writer takeover, UI bug fixes, hosted control planes, and new event buses. diff --git a/docs/09-reviews/README.md b/docs/09-reviews/README.md index 9f96fe1..fe1c255 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 +- [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 7fbddd6..2adcb9f 100644 --- a/docs/10-planning/mainline-plan.md +++ b/docs/10-planning/mainline-plan.md @@ -15,7 +15,7 @@ inspector, and an independently repeated implementation/review/fix loop. Normative M0 review remains a parallel governance track. Maintainer-authorized experiments are explicitly labeled and do not satisfy it. -## Active critical path — 2026-09-01 +## Active critical path — 2026-09-02 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 @@ -51,18 +51,23 @@ Execute in this order: 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. -4. Observe three independent operators using only the README and 15-minute +4. Complete the M5.3 closure matrix: three fresh relevant runs, irrelevant, + stale/unverified, restart/replay, and exact failure cleanup. Close #91 only + after that canonical checklist and the measured baseline pass. +5. Observe three independent operators using only the README and 15-minute challenge; convert friction into product or documentation fixes. -5. Close #91 only when its original outcome is satisfied, then resume - repetition, Kimi parity, and production-hardening evidence. +6. Use the resulting evidence to prioritize the correlated state vector #135 + and durable non-interrupting attention inbox #136 before broader adapter + work. Keep the autonomous circuit breaker #137 frozen until #91 has a live + pass and #93 has a real cross-harness pass. Mainline guardrail: do not add a new substrate or generalize an existing one unless the current live chain demonstrates that it is the blocking condition. -OS-kill matrices, long-turn heartbeat, a global cross-dispatch chain, new -harnesses, A2A/Cotal work, hosted operation, and new transport/protocol surface -are paused. The evidence walkthrough is complete and must now be judged by -external first-run attempts. Small PRs remain acceptable; scope, not PR size, -is the constraint. +OS-kill matrices beyond the canonical restart/replay case, long-turn heartbeat, +a global cross-dispatch chain, new harnesses, A2A/Cotal work, hosted operation, +and new transport/protocol surface are paused. The evidence walkthrough is +complete and must now be judged by external first-run attempts. Small PRs +remain acceptable; scope, not PR size, is the constraint. The detailed historical gates remain in the [real Codex scenario plan](m5-2-real-codex-scenario.md). The diff --git a/docs/10-planning/product-mainline-2026-08-28.md b/docs/10-planning/product-mainline-2026-08-28.md index 3a6114f..2ac7b29 100644 --- a/docs/10-planning/product-mainline-2026-08-28.md +++ b/docs/10-planning/product-mainline-2026-08-28.md @@ -216,18 +216,23 @@ labels its real-versus-deterministic evidence boundary. Outcome: someone outside the maintainer organization integrates an existing harness and completes a real loop without maintainer intervention. -1. Turn the existing ACP adapter into the preferred multi-harness gateway and - document the registry-compatible path. -2. Publish an A2A mapping for task, message, artifact, lifecycle, and extension - fields; keep receiver admission local to ThreadMesh. -3. Prototype a Cotal transport bridge only after the core loop works locally. -4. Recruit three external operators for a 15-minute setup task. Capture +1. Recruit three external operators for a 15-minute setup task. Capture installation outcome, time to first value, failed steps, and whether they would use the loop again. -5. Close [#79](https://github.com/fyaic/threadmesh/issues/79) only with feedback +2. Close [#79](https://github.com/fyaic/threadmesh/issues/79) only with feedback from an independent harness author; seek one external connector pull request. -6. Prepare `0.1` only after the workflow and integration contract survive the +3. Use live and operator evidence to add one bounded correlated handoff state + vector [#135](https://github.com/fyaic/threadmesh/issues/135) and the real + busy-target/context-freshness behavior in + [#136](https://github.com/fyaic/threadmesh/issues/136). +4. Turn the existing ACP adapter into the preferred multi-harness gateway and + complete the real cross-harness gate + [#93](https://github.com/fyaic/threadmesh/issues/93). +5. Publish an A2A mapping for task, message, artifact, lifecycle, and extension + fields; keep receiver admission local to ThreadMesh. +6. Prototype a Cotal transport bridge only after the core loop works locally. +7. Prepare `0.1` only after the workflow and integration contract survive the external attempts. ### Later — harden only proven usage @@ -238,6 +243,9 @@ observed failure modes. - claimant-specific mailbox leases and crash recovery; - production authentication and remote transport profiles; - OS isolation and secret minimization; +- durable workflow budgets, recursive stop, and an owner-visible circuit + breaker [#137](https://github.com/fyaic/threadmesh/issues/137), only after + #91 and #93 each have real evidence; - hosted or multi-user coordinator only with demonstrated demand; - additional wake, steer, or interruption capabilities only when a validated workflow requires them. diff --git a/docs/10-planning/project-status.md b/docs/10-planning/project-status.md index bf4b47e..4e0d72e 100644 --- a/docs/10-planning/project-status.md +++ b/docs/10-planning/project-status.md @@ -1,9 +1,10 @@ # Project status -> Snapshot: 2026-09-01 after behavioral `main` commit -> `f98c56b83057b43f8b9618d6f69e1b2f481f77bd` and merged real-effects -> integration [#133](https://github.com/fyaic/threadmesh/pull/133) at -> `5ec7b19`. Technical evidence includes the +> Snapshot: 2026-09-02 at `main` commit +> `0c7165ead39499497827737c17e94e95f0f3286b`, including the merged +> real-effects integration [#133](https://github.com/fyaic/threadmesh/pull/133) +> and product-proof update [#134](https://github.com/fyaic/threadmesh/pull/134). +> Technical evidence includes the > deterministic no-plan autonomous fixture, the earlier runner-sequenced real > Codex canary, nine fail-closed event-pump attempts, and one completed real > autonomous behavioral chain. Real Git and child-verifier wiring is complete, @@ -46,7 +47,7 @@ setup attempts are retained. | Area | Current evidence | Status | |---|---|---| | Research and problem framing | Codex deep dive, community signals, ecosystem comparison, ADRs | Established | -| Community adoption | No external stars, forks, watchers, issue comments, or independent setup result as of 2026-08-28 | Unvalidated | +| Community adoption | One GitHub star; zero forks and zero external issue comments or independent setup results as of 2026-09-02 | Positive discovery hint only; adoption unvalidated | | Active product outcome | One-command lifecycle-event and dependency-handoff loop with inspector, manual-action accounting, active-receiver checkpoint negative, and 76-second walkthrough | Real Codex A/R/same-A/V/dependent behavioral chain completed after one kickoff; real Git/verifier path merged; combined network-valid rerun pending | | Protocol draft | 14 JSON Schemas; 55 schema cases; 7 transition cases; 384 tests | Executable draft; counts are reported separately | | Minimal adapter SDK | `@fyaic/threadmesh` `0.1.0-alpha.0`; six bounded client methods, per-turn proactive bridge, about 20 kB tarball, packed-consumer execution | Real Pi clean-consumer pass; not published to npm | @@ -302,13 +303,30 @@ The sequencing decision is now explicit. The existing bounded Git worktrees and child verifier are integrated in #133; deterministic positive and wrong-finding negative cases pass. The public demo adds a modeled manual-action baseline and active-receiver checkpoint negative. Next, retain one network-valid real Codex -traversal, run the measured manual arm, and observe three external operators. -OS-kill and heartbeat matrices, a global cross-dispatch chain, Kimi parity, new -harnesses, and transport/protocol expansion remain frozen. The completed live +traversal, run the measured manual arm, complete the M5.3 matrix, and observe +three external operators. OS-kill work beyond the required restart/replay case, +heartbeat matrices, a global cross-dispatch chain, Kimi parity, new harnesses, +and transport/protocol expansion remain frozen. The completed live behavioral chain is still `blocked` and `liveProductEvidence=false` because its Git effects and verifier custody were simulated; the merged integration is not 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). + +Community reports are now grouped into three public product backlogs rather +than one issue per upstream symptom: correlated handoff state +[#135](https://github.com/fyaic/threadmesh/issues/135), durable +non-interrupting attention and context freshness +[#136](https://github.com/fyaic/threadmesh/issues/136), and bounded autonomous +chains [#137](https://github.com/fyaic/threadmesh/issues/137). #135 and #136 +follow the current live-value gate; #137 remains frozen until both the Codex +and cross-harness paths have real evidence. + The Codex context-admission turn now uses the same private pre-turn baseline, fsynced journal, exact client key, and read-first restart boundary. The journal binds the coordinator-prepared token, message, revision, registered adapter