Files
Molecule AI Dev Engineer B (MiniMax) 06edd764e2 fix(manifest#2927/RC): clone-manifest.sh handles SHA-pinned refs (was: "Remote branch <sha> not found")
Harness Replays on PR #2935 (head 08e9033e) failed in step
"Pre-clone manifest deps":
  fatal: Remote branch 950d39a490c12ba0f355ed8ca03b23fda9884823
        not found in upstream origin

Root cause: scripts/clone-manifest.sh's clone_one_with_retry()
branched on `$ref = main` and used `git clone --depth=1 -q
--branch "$ref"` for everything else. For SHA-pinned refs (the
whole point of RFC #2927 — pin every entry to an immutable
commit SHA), `--branch <sha>` fails: git's --branch only resolves
named refs, not SHAs. The pinned SHA exists in the repo
(verified via /api/v1/repos/.../commits/<sha>) but the clone
command never tries to fetch it.

Fix: add a 3rd branch — when `$ref` matches `^[0-9a-f]{40}$`,
clone the full repo (no --depth so the SHA is reachable in
history) then `git checkout <sha>`. Drop .git after checkout
to match the post-clone .git strip in clone_category().

Tested locally with MOLECULE_GITEA_TOKEN="" (anonymous clone):
30/30 repos cloned successfully, all 6 workspace_template
entries have config.yaml at their pinned SHAs (the load-bearing
completeness-precondition that PR #2935's
TestManifest_RefPinning_WorkspaceTemplatesIncludeConfigYAML
asserts).

CI impact: should turn the Harness Replays / Harness Replays
gate from RED to GREEN on PR #2935 — the pre-clone step is the
entry point for all downstream replays.
2026-06-15 15:29:48 +00:00
..

scripts/

Operational and one-off scripts for molecule-core. Most are self-documenting — see the header comments in each file.

RFC #2251 coordinator task-bound harnesses

There are three related scripts; pick the right one:

Script Purpose Targets
measure-coordinator-task-bounds.sh Canonical v1 harness for the RFC #2251 / Issue 4 reproduction. Provisions a PM coordinator + Researcher child via claude-code-default + claude-code templates, sends a synthesis-heavy A2A kickoff, observes elapsed time + activity trace. OSS-shape platform — localhost or any /workspaces-shaped endpoint. Has tenant/admin-token guards for non-localhost runs.
measure-coordinator-task-bounds-runner.sh Generalised runner for the same measurement contract but with arbitrary template + secret + model combinations (Hermes/MiniMax, etc.). Useful for cross-runtime variants without modifying the canonical harness. Same as above (local or SaaS via MODE=saas).
measure-coordinator-task-bounds.sh (in molecule-controlplane) Production-shape variant that bootstraps a real staging tenant via POST /cp/admin/orgs, then runs the same measurement against <slug>.staging.moleculesai.app. Staging controlplane only — refuses to run against production.

See reference_harness_pair_pattern (auto-memory) for when to use which and the cross-repo design rationale.

Common safety pattern across all three

  • Cleanup trap on EXIT/INT/TERM auto-deletes provisioned resources.
  • DRY_RUN=1 prints plan + auth fingerprint, exits before any state mutation. Run this before pointing at staging or any shared infrastructure.
  • Non-target guard refuses arbitrary endpoints (the controlplane variant is locked to staging-api.moleculesai.app; the OSS variant requires explicit auth + tenant scoping for non-localhost PLATFORM).
  • Cleanup failures emit cleanup_*_failed events with remediation hints; no silenced curl. ADMIN_TOKEN expiring mid-run surfaces as a structured event rather than a silent leak.

Activity trace caveat

If activity_trace.raw == "<endpoint_unavailable>", the per-workspace /activity endpoint isn't wired on the target build — the bound measurement is INCONCLUSIVE on the platform-ceiling question. Either wire the endpoint or replace with the equivalent Datadog query. Note that /activity accepts a since_secs query parameter; see the endpoint handler for the supported range.

Other scripts

  • cleanup-rogue-workspaces.sh — emergency teardown for leaked workspaces. Prompts for confirmation. Pair with the harnesses if a cleanup trap fails (see cleanup_*_failed events).
  • staging-smoke.sh — quick smoke test for the staging canary fleet (formerly canary-smoke.sh).
  • dev-start.sh — local-dev platform bring-up.

The rest are self-documenting in their header comments.