Some checks failed
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 5s
CI / Detect changes (pull_request) Successful in 5s
E2E API Smoke Test / detect-changes (pull_request) Successful in 6s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 6s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 6s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 5s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 5s
CI / Platform (Go) (pull_request) Successful in 3s
CI / Canvas (Next.js) (pull_request) Successful in 5s
CI / Python Lint & Test (pull_request) Successful in 3s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 4s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 8s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 4s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 4s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 3s
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Failing after 12s
CodeQL / Analyze (${{ matrix.language }}) (go) (pull_request) Failing after 51s
CodeQL / Analyze (${{ matrix.language }}) (javascript-typescript) (pull_request) Failing after 1m20s
CodeQL / Analyze (${{ matrix.language }}) (python) (pull_request) Failing after 1m20s
Mass-sed across 17 files / 38 active refs in molecule-core .md docs (README + CONTRIBUTING + docs/architecture/ + docs/blog/ + docs/guides/ + docs/integrations/ + docs/quickstart.md + scripts/README.md). Driver: /tmp/sweep_core.py — same pattern set as the internal-marketing bulk-sed (PR #50). 4 url-substitution patterns + SKIP_PATTERN preserves /pull/<n> /issues/<n> /commit/<sha> /releases/... historical refs. Files NOT touched in this PR: - docs/workspace-runtime-package.md — owned by molecule-core#15 (workspace-runtime source-edit per #41). Reverted my bulk-sed of that file to avoid merge conflict. - 2 Go-import-path refs in docs/memory-plugins/testing-your-plugin.md (github.com/Molecule-AI/molecule-monorepo/platform/internal/...) — Q5 cross-repo Go-module migration territory. - 1 GitHub Gist link in docs/guides/external-workspace-quickstart.md (gist.github.com/molecule-ai/...) — no Gitea equivalent; consistent with the same handling in docs#1. Manual fixes (2): - docs/blog/2026-04-20-chrome-devtools-mcp-seo/index.md:306 — GitHub Discussions (no Gitea equivalent) → issue tracker link - docs/guides/external-workspace-quickstart.md:218 — tracking-issue ?q= query-string url (regex didn't catch) → reformulated text + Gitea search-by-query approach Pattern matches my docs#1 (public docs site) PR + internal#50 (internal/marketing bulk-sed). Standard substitutions: - https://github.com/Molecule-AI/<repo> → https://git.moleculesai.app/molecule-ai/<repo> - /blob/<branch>/ + /tree/<branch>/ → /src/branch/<branch>/ Refs: molecule-ai/internal#37, molecule-ai/internal#38
50 lines
2.9 KiB
Markdown
50 lines
2.9 KiB
Markdown
# 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` + `langgraph` 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](https://git.moleculesai.app/molecule-ai/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).
|
|
- `canary-smoke.sh` — quick smoke test for canary releases.
|
|
- `dev-start.sh` — local-dev platform bring-up.
|
|
|
|
The rest are self-documenting in their header comments.
|