feat: land R3-1 Cloudflare hub and Multica runtime gate#78
Merged
Conversation
Add the harness/scripts/r3-1 entrypoint with preflight and MnemonHub contract phases plus JSON summaries and skipped-capability reporting for pending live phases. Validation: harness/scripts/r3-1/run.sh --smoke
Add a shared sync-abi fixture corpus under harness/testdata and drive MnemonHub push, pull, status, auth, replay, conflict, malformed, and scope tests from it. Validation: go test ./harness/internal/mnemonhub ./harness/internal/contract; harness/scripts/r3-1/run.sh --phase mnemonhub-contract
Remove GitHub as a first-party harness Remote Workspace backend, product connection, sync CLI mode, daemon role, and acceptance path. The remaining sync path is HTTP MnemonHub only, with guard coverage to keep GitHubMesh from re-entering the production harness surface. Validation: go test ./harness/internal/mnemonhub/... ./harness/internal/app ./harness/internal/productconfig ./harness/internal/daemon ./harness/internal/coreguard ./harness/cmd/mnemon-harness ./harness/cmd/mnemon-acceptance; harness/scripts/r3-1/run.sh --phase mnemonhub-contract.
Add a harness-scoped Cloudflare Worker and Durable Object implementation for the MnemonHub sync ABI, with dependency-free Node contract tests over the shared sync fixture corpus. The Worker keeps the same push, pull, status, auth, scope clamp, replay, and conflict semantics as the Go hub. Validation: npm test in harness/cloudflare/mnemonhub; harness/scripts/r3-1/run.sh --phase cloudflare-local; go test ./harness/internal/mnemonhub/... ./harness/internal/coreguard ./harness/internal/productconfig.
Add mnemon-harness hub bootstrap cloudflare and hub doctor. The bootstrap path reads a private Cloudflare env file, deploys the Cloudflare Worker/Durable Object through wrangler or npx, writes Worker secrets for replica auth, runs sync smoke, and stores only the local replica sync token under .mnemon. Validation: go test ./harness/cmd/mnemon-harness ./harness/internal/productconfig ./harness/internal/mnemonhub/... ./harness/internal/coreguard; harness/scripts/r3-1/run.sh --phase mnemonhub-contract; harness/scripts/r3-1/run.sh --phase cloudflare-local; harness/scripts/r3-1/run.sh --phase cloudflare-live skipped because the Cloudflare account has no workers.dev subdomain yet (API code 10063).
Bootstrap now ensures a workers.dev subdomain through the Cloudflare API, keeps Worker grants in the lower-case sync ABI shape, and waits for the deployed endpoint before live smoke. The Worker secrets are no longer duplicated as wrangler vars. Validation: go test ./harness/cmd/mnemon-harness ./harness/internal/contract ./harness/internal/mnemonhub/...; harness/scripts/r3-1/run.sh --phase cloudflare-local; harness/scripts/r3-1/run.sh --phase cloudflare-live.
mnemon-multica-runtime now buffers early JSON-RPC until a turn can be classified, proxies untouched provider traffic only when no Multica issue activation is present, and keeps issue-triggered imports under mnemond control. The R3-1 gate and writeback phases now execute focused tests instead of reporting pending skips. Validation: go test ./harness/cmd/mnemon-multica-runtime ./harness/cmd/mnemon-harness ./harness/internal/coreguard; harness/scripts/r3-1/run.sh --phase multica-runtime-gate; harness/scripts/r3-1/run.sh --phase multica-writeback.
R3-1 now has real Docker local and Docker-to-Cloudflare sync probes, a live Multica smoke that creates a visible issue/run, and a Chinese complex-case runner that creates overlapping PoC roots, role assignments, shared-context comments, and a follow-up issue. Validation: harness/scripts/r3-1/run.sh --phase docker-local; harness/scripts/r3-1/run.sh --phase docker-cloudflare; harness/scripts/r3-1/run.sh --phase live-multica; harness/scripts/r3-1/run.sh --phase zh-complex-cases; go test ./harness/scripts/r3-1/docker; python3 -m py_compile harness/scripts/r3-1/docker-local/verify.py harness/scripts/r3-1/docker-cloudflare/verify.py harness/scripts/r3-1/live-multica/verify.py harness/scripts/r3-1/zh-complex-cases/run.py.
Route the Chinese complex R3-1 live case through a containerized Multica CLI by default, while keeping host mode available for explicit local debugging. The phase summary now records the execution mode and asserts that Docker created the Multica-visible case path. Validation: python3 -m py_compile harness/scripts/r3-1/zh-complex-cases/run.py harness/scripts/r3-1/*/verify.py harness/scripts/r3-1/lib/report.py; harness/scripts/r3-1/run.sh --phase zh-complex-cases; harness/scripts/r3-1/run.sh --full.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements the R3-1 harness-layer iteration without changing the root Mnemon CLI path:
mnemon-multica-runtimeas a gate-first transparent provider wrapper for Codex JSON-RPCharness/scripts/r3-1/run.shphase entrypoints for contract, Cloudflare, Docker, live Multica, and Chinese complex case validationValidation
Latest full R3-1 suite executed from
.mnemon-dev/tmp/r3-1-test/20260701T192723Z:harness/scripts/r3-1/run.sh --phase preflight: okharness/scripts/r3-1/run.sh --phase mnemonhub-contract: okharness/scripts/r3-1/run.sh --phase cloudflare-local: okharness/scripts/r3-1/run.sh --phase cloudflare-live: okharness/scripts/r3-1/run.sh --phase multica-runtime-gate: okharness/scripts/r3-1/run.sh --phase multica-writeback: okharness/scripts/r3-1/run.sh --phase docker-local: okharness/scripts/r3-1/run.sh --phase docker-cloudflare: okharness/scripts/r3-1/run.sh --phase live-multica: okharness/scripts/r3-1/run.sh --phase zh-complex-cases: okNotes:
wrangler; live Cloudflare bootstrap usesnpx wranglerand passed.zh-complex-casessummary recordsmultica_mode: dockerand assertionDockerized Multica CLI executed visible case: true.