test(local-e2e): verify dev-department extraction end-to-end via real resolveYAMLIncludes #103
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "test/e2e-dev-department-extraction"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Local e2e for the dev-department extraction (internal#77). Exercises the FULL platform import path against the real, post-extraction repos cloned as siblings on the local filesystem.
Verification result (run on this Mac, 2026-05-08)
What this test proves
Hongming asked for local-only verification (not staging) before any prod-side rollout. This test proves through real platform code:
dev-leadsymlink →../molecule-dev-department/dev-lead/.resolveYAMLIncludesfollows it (string-level security check passes, file-read follows the link).dev-lead/workspace.yaml children:uses./core-lead/workspace.yaml. Recursive resolution chains 4 levels deep without...Documentation Specialistis reachable (under app-lead via app-docs sub-team) andTriage Operatoris reachable (direct child of Dev Lead).Setup contract
Test skips (does not fail) if the local fixture isn't present, so CI on other hosts is unaffected. To run locally:
Refs
Phase 4 (local-only) of internal#77 (dev-department extraction). Adds TestLocalE2E_DevDepartmentExtraction that exercises the FULL platform import path against the real molecule-ai-org-template-molecule-dev (post-slim) and molecule-ai/molecule-dev-department (post-atomize) repos cloned as siblings under /tmp/local-e2e-deploy/. What it proves end-to-end: - The dev-lead symlink at parent's template root is followed by resolveYAMLIncludes (filepath.Abs/Rel-style security check passes, os.ReadFile follows the link). - Recursive !include chain through the symlinked subtree resolves: parent's org.yaml → !include dev-lead/workspace.yaml (symlinked) → !include ./core-lead/workspace.yaml → !include ./core-be/workspace.yaml (atomized children: paths, no '..'). - 39 workspaces enumerate after resolution: 5 PM-tree + 6 Marketing-tree + 28 dev-tree (Dev Lead + 5 sub-team leads + 18 leaf workspaces + 3 floaters + 1 triage-operator). - Q1+Q2 placements verified by sentinel name check: 'Documentation Specialist' is reachable (under app-lead via app-docs sub-team), 'Triage Operator' is reachable (direct child of Dev Lead). Test skips with t.Skipf if the local-e2e fixture isn't present on the host — won't block CI on hosts that haven't set it up. To set up locally: TESTROOT=/tmp/local-e2e-deploy mkdir -p $TESTROOT && cd $TESTROOT git clone https://git.moleculesai.app/molecule-ai/molecule-ai-org-template-molecule-dev.git molecule-dev git clone https://git.moleculesai.app/molecule-ai/molecule-dev-department.git cd /Users/<you>/molecule-core/workspace-server go test -v -run TestLocalE2E_DevDepartmentExtraction ./internal/handlers/ Verified locally 2026-05-08: --- PASS: TestLocalE2E_DevDepartmentExtraction (0.01s) total workspaces (recursive): 39 Refs: internal#77 — extraction RFC molecule-core PR #102 — symlink-resolution contract test molecule-ai/molecule-dev-department PRs #1, #2, #3 (scaffold + extract + atomize) molecule-ai/molecule-ai-org-template-molecule-dev PR #5 (parent slim + symlink wire) Hongming GO 2026-05-08 ('lets not go for staging right now, we do local test first') SOP Phase 4 (local) — task #226LGTM. Pure additive integration test, skips when fixture absent. Verified locally — passes against the actual post-extraction repos.