Commit Graph

200 Commits

Author SHA1 Message Date
rabbitblood
017f846ce2 security(incident-log): redact full token values from F1088 incident report
The INCIDENT_LOG.md F1088 entry documented three production credentials
that leaked via molecule-core PR #1098 (commit d513a0c) and were then
INCLUDED IN PLAINTEXT in the documentation itself — the incident report
became a secondary leak surface.

Status of the three tokens (per the report's own Blast Radius table):
- MiniMax (sk-cp-...KVw): revoked / endpoint inactive
- GitHub PAT (github_pat_...hsIJLIL): revoked, confirmed 401
- Admin token (HlgeMb8...ShARE=): treated as active, rotation pending

Even revoked tokens add noise to security audits and are findable via
GitHub Code Search on the public docs repo. This PR replaces the full
values with the short-suffix convention already in use in the same
file's Blast Radius table, preserving the audit trail without the
public-search surface.

Side note: caught by Molecule-AI/molecule-core#2109's secret-scan
workflow on PR #96 (the org-wide rollout that reused this same regex
set caught its own first real find before the rollout PR even merged).

The full values remain in molecule-core git history per F1088's
explicit closure decision (no BFG scrub required); this PR doesn't
change that.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 19:37:20 -07:00
7e366b6d17 fix(ci): use self-hosted runner for auto-promote workflow
ubuntu-latest jobs die in ~2s for private repos — org's GitHub-hosted
minute budget is exhausted. The ci.yml already uses self-hosted (Mac mini).
Align the auto-promote workflow to use the same runner.

workflow_dispatch manual runs at 15:06, 15:08, 15:10, 15:22, 15:23 all
failed with the same 2s timeout pattern.
2026-04-24 17:40:18 +00:00
Hongming Wang
80ddd05f20
chore: sync main → staging to restore staging-as-superset invariant
CEO directive 2026-04-24: staging must not be behind main. Some hotfixes
landed directly on main and were never backported. Bringing them into
staging so auto-promote can ff-only forward-promote from staging again.
2026-04-24 08:22:50 -07:00
Hongming Wang
7bcc2a65aa fix(ci): don't fetch into checked-out staging 2026-04-24 08:10:04 -07:00
Hongming Wang
617fc09d7f fix(ci): relax auto-promote — no-gates mode + already-ahead no-op 2026-04-24 08:06:16 -07:00
Hongming Wang
b4717e53e0
Merge pull request #94 from Molecule-AI/chore/add-auto-promote-staging
chore(ci): add auto-promote-staging workflow
2026-04-24 07:44:52 -07:00
Hongming Wang
0fb2d53554 chore(ci): add auto-promote-staging workflow 2026-04-24 07:44:13 -07:00
molecule-ai[bot]
6d5c936165
Merge pull request #88 from Molecule-AI/fix/ci-runs-on-self-hosted
ci: route docs build to self-hosted Mac mini runner
2026-04-24 05:26:27 +00:00
Hongming Wang
30fc347440 ci: route build to self-hosted Mac mini runner
docs is a private repo and the org's GitHub-hosted Actions minute budget
is exhausted. Every ubuntu-latest run on this repo has been dying in ~2s
with zero step output (runner allocated then killed before checkout).

Per the 2026-04-22 runner policy: private repos use the self-hosted Mac
mini; public repos stay on ubuntu-latest (which remains free for public
repos regardless of minute budget).

Switches `runs-on: ubuntu-latest` → `runs-on: self-hosted`. No other
changes. The existing steps (checkout, node 20 setup, npm ci, npm run
build) all work on macOS without modification.

If the Mac mini has more specific labels assigned (e.g. macOS, ARM64),
tighten this to a matrix later — for now `self-hosted` matches any
registered runner, which should route correctly as long as there's only
one in the org.
2026-04-23 22:20:01 -07:00
molecule-ai[bot]
b44379479d
docs(changelog): add late-day updates for 2026-04-23 (#86)
Post-17:30 UTC PRs:
- SECURITY: cross-tenant memory poisoning (#1791), CWE-78 hardening (#1885)
- FEATURE: A2A priority queue Phase 1 (#1892)
- FIXES: 14 fixes across a2a queue nil-safe drain, provisioning state,
  dedup hooks, semantic memory staleness, pgvector race, EIC region fallback,
  canvas topology overlay, audit trail pagination, hermes response_format,
  memory inspector leak, token revocation cache, TenantGuard regression
- DOCS: Chrome DevTools MCP (#1798), Phase 34 launch (#1799),
  Tool Trace demo (#1844), enterprise battlecard (#1864)
- RUNTIME: heartbeat 401 retry (#40), LLM token auto-detect (#38)

Co-authored-by: Molecule AI Documentation Specialist <documentation-specialist@agents.moleculesai.app>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 01:48:15 +00:00
molecule-ai[bot]
6566866b89
docs(guides): add Tool Trace and Platform Instructions (#85)
* docs(guides): add Tool Trace and Platform Instructions

feature docs for Phase 34 features (PR #1686):
- Tool Trace: explains what it captures, how to query activity logs,
  security/privacy properties, and use cases (compliance, debugging, verification)
- Platform Instructions: explains global/workspace scopes, API endpoints
  for CRUD and resolve, content limits, security properties, and how
  it relates to Tool Trace as a complete governance loop

Co-Authored-By: Technical Writer <technical-writer@molecule.ai>

* chore(docs): add trailing newline to tool-trace.md

* chore(docs): add trailing newline to platform-instructions.md

* docs(guides): add run_id to Tool Trace schema + split outer/inner field tables

---------

Co-authored-by: Molecule AI Technical Writer <technical-writer@agents.moleculesai.app>
Co-authored-by: Technical Writer <technical-writer@molecule.ai>
Co-authored-by: molecule-ai[bot] <276602405+molecule-ai[bot]@users.noreply.github.com>
2026-04-24 01:48:13 +00:00
molecule-ai[bot]
a2a4d8b41d
docs(tutorials): add frontmatter to SaaS file writes EIC tutorial (#84)
Merging despite CI billing outage — build failure is infrastructure (account payment), not code. Content reviewed and approved.
2026-04-24 01:48:04 +00:00
molecule-ai[bot]
7004bedf40
docs(tutorials): add SaaS federation v2 tutorial (#82)
Pairs molecule-core#1700.

- New content/docs/tutorials/saas-federation.md: clean standalone tutorial
  on multi-tenant org onboarding, workspace provisioning, fleet inspection,
  quota controls, and suspension/teardown. Corrects HTTP 402→409 for quota
  gates (RFC 9110: resource-state conflict, not payment failure).
- api-reference.mdx: PUT /workspaces/:id/files/*path now documents the
  EC2-Instance-Connect SSH-backed write path for SaaS (non-Docker) workspaces.
- changelog.mdx: 2026-04-23 entry updated with #1700 (new feature),
  #1702 (fix), and corrects earlier entry structure.

Co-authored-by: Molecule AI Documentation Specialist <documentation-specialist@agents.moleculesai.app>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 17:28:44 +00:00
molecule-ai[bot]
6d5a3c7523
docs(changelog): add 2026-04-23 entry (#81)
Co-authored-by: Molecule AI Documentation Specialist <documentation-specialist@agents.moleculesai.app>
2026-04-23 01:21:29 +00:00
molecule-ai[bot]
f54401c4b2
docs(changelog): add 2026-04-22 entry (#80)
Co-authored-by: Molecule AI Documentation Specialist <documentation-specialist@agents.moleculesai.app>
2026-04-23 00:04:38 +00:00
molecule-ai[bot]
a3e0dd07d7
docs(cli): add molecli shell completion guide (#79)
Pair PR: molecule-cli#5
- Adds new guides/molecli-shell-completion.md with bash/zsh/fish/PowerShell
  install instructions for molecli tab completion (Cobra-generated)
- Adds entry to guides/index.md under new "CLI Tooling" section
- Links to molecule-cli#5 for implementation details

Co-authored-by: Molecule AI Documentation Specialist <documentation-specialist@agents.moleculesai.app>
2026-04-22 23:57:38 +00:00
molecule-ai[bot]
4223530f35
docs(mcp-server): add LOG_LEVEL env var + structured pino logging section (#78)
Pair PR: molecule-mcp-server#6
- Adds LOG_LEVEL to Environment Variables table (pino log levels: trace→fatal)
- Adds Structured Logging section explaining AsyncLocalStorage context,
  JSON output in production, pretty-print in dev
- Adds troubleshooting row for high-volume log output
- Links to molecule-mcp-server#6 for implementation details

Co-authored-by: Molecule AI Documentation Specialist <documentation-specialist@agents.moleculesai.app>
2026-04-22 23:57:30 +00:00
rabbitblood
40bd0cfdde fix: restore build infrastructure deleted by bad PR #59 merge
[Molecule-Platform-Evolvement-Manager]

PR #59 (commit dae42e2) was merged ~2 weeks ago with a bad diff that
deleted all Next.js/Fumadocs build files (package.json, app/, lib/,
source.config.ts, tsconfig.json, etc.) and most MDX content pages.
This broke the Vercel build, taking doc.moleculesai.app offline.

Root cause: the PR branch was likely rebased or reset to a state that
only contained the marketing/ subtree, so the merge diff showed
deletions for every other file.

This commit:
1. Restores all build infrastructure from the last good commit (86fa0e9)
2. Restores 25 deleted MDX content pages (concepts, quickstart, etc.)
3. Adds frontmatter (title) to 55 .md files added post-bad-merge that
   were missing the required YAML frontmatter for Fumadocs
4. Removes duplicate quickstart.mdx (superseded by quickstart.md)
5. Adds CI workflow (.github/workflows/ci.yml) to catch build failures
   on PRs before merge — this would have prevented the outage

Build verified: 99 static pages generated successfully.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 14:03:24 -07:00
d8aaca8e7b chore: trigger Vercel redeploy 2026-04-22 20:14:19 +00:00
molecule-ai[bot]
3078a6362a revert: remove doubled-path nesting bug from PR #77
The CWE-78 Scope Refinement and F1085 entries were added at the
wrong nested path:
  BAD:  content/docs/security/content/docs/security/changelog.md
  GOOD: content/docs/security/changelog.md

This revert removes the bad file from main. The correct-path file
(content/docs/security/changelog.md) has the original 5 entries
and will be the build source going forward.

A follow-up PR will add the two missing entries at the correct path.

Closes: docs site ECONNREFUSED (Vercel build failure)
2026-04-22 19:49:05 +00:00
molecule-ai[bot]
f1978aa634
docs(security): add CWE-78 scope regression + F1085 redactSecrets changelog entries (#77)
* docs(security): add CWE-78 scope regression and F1085 redactSecrets entries

2026-04-21 — CWE-78: Scope Refinement in deleteViaEphemeral
- PRs #1310 (original), #1328 (scope refinement)
- Commit 64ccf8e removes user-supplied scope argument from rm command
- Prevents path traversal within validated path

2026-04-21 — F1085: Credential Scrub Before Workspace Memory Seeding
- PRs #1203, #1206
- seedInitialMemories() now calls redactSecrets() before INSERT
- Templates with API keys no longer stored in plain text in agent_memories

Co-Authored-By: Technical Writer Agent <technical-writer@agents.moleculesai.app>

* docs(security): fix CWE-78 entry — correct commit SHA and vulnerability description

- Commit: 64ccf8e → f3ec07a
- Vulnerability: corrected from "scope manipulation" framing to accurate
  "exec-form rm regression causing volume-wide deletion" description.
  rm -rf treats each arg as independent deletion target, not combined scope.
  Bug is a regression from the PR #1310 exec-form refactor.

Co-Authored-By: Technical Writer Agent <technical-writer@agents.moleculesai.app>

---------

Co-authored-by: Molecule AI Technical Writer <technical-writer@agents.moleculesai.app>
Co-authored-by: Molecule AI App-FE <app-fe@agents.moleculesai.app>
2026-04-22 11:08:56 +00:00
molecule-ai[bot]
5a48d8f8aa
docs(guides): fix browser-testing install — remove fabricated --from plugin: syntax (#76)
* docs(guides): add browser-testing skill — Playwright from molecule-ai-plugin-browser-automation

Added browser-testing (Playwright headless Chromium) as a new Browser skill
alongside browser-automation in the skill-catalog.md table. Includes install
examples for both CLI and config.yaml, and a note about Playwright system
dependencies.

Ref: molecule-ai-plugin-browser-automation#4

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(guides): fix browser-testing install docs — remove fabricated --from plugin: syntax

- Change source: plugin:molecule-ai-plugin-browser-automation → source: plugin
- Remove --from plugin: CLI example (flag does not exist in molecule-core CLI)
- Replace install section with auto-discovery note: browser-testing is
  auto-discovered when the plugin is installed, no extra flags needed

Co-Authored-By: Technical Writer Agent <technical-writer@agents.moleculesai.app>

---------

Co-authored-by: Molecule AI Technical Writer <technical-writer@agents.moleculesai.app>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 11:08:53 +00:00
molecule-ai[bot]
ed0cfadfc4
chore: ensure trailing newline [trigger fresh vercel deploy] 2026-04-21 16:13:24 +00:00
molecule-ai[bot]
f0244ef272
fix(docs): correct broken link ./platform-api.md → ./reference.md in workspace-files.mdx 2026-04-21 15:52:10 +00:00
molecule-ai[bot]
55e90c8f92
Merge pull request #73 from Molecule-AI/docs/skill-catalog-backfill-from-core-1419
docs: backfill skill-catalog, workspace-files API ref, and skills-vs-bundled-tools blog
2026-04-21 15:45:04 +00:00
molecule-ai[bot]
19086f1e16
docs(blog): fill SEO keyword gaps in Chrome DevTools MCP post (#72)
* docs(blog): add Chrome DevTools MCP browser automation post

Action 1 of #1120 SEO campaign.

- Covers Chrome DevTools MCP setup on Molecule AI
- Comparison table naming MCP governance layer explicitly
- AI Agent Browser Control governance section
- Python verification script + curl revocation sample
- Org API keys audit trail bridge (#1118)
- Cross-links to mcp-server-setup and org-api-keys guides
- Targets P0 keywords: MCP browser automation, AI agent browser
  control, MCP governance layer, Chrome DevTools MCP AI,
  browser automation AI agents

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(blog): add Phase 30 remote workspaces auth + fleet visibility post

Covers:
- Per-workspace bearer token auth model (Phase 30.1)
- Unified canvas fleet visibility for heterogeneous agent fleets
- Remote agent registration flow (6 steps)
- Before/after comparison table
- Enterprise use cases: CI/CD, multi-cloud, BYO-device

Awaiting: keyword research (SEO Analyst) + positioning brief (PMM)
before final sign-off.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(blog): refine Phase 30 blog SEO — keywords and frontmatter

- Title: "Remote AI Agents: Per-Workspace Auth + Fleet Visibility"
- Meta targets: remote AI agents, per-workspace auth, AI agent fleet visibility
- "AI agent fleet management" in comparison section heading
- "AI Agent Authentication at Scale" section heading

Awaiting keyword research from SEO Analyst before final sign-off.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(blog): add Org-Scoped API Keys enterprise key management post

Covers:
- ADMIN_TOKEN problem and 3 compounding risks
- Org-scoped API key features (named, revocable, sha256 hash, prefix, created_by)
- Comparison table: ADMIN_TOKEN vs org-scoped keys
- Token hierarchy (Tier 0-3)
- Mint/list/revoke curl examples
- Cross-links to Chrome DevTools MCP blog and org-api-keys guides
- Competitive note on Hermes v0.10.0 tool gateway

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(blog): add waitlist page and audit trail panel posts

- 2026-04-20-waitlist: Beta early access waitlist page — user flow,
  privacy guard (no URL prefill), dedup handling, launch-CTA framing.
  Addresses GH issue #1162.
- 2026-04-21-audit-trail-panel: Audit Trail Panel on Canvas — event-type
  badges, chain validity tamper indicator, filter bar, pagination.
  Coordinates with Phase 30 fleet visibility narrative.
  Addresses GH issue #1164.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(blog): add audit trail API logs companion post

2026-04-21-audit-trail-api-logs: Two-layer audit observability post.
- Layer 1: Canvas Audit Trail (decision events, chain_valid tamper indicator)
- Layer 2: Org API key attribution (every API call tagged with key prefix)
- How they fit together: compliance review scenario walkthrough
- Governance chain: org key → per-workspace token → Canvas Audit Trail
- CTA: start with Canvas Audit Trail, add org API keys as integrations come online

Companion TTS audio (734K, ~74s) committed separately to molecule-core/marketing/audio/.

Addresses GH issue #1164 follow-on coverage.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Molecule AI Content Marketer <content-marketer@agents.moleculesai.app>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Molecule AI Documentation Specialist <documentation-specialist@agents.moleculesai.app>
2026-04-21 15:27:40 +00:00
molecule-ai[bot]
2562f98c90
docs(security): April 21 security changelog entries (#71)
* docs(security): add April 21 security changelog entries

- CWE-918 SSRF: add PR #1364, SaaS-mode VPC-private IP exception,
  IPv6 bypass fix (isPrivateOrMetadataIP now handles non-IPv4 inputs)
- Audit Ledger HMAC Chain Guard: add PRs #1339, #1352, #1354
- Credential Scrub: add PRs #1282, #1355, #1359 (F1088 err.Error() leak)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: add trailing newline to security/changelog.md (Vercel build requirement)

* fix(docs): correct INCIDENT_LOG.md path from docs/incidents/ to content/docs/incidents/

Vercel build fails because broken link reference in security/changelog.md.
The actual file lives at content/docs/incidents/INCIDENT_LOG.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Molecule AI Documentation Specialist <documentation-specialist@agents.moleculesai.app>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: molecule-ai[bot] <276602405+molecule-ai[bot]@users.noreply.github.com>
Co-authored-by: Molecule AI Integration Tester <integration-tester@agents.moleculesai.app>
2026-04-21 15:27:36 +00:00
6ca6eee63d fix(docs): correct secrets endpoint path across public docs
The secrets endpoint is GET /workspaces/:id/secrets, not
GET /workspaces/:id/secrets/values. Fix three occurrences in:
- workspace-runtime.md: comparison table and curl example
- remote-workspaces.md: ASCII diagram and Phase 30.2 table

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 15:23:54 +00:00
0cb987c986 docs: backfill skill-catalog, workspace-files API ref, and skills-vs-bundled-tools blog
Port three docs from molecule-core PR #1419 into public docs:
- docs/guides/skill-catalog.md: new skill catalog CLI guide
- docs/api/workspace-files.mdx: new CWE-22 path traversal API reference
- blog/2026-04-21-skills-vs-bundled-tools: new blog post

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 15:20:11 +00:00
molecule-ai[bot]
a1e554f670
docs(security): update CWE-918 entry — add PR #1430 regression fix, SaaS mode gating table, IPv6 coverage 2026-04-21 15:11:19 +00:00
molecule-ai[bot]
b30863a31d
docs: add frontmatter to glossary.md 2026-04-21 08:31:24 +00:00
molecule-ai[bot]
1b51b7d908
docs: add frontmatter to workspace-runtime.md 2026-04-21 08:21:17 +00:00
molecule-ai[bot]
96d9d95bf8
docs: add frontmatter to guides/same-origin-canvas-fetches.md 2026-04-21 08:20:56 +00:00
molecule-ai[bot]
15786ef587
docs: add frontmatter to guides/external-agent-registration.md 2026-04-21 08:20:54 +00:00
molecule-ai[bot]
ef21f21087
docs: add frontmatter to guides/remote-workspaces-faq.md 2026-04-21 08:20:53 +00:00
molecule-ai[bot]
37faf02206
docs: add frontmatter to guides/mcp-server-setup.md 2026-04-21 08:20:52 +00:00
molecule-ai[bot]
45f992f08b
docs: add frontmatter to guides/token-management.md 2026-04-21 08:20:50 +00:00
molecule-ai[bot]
12a5bed4b1
docs: add frontmatter to guides/remote-workspaces.md 2026-04-21 08:20:49 +00:00
molecule-ai[bot]
54dd34ea01
docs: add INCIDENT_LOG.md 2026-04-21 08:02:57 +00:00
molecule-ai[bot]
b864595bb4
docs: add docs/adr/ADR-001-admin-token-scope.md 2026-04-21 08:02:37 +00:00
molecule-ai[bot]
ddb5c8a133
docs: add docs/research/cognee-isolation-eval.md 2026-04-21 08:02:36 +00:00
molecule-ai[bot]
cad80ee73d
docs: add docs/research/cognee-architecture-deep-dive.md 2026-04-21 08:02:35 +00:00
molecule-ai[bot]
96878a7c26
docs: add docs/adapters/medo-smoke-test-log.md 2026-04-21 08:02:34 +00:00
molecule-ai[bot]
891f36fe09
docs: add docs/adapters/medo-integration.md 2026-04-21 08:02:33 +00:00
molecule-ai[bot]
58ba097395
docs: add docs/adapters/hermes-recon.md 2026-04-21 08:02:32 +00:00
molecule-ai[bot]
addb8b907e
docs: add docs/adapters/hermes-adapter-plan.md 2026-04-21 08:02:31 +00:00
molecule-ai[bot]
f2e89359ff
docs: add docs/adapters/hermes-adapter-design.md 2026-04-21 08:02:30 +00:00
molecule-ai[bot]
aef44dacce
docs: add docs/plugins/sources.md 2026-04-21 08:02:29 +00:00
molecule-ai[bot]
6aece0f6de
docs: add docs/plugins/agentskills-compat.md 2026-04-21 08:02:28 +00:00
molecule-ai[bot]
52a36a06f5
docs: add docs/api-protocol/websocket-events.md 2026-04-21 07:53:26 +00:00