Commit Graph

18 Commits

Author SHA1 Message Date
dev-lead
9c6fd5a17b ci: trigger re-run after molecule-ci validator fix
All checks were successful
CI / validate (push) Successful in 1m35s
The validator was tripping on !external in org.yaml since the
dev-department v1.0.0 pin landed; molecule-ci#4 fixed it. Empty
commit to fire CI on main against the fixed validator.
2026-05-08 08:53:17 -07:00
0e23bc5091 Merge pull request 'pin: dev-department ref → v1.0.0 (first stable atomized release)' (#7) from pin/dev-department-v1.0.0 into main
Some checks failed
CI / validate (push) Failing after 52s
2026-05-08 12:41:22 +00:00
claude-ceo-assistant
f84e79e6e0 pin: dev-department ref → v1.0.0 (first stable atomized release)
Some checks failed
CI / validate (pull_request) Failing after 1m0s
Pins the molecule-ai/molecule-dev-department subtree fetch to the
v1.0.0 tag (SHA 6c3d8fac) instead of tracking main. Locks production
imports of this template to the verified-stable atomized shape:
28 workspaces, 5 sub-team-leads, validator passes --strict.

VERIFIED LOCALLY 2026-05-08
  --- PASS: TestPinV1_Verify (0.54s)
  post-pin parent (ref: v1.0.0) → 39 workspaces
  cache: git.moleculesai.app__molecule-ai__molecule-dev-department/6c3d8fac

VERSIONING CONTRACT (set by the v1.0.0 tag)
  v1.0.0   first stable atomized shape (this pin)
  v1.0.x   persona/prompt edits, no structural change
  v1.x.0   additive workspaces (new sub-team, new role)
  v2.0.0   breaking structure change (sub-team rename, removal)

  To roll a non-breaking dev-tree update into this template, bump the
  ref above to the new tag (e.g. v1.0.1, v1.1.0). Major bumps need a
  parent-template review since they may break existing tenants on
  this template.

Refs:
  internal#77 — extraction RFC
  molecule-ai/molecule-dev-department v1.0.0 tag (annotated, with release notes)
  Hongming GO 2026-05-08 ('do both follow-up recommendations')
2026-05-08 05:41:21 -07:00
dd777c726c Merge pull request 'migrate(dev-tree): replace dev-lead symlink with !external resolver block (PR-D)' (#6) from migrate/dev-lead-symlink-to-external into main
Some checks failed
CI / validate (push) Failing after 54s
2026-05-08 12:33:27 +00:00
claude-ceo-assistant
6ae741d602 migrate(dev-tree): replace dev-lead symlink with !external resolver block
Some checks failed
CI / validate (push) Failing after 32s
CI / validate (pull_request) Failing after 37s
Phase 3a-PR-D of internal#77 (task #235). Completes the cross-repo
composition migration started by PR #5 (sibling-clone+symlink) and
the platform-side !external resolver shipped in molecule-core#105.

CHANGES
  - org.yaml: replace
        - !include dev-lead/workspace.yaml
    with
        - !external
            repo: molecule-ai/molecule-dev-department
            ref: main
            path: dev-lead/workspace.yaml
    Composition is now platform-side: at POST /org/import time the
    workspace-server fetches molecule-ai/molecule-dev-department at
    ref=main into <orgBaseDir>/.external-cache/, grafts the dev-lead
    subtree, and rewrites every files_dir to be cache-prefixed.

  - dev-lead symlink deleted. The post-suspension sibling-clone deploy
    contract (operator must keep both repos as siblings under
    /org-templates/) is no longer required. The platform fetches the
    subtree on demand.

  - .gitignore: add .external-cache/ entry. Operators see the cache
    populate during imports; we don't track it.

DEPLOYMENT IMPACT
  Operators running molecule-core PR #105 or later can import this
  template without operator-side molecule-dev-department clone
  (task #230 becomes obsolete). Operators running an older platform
  binary will see import fail with 'unknown !external tag' — visible
  error, not silent breakage.

  To pin a specific tag/SHA for production stability, change ref: main
  to e.g. ref: v1.0.0 (currently no tags published; landing this
  unlocks the option).

VERSIONING
  No DB schema change. No public API change. Pure org-template
  composition shape change. Existing imports of older snapshots of
  this template still work — !include + symlink were never the only
  composition mechanism, and operators who have the symlink can
  re-add it locally if they need to roll back.

VERIFIED LOCALLY 2026-05-08
  --- PASS: TestPRD_MigratedParentTemplateImports (0.55s)
  post-migration parent resolves to 39 workspaces
  (5 PM-tree + 6 Marketing-tree + 28 dev-tree, fetched from
  molecule-ai/molecule-dev-department@main via the production
  gitFetcher into .external-cache/).

FOLLOW-UP TASKS
  - Update molecule-dev-department's local-e2e-setup.sh to drop the
    symlink check (now that parent template doesn't ship one).
  - Decide fate of TestLocalE2E_DevDepartmentExtraction +
    TestLocalE2E_FilesDirConsumption (they tested the symlink-based
    composition; now skip gracefully because no template uses that
    shape — keep as opt-in regression coverage).
  - Tag molecule-ai/molecule-dev-department v1.0.0 + pin ref here.

Refs:
  internal#77 — extraction RFC (Phase 3a phasing in comment 1995)
  molecule-core#105 — !external resolver
  molecule-core#106 — !external integration + e2e tests
  task #235 (PR-D)
  task #230 — obsolete after this PR
  Hongming GO 2026-05-08 ('do PR-B/C/D')
2026-05-08 05:32:44 -07:00
392c4fe68f Merge pull request 'slim(parent-template): extract dev tree → symlink to molecule-dev-department, delete 17 orphans (Phase 3d)' (#5) from slim/extract-dev-into-symlink into main
All checks were successful
CI / validate (push) Successful in 51s
2026-05-08 11:16:40 +00:00
claude-ceo-assistant
f331bebac1 slim(parent-template): delete 17 orphans + extract dev tree, wire dev-lead symlink to molecule-dev-department
All checks were successful
CI / validate (push) Successful in 56s
CI / validate (pull_request) Successful in 52s
Phase 3d of internal#77 (dev-department extraction).

What changed:

  Deletions:
  - 17 orphan workspace folders not reachable from any teams/*.yaml
    !include chain in this template (caught at extract time by
    validate-tree.py): backend-engineer{,-2,-3}, frontend-engineer{,-2,-3},
    qa-engineer{,-2,-3}, security-auditor{,-2}, platform-engineer,
    devops-engineer, sre-engineer, offensive-security-engineer,
    devrel-engineer, triage-operator-2, uiux-designer.
  - 27 dev-tree workspace folders extracted to molecule-ai/molecule-dev-department
    (history preserved via git filter-repo): dev-lead, core-{lead,be,fe,qa,
    security,uiux,devops,offsec}, cp-{lead,be,qa,security}, app-{lead,fe,qa},
    technical-writer, infra-{lead,sre,runtime-be}, sdk-{lead,dev}, plugin-dev,
    release-manager, integration-tester, fullstack-engineer,
    documentation-specialist, triage-operator.
  - 8 teams/<dev-tree>.yaml composition files (dev.yaml, core-platform.yaml,
    controlplane.yaml, app-docs.yaml, infra.yaml, sdk.yaml,
    documentation-specialist.yaml, triage-operator.yaml).

  Additions:
  - dev-lead → ../molecule-dev-department/dev-lead/ (symlink). Resolves
    correctly when both repos are cloned as siblings under operator's
    /org-templates/ (current convention: /org-templates/molecule-dev/
    + /org-templates/molecule-dev-department/). Platform's
    resolveYAMLIncludes follows the symlink at file-read while its
    security check (filepath.Abs/Rel) operates on path strings, so
    'dev-lead/workspace.yaml' counts as 'inside parent root' even though
    its content lives in the sibling repo. Contract pinned by
    molecule-core PR #102's tests.

  Edits:
  - org.yaml workspaces: gains '!include dev-lead/workspace.yaml' (third
    root after pm.yaml + marketing.yaml). The other two roots are
    unchanged.
  - teams/pm.yaml children: removed dev.yaml, documentation-specialist.yaml,
    triage-operator.yaml, triage-operator-2 (orphan). Comments document
    where each moved.
  - teams/marketing.yaml children: removed devrel-engineer (orphan).

This template is now ~50% smaller and contains only parent-only roles:
PM + Research (research-lead, market-analyst, technical-researcher,
competitive-intelligence) + Marketing (marketing-lead, content-marketer,
product-marketing-manager, community-manager, seo-growth-analyst,
social-media-brand). Engineering org tree is composed in via
the dev-lead symlink + dev-department repo.

Refs:
  internal#77 — extraction RFC
  molecule-ai/molecule-dev-department PRs #1, #2, #3 (scaffold + extract + atomize)
  molecule-core PR #102 — symlink-resolution contract test
  Hongming GO 2026-05-08 ("approved, keep going" + "dont wait for me, follow the plan")
  SOP Phase 3d — task #225
2026-05-08 04:15:51 -07:00
da5058caa8 fix(post-suspension): migrate github.com/Molecule-AI refs to git.moleculesai.app (Class G #168) (#4)
All checks were successful
CI / validate (push) Successful in 58s
2026-05-07 19:59:38 +00:00
33cc1d037a fix(post-suspension): migrate github.com/Molecule-AI refs to git.moleculesai.app (Class G #168)
All checks were successful
CI / validate (push) Successful in 57s
CI / validate (pull_request) Successful in 55s
Every persona's initial-prompt.md starts with `git clone https://github.com/Molecule-AI/<repo>.git`
which now hard-fails because the GitHub org was suspended on 2026-05-06. This
blocks every fresh agent at boot.

Changes:
- All 49 persona initial-prompt.md files: rewrite clone URLs to
  https://git.moleculesai.app/molecule-ai/<repo>.git, and switch the
  in-URL token from \${GITHUB_TOKEN} to \${GITEA_TOKEN} (matches the
  env-var contract documented in SHARED_RULES.md after the gh→tea migration).
- 4 schedule files (landingpage-check, landingpage-seo-check,
  daily-changelog) — same rewrite.
- org.yaml defaults block (3 refs + the 'if [ -n "\$GITHUB_TOKEN" ]'
  guard renamed to GITEA_TOKEN to match the new var).
- SHARED_RULES.md DOCUMENTATION_POLICY full-policy URL.
- documentation-specialist/system-prompt.md: reframed the org-profile
  table row (was 'renders on github.com/Molecule-AI', now noted as
  the now-suspended org page kept for reference).

Scope per Task #168: non-Go-module URL refs only. No go.mod / go.sum
in this repo, so this PR is complete coverage for this repo.

After this lands every persona will boot with a working clone again.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 12:59:14 -07:00
bd24687e41 Merge pull request 'fix(personas): migrate gh CLI → tea (Gitea CLI) + curl-via-API across 58 personas (#45)' (#3) from fix/persona-gh-to-tea-migration into main
All checks were successful
CI / validate (push) Successful in 9m37s
2026-05-07 10:01:33 +00:00
documentation-specialist
2700b9dfd4 fix(personas): migrate the missed gh search + gh discussions patterns (#45 follow-up)
All checks were successful
CI / validate (push) Successful in 9m38s
CI / validate (pull_request) Successful in 9m38s
Initial sweep missed:
- gh search issues --owner Molecule-AI (devops-engineer + plugin-dev)
- gh search prs --owner Molecule-AI (plugin-dev + triage-operator)
- gh search issues 'org:Molecule-AI ...' (devops-engineer)
- gh discussions narrative (community-manager)

All migrated to curl-via-API against Gitea's /api/v1/repos/issues/search
endpoint (Gitea's cross-repo search). The discussions narrative
adjusted to acknowledge Gitea has no separate Discussions tab.

Refs: molecule-ai/internal#45
2026-05-07 02:55:02 -07:00
documentation-specialist
d7758fd11b fix(personas): migrate gh CLI → tea (Gitea CLI) + curl-via-API (#45)
Some checks are pending
CI / validate (push) Waiting to run
Mass-sed across all 58 persona dirs in molecule-ai-org-template-molecule-dev.

Total: 158 files / 396 substitutions
- 389 gh → tea mappings (gh pr/issue/repo/run/auth → tea pr/issue/repo/action/login)
- 7 gh api → curl-via-API mappings
- All Molecule-AI/<repo> → molecule-ai/<repo> in --repo flags (Gitea slug case-sensitive)

Plus SHARED_RULES.md migration callout block + tea install snippet:
- Tea v0.9.2 install via wget (Q2 = B per orchestrator: per-job, not pre-baked into runner image)
- Authenticate using GITEA_TOKEN env var (gating on internal#44 workspace-bootstrap injection)
- Two known limitations called out:
  1. GITEA_TOKEN required for tea/curl auth (internal#44 pending)
  2. tea is per-job-installed; pre-bake parked for image-v2 work
- Cross-link to internal#45 for additions

Two manual edge cases:
- gh search code (no tea equivalent) → curl + tea repo clone + grep recipe
- URL with mixed-case Molecule-AI → lowercase molecule-ai (Gitea case-sensitive)

3 narrative GH_TOKEN references in SHARED_RULES.md intentionally preserved
(describe an env var name, not commands).

Q1=A (mega-PR) per orchestrator dispatch 2026-05-07T09:50:08.

Refs: molecule-ai/internal#45, molecule-ai/internal#44 (GITEA_TOKEN dep)
2026-05-07 02:54:35 -07:00
security-auditor
968609d3d8 ci: re-trigger after orchestrator recreated runners 1-8 (CONFIG_FILE env)
Some checks failed
CI / validate (push) Has been cancelled
Per saved memory feedback_act_runner_needs_config_file_env: runners 1-8
were spawned without -e CONFIG_FILE=/config.yaml; act_runner fell back
to /data/config.yaml and ignored runner.envs the whole time. Orchestrator
recreated 1-8 with full proper env. All 16 now uniform with
AGENT_TOOLSDIRECTORY + RUNNER_TOOL_CACHE + GITHUB_SERVER_URL + GH_HOST.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 02:51:28 -07:00
security-auditor
942743958e ci: re-trigger after orchestrator restarted runners 1-8
Some checks failed
CI / validate (push) Failing after 21s
Per saved memory feedback_runner_config_partial_deploy: orchestrator
identified that runners 1-8 last restarted before AGENT_TOOLSDIRECTORY
+ RUNNER_TOOL_CACHE were added; cycle 7 retrigger landed ~50% on stale
runners. Orchestrator restarted 1-8 at ~09:37; this empty commit
re-triggers CI on the now-consistent runner pool.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 02:41:34 -07:00
security-auditor
9fa4c00aa0 ci: re-trigger after runner-config v2 (AGENT_TOOLSDIRECTORY etc.)
Some checks failed
CI / validate (push) Failing after 11s
Empty commit to re-run CI against the act_runner config that landed
in /opt/molecule/runners/config.yaml (cycle ~58 internal#46 Phase 3).
No source change. CI now runs setup-python with /tmp/hostedtoolcache,
which works (verified in cycle 6 task 1022 log, careful-bash#2).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 02:28:00 -07:00
c90ad03fb1 Merge pull request 'fix(ci): lowercase 'molecule-ai/' in cross-repo workflow refs' (#2) from fix/lowercase-org-slug into main
All checks were successful
CI / validate (push) Successful in 9m40s
2026-05-07 08:59:06 +00:00
security-auditor
d32775e99a fix(ci): lowercase 'molecule-ai/' in cross-repo workflow refs
Some checks failed
CI / validate (pull_request) Failing after 0s
CI / validate (push) Failing after 0s
Gitea is case-sensitive on owner slugs; canonical is lowercase
`molecule-ai/...`. Mixed-case `Molecule-AI/...` refs fail-at-0s
when the runner tries to resolve the cross-repo workflow / checkout.

Same fix as molecule-controlplane#12. Mechanical case-correction;
no behavior change beyond making CI resolve again.

Refs: internal#46

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 00:59:54 -07:00
3a85058896 import from local vendored copy (2026-05-06)
Some checks failed
CI / validate (push) Failing after 0s
2026-05-06 13:53:42 -07:00