Repository navigation
[Task] Relocate Core, Extensions and Studio into separate root product directories #8667
Description
Activity
- addedelsa 3This issue is specific to Elsa 3This issue is specific to Elsa 3
on Oct 8, 2026 Structural relocation checkpoint — 2026-10-08
Following the owner priority change, this is the sole active implementation Task. The deferred Socket branch/worktree is preserved separately and is excluded from this migration.
The lead created isolated branch
codex/product-directory-isolation-8667from accepted shared integrationc98ba68951178b0be7f39deeb9d4bda4cd678e77, then merged current mainbf4020b49fb724f439cb9384b99adaa63c2e5a91as baselinefee3a6da59db56c231ea89ca24fcd3393b615024. This preserves the later container/Dashboard release-policy work.Pure relocation commit
78ada291063930334b282f1db64e275847368347moves 10,251 files into the approved product roots and shared documentation locations. The lead independently compared the staged Git index with every baseline blob and file mode: all 10,910 tracked baseline entries are preserved exactly, with zero destination case/file-directory collisions. Only the ordered relocation manifest was added in that commit. This is a local path-migration checkpoint, not a build or final-main acceptance claim.The lead recorded the dated directory-boundary ADR and a complete relocation-inventory/provenance check. Bounded workers now update project/import/asset and solution paths; CI/build/Docker/proof consumers; and current documentation/navigation. Existing colocated Studio tests stay inside Studio's product boundary, with actual paths documented. Cross-product integration fixtures stay in the integrated solution and retain their owners.
Next verification is the integrated path/reference checks followed by hosted builds/tests and package proof on one coherent head. No source repository has been archived, no publisher has been switched and no package has been published. The outstanding owner decision about preserving 3.8/3.9 maintenance after source archival is explicit and does not block this relocation.
Structural delivery is now in PR #8668 at
66753dbdbc95015e495a6b68c594754ff682c8fc, targeting the shared integration branch. This remains the sole active Task; readiness is In Review and verification Running.The lead integrated separate project/solution, tooling and documentation slices and resolved review findings in historical path consumers, exact relocation inventory, source-symbol validation and scoped Studio policy audits. Local checks verify every one of the 10,910 original blobs/modes at the pure move and current mapped destination coverage, all 1,173 project references, generated solution/filter consistency, Dependabot coverage, 95 tooling regressions in normal/optimized Python, 26 mocked runner guards and three relocated Workbench fixture cases. The Core filter contains 181 projects. These are static/mocked checks, not actual SDK, package or browser acceptance.
Hosted CI has started on the PR head; solution grouping, ADR index and publication-selection guards are already green. Builds, tests, Studio assets and package/source-symbol proof remain running. A separate reviewer who authored none of the change is reviewing the exact candidate. Greptile and Copilot were requested; no complete review gate is claimed.
Fresh remote main remains
bf4020b49fb724f439cb9384b99adaa63c2e5a91and shared integration remainsc98ba68951178b0be7f39deeb9d4bda4cd678e77; both are included. Deferred Socket work remains excluded. Publisher authority, contribution handoff, the 3.8/3.9 maintenance decision and final source archival are still open cutover work. This PR does not close #8667 until the layout reaches main and its final acceptance checks pass.Structural relocation progress at
888d22ab974a35b4bc3c487b438f20374e1265aain PR #8668. This remains the sole active delivery task; deferred Socket work is excluded.The historical bridge staging correction preserves original source pins/templates and adapts only copied project references to the pinned checkout layout. Seventeen targeted tests pass normally and under optimized Python. Independent Elsa 3 source approval is reconfirmed on this exact head; required CI and Greptile remain separate gates.
Current-head focused Studio browser/frontend, Studio Core package provenance, existing Slack package artifact, Secrets API/host, Dapper, execution-cycle and Mongo checks passed. Retained artifact/input hashes were audited within each lane's documented scope. Integration tools has passed the previously failing SQLite bridge and continues through PostgreSQL/SQL Server. The relocated Docker smoke workflow, broad builds/tests, consolidated package proof and manually dispatched affected tests remain running. Skipped PR-only execution steps are not counted as test passes.
Freshly fetched
main(bf4020b49fb724f439cb9384b99adaa63c2e5a91) and shared integration (c98ba68951178b0be7f39deeb9d4bda4cd678e77) are both ancestors of this candidate. Neither branch has advanced since preparation. No merge, package publication or repository archival has occurred. Final acceptance still requires completed exact-head gates, integration/main promotion, and verified resulting layout.Verification checkpoint for stable candidate
00411a3548fb5c165c4fca062fc783944fb41608in PR #8668. The task remains In Progress / In Review / Verification Running, and is the board's only active delivery Task.Completed on this exact revision:
- Product development entrypoints: the documented Core, Extensions and Studio solution-filter build commands passed at project defaults after the reviewed ClientLib build. The original artifact digest, source/tree receipt, actual successful build steps and unchanged tracked source check were verified.
- Docker smoke: four source image builds and all16 public/custom-certificate TLS requests passed. This proves those source build paths and image/TLS plumbing, not configured web-host or release-image acceptance.
- Integration tools: full discovery and all three historical Secrets bridge steps passed; skipped tests retain their declared status.
- Execution:879 passed. Mongo:113 passed plus the two intended baseline regression failures. Admission:180 passed, including158 correlated contract cases and12 crash/restart observations. Fresh original artifact digests, source bindings and retained outcomes were audited.
- Studio frontend/browser, Studio Core three-framework package provenance, existing Slack artifact proof, Secrets API/host, Dapper, solution/ADR and publication-policy checks passed within their focused scopes.
Independent source approval is current. Broad solution/Core tests, actual imported-source affected tests, consolidated/mapped package proofs and Greptile are still pending. No merge or acceptance closeout yet; source archival, publisher cutover and first-release outcomes are separate. The updated PowerShell launcher has isolated command/exit-code verification; no actual IDE breakpoint session is claimed.
Verification update for #8668 at
00411a3548fb5c165c4fca062fc783944fb41608:- The normal PR build, package builds, unit/integration and component jobs, and mapped-source artifact job are now successful. Publication jobs were intentionally skipped; no publication is claimed.
- Actual affected-test execution completed all 59 selected projects: 4,986 passed, zero failed, one pre-existing skipped clustered-deletion test. The strict runner correctly leaves the gate incomplete. The original failure and receipts are retained; this is not a passing gate.
- A bounded repair is being made to that dormant test: real three-pod registry convergence after actual deletion, unique test data, disposed scopes and finite waits. Its skip policy will remain unchanged; hosted execution is still required.
- Greptile reported 4/5 with a valid release-profile adoption finding. The saved custom inventory overwrite is fixed locally, with 71 tests passing normally and under Python optimization and independent source approval. It will be pushed together with the test repair after review.
#8667 remains the sole active Task, now Assigned / Verification Failed while the concrete corrections are prepared. Existing successful evidence is retained at its actual revision; it will not be represented as acceptance of a newer head. Consolidated package proof is still running on the current remote head.
Slack remains deferred, React discovery remains after cutover, and no merge, release, publisher change or archival has occurred.
The two concrete review/verification corrections are now pushed in #8668 at
5fda9fc597d56acd7db08a856534ef435d8a59c4.- Saved custom release-profile inventories are preserved; 71 normal and 71 optimized Python tests passed.
- The existing clustered-deletion test is restored with real import/deletion, durable-store absence and automatic convergence across all three pods. No test exclusion or production behavior was changed. Runtime acceptance remains pending.
- Independent source review reconfirms APPROVE + HIGH on this exact head. Greptile is requested; no final merge gate is claimed.
- Deterministic relocation verification still preserves all 10,910 original files/blobs/modes. The candidate worktree is clean.
Fresh hosted gates include actual affected tests, Packages, consolidated package proof, product entrypoints and Docker certificate checks. These runs are pending, not passing evidence. The superseded consolidated run37793076615 was cancelled and verified terminal.
#8667 remains the sole active delivery Task, In Progress / In Review / Verification Running. It stays open through main promotion and final-main acceptance. Slack remains deferred; React discovery starts after cutover. No merge, publication, publisher transition or archival has occurred.
Current-head verification at
5fda9fc597d56acd7db08a856534ef435d8a59c4:- The repaired clustered-deletion case executed and passed. The original Packages component TRX contains 227 executed/passed cases, zero failed and zero skipped; the restored case took 3.66 seconds. The full affected-test closure is still running.
- Fresh Studio browser/frontend, Studio Core package provenance, existing Slack artifact regression and Secrets source/HTTP-contract checks passed within their recorded scopes. This is not full Studio or live Slack acceptance.
- Mongo run37798786542 attempt1 failed one label-store test: 102 passed, one failed, zero skipped; all 20 atomic-update cases passed. Compilation succeeded, but the retained sanitized receipt lacks the underlying failure message, so the cause is unknown. Original artifact11560067228 and failure receipt are preserved. The relevant proof inputs, failed fixture and store are byte-identical to the previous passing revision.
- One controlled retry of that failed job has been requested at the same head to test whether it recurs. A later pass will not be presented as a root-cause diagnosis; a repeated failure requires additional diagnostic evidence. No assertions, exclusions or timeouts have been changed.
Remaining broad CI, package proof and required Greptile review are still pending. No merge or operational cutover has occurred.
Follow-up: Mongo attempt2 passed on the unchanged head. The original artifact11560990460 contains 103 Mongo and 10 BPMN passes, zero skips, the required 20 atomic-update cases, two expected baseline failures and all three production framework builds. The lead rechecked original artifact/receipt hashes. Attempt1 remains preserved with its cause unestablished; no source correction or gate relaxation was made.
Fresh original-artifact audits also verify execution-cycle (879 passes), Admission (158 observed cases plus 22 Core guards), all three literal default product-filter builds, four Docker image builds and 16 certificate requests. Counts overlap across lanes and are not additive. Docker evidence covers the dedicated TLS executable in built images, not configured Apps release acceptance. Source, package and runtime receipts remain limited to the scopes they exercised. The broad affected closure and consolidated package proof are still pending.
Further exact-head evidence for #8668 at
5fda9fc597d56acd7db08a856534ef435d8a59c4:- Full PR run37798786878 passed: 7,865 passed, 144 existing UserTasks provider skips, zero failures. Its actual PR merge tree matches the reviewed candidate exactly. The skipped provider cases remain unverified.
- Packages run37798769063 passed: 5,050 unit/integration passes plus 227 component passes, with the same 144 provider skips. Counts overlap with the PR run and must not be added. All 110 ordinary package/symbol pairs identify this exact source commit; original artifact11560423862 digest is
5d6e5a1bed9fcb6d63b9cdff0750d55ea784a6052b50b7d5650ecf3ae446cc3b. Publishers were skipped. - Fresh Integration tools and mapped package rehearsal artifacts were audited. Historical source pins and the upstream skipped Slack test retain their explicit limits; these do not replace the full consolidated proof.
- Candidate ancestry checks retain all previously audited release/source identities: 73 logical checks, 26 distinct Git ancestry checks. This reuses the 14:51 UTC remote identity snapshot; it is not a fresh remote-ref freeze.
Actual affected-test execution 37798847134 is now accepted: all 59 selected project/TFM identities ran, 4,987 tests passed, zero failures or skips, with clean source before/after. Original artifact11561970886 ZIP digest is
86f9a6cada63463ed83738e9a13d2b4dff95a4532e925d04ef52e0aaeafe1ff6; receipt digest is572a16a68ddbce6febab8fb151db0fdd89bad1b61a583b213e83112a1b4792fb. The retained affected receipt contains TRX hashes rather than raw TRXs; the repaired clustered case is independently present and Passed in the original same-head Packages component TRX. Only consolidated package proof37798786787 remains live before integration-branch acceptance. Independent source approval and Greptile5/5 are current; no unresolved review threads remain. #8667 still requires subsequent main promotion and final-main verification.During this wait, read-only #8216 preparation refreshed all31source PR identities and prepared contribution-routing records. No second delivery Task was activated, source contribution closed, release published or repository archived.
#8668 is accepted and merged into the shared integration branch at
b117406d8e1436855c0ba25a2b4b943044b17002. Its tree exactly equals reviewed candidate5fda9fc597d56acd7db08a856534ef435d8a59c4; both expected parents and retained baseline/pure-move ancestry were verified. Exact-head acceptance and evidence.Main promotion #8669 is now OPEN against
bf4020b49fb724f439cb9384b99adaa63c2e5a91. Its new-head CI and independent review are running. The manual affected-test execution was dispatched because the pull-request lane only selects tests; Docker smoke runs automatically for the main-target PR. Earlier 5fda evidence stays attributed to 5fda, even though the tree is identical.#8667 remains the sole active Task, In Progress / In Review / Verification Running, confirmed from all147 board items. Main merge and final-main layout/source/release inclusion are still outstanding. Slack remains deferred; source repositories remain writable, and no publication or archive operation occurred.
Actual-main verification is complete for merge
598f8fef28cdca503d20373c2e5cd09e129024d2. Packages run 37812931828 succeeded on its original attempt: 5,050 unit/integration passes plus 227 component passes, zero failures, and 144 existing UserTasks provider skips. The skipped cases remain unexecuted.The lead independently checked five original artifact ZIPs against API sizes/digests, all 220 package/symbol nuspecs against the actual main commit and 110 matching ID pairs, the component TRX, and original test/analysis log hashes. Packages use
3.10.0-preview.5884; they are CI artifacts, not a published release. Original unit summaries were independently re-parsed for all 64 assembly/framework rows. Docker, publication guards and managed CodeQL/Code Quality also succeeded; their previously recorded scope limits remain. All package publisher and coverage deployment jobs were skipped. Ordinary package CI does not replace the separately retained consolidated consumer evidence.Final main broad-audit SHA-256:
66c56f172bcacb2c6d15a7a12b1b6bdc92bd46b5666fc8431880cccecfb69a3b.#8667 remains the sole active Task only for the documented operator-path correction #8674 and its exact-head CI/merge verification. The correction has independent APPROVE + HIGH and Greptile 5/5; CI is still running. #8670 remains queued, with fresh contribution intake unchanged at 205 issues and 31 PRs. No source transfers, closures, package publication or archival occurred.
Program: #8194
Parent: #8213 (under #8197)
Related: #8215, #8216, #8219, #8220, #8636
Outcome
Implement the product owner's 2026-10-08 approved final layout: root siblings
core/,extensions/andstudio/, each with its ownsrc/,test/anddocs/. Preserve the shared root solution, common build/release tooling and central dependency policy. This replaces the previous on-disk layout decision, while retaining accepted source-history import and release catch-up work.Scope and implementation boundary
Use an isolated worktree from the then-current shared program integration branch, preserving user changes and all accepted source work. Inventory tracked files and path-sensitive consumers before moving anything. Build on the accepted shared integration branch and current main, retaining Core main's later release verification work. Exclude the deferred, unmerged #8666 Socket branch; preserve that branch/worktree separately. Reuse Git moves and a reproducible old-to-new map; account for every tracked source/test/doc/sample/build asset and avoid duplicate active projects or retained compatibility copies of production source.
Move current Core-owned source/test/docs under
core/; move imported Extensions source/test/docs underextensions/; move imported Studio source/test/docs understudio/. Preserve useful internal product groupings. Product-specific samples/assets belong with their product; rootdocs/holds cross-product architecture/operations. Keep shared.github/,build/,scripts/, root solution and central MSBuild/package policy at root, with explicit product overrides. Classify cross-product tests and tooling by actual ownership. Do not invent additional public APIs, alter package/activity/schema identities, drop tests or combine this relocation with unrelated refactors.Acceptance criteria
src/,test/,docs/; reconcile all existing product docs, samples and build assets. Verify every tracked path has an explicit destination or documented cross-product root role; preserve history, content/modes and source-release inclusion.Sequencing and verification
This is required before final program acceptance and before producing the final release/cutover candidate. Keep exactly one active delivery Task. On 2026-10-08 the owner explicitly prioritized structural consolidation and source-repository cutover over production Slack delivery. #8666 is now deferred and its implementation workers have stopped. This Task is the sole active implementation Task, starting from accepted integration/current main without importing the deferred Socket branch. Preserve the separate Slack work for later scheduling; it does not block this relocation or structural cutover.
Heavy .NET/Node/container verification runs hosted while the shared workstation is loaded. The lead owns integration, final QA and public evidence; delegate bounded path inventories and reviews using the approved worker model policy. Existing #8216/#8219/#8220 publication, compatibility and operational requirements remain separate and mandatory.
Final structural acceptance — 2026-10-08
Accepted on main at
658a9da06b2b77417f5c07eee00fff68478ba15c. The history-bearing relocation was merged through #8668/#8669; documentation correction #8674 is now merged after exact-head independent APPROVE + HIGH, Greptile 5/5 and successful CI. Correction acceptance.The lead verified the actual final main commit and both expected parents, its tree equality with reviewed
875b69259609fb8ea36a6284e44ca7367ecc281f, unchanged tracked paths relative to the verified structural merge, all three product roots and preserved baseline/import history. Only the nine reviewed Markdown files differ from the already verified structural main; its 10,910 baseline mappings and build/runtime evidence remain bound to their original commits. Final release/source observation at 17:48:53–17:49:10 UTC again passed all 35 selected 3.8.x/3.9.0 refs and current source-main inclusion, with stable advertisements. Audit SHA-256:ee3e34887972677970c962b07d7ac9dc7817834cd9eefb266e040ac5e452d3a6.Actual structural-main verification passed 5,277 tests with 144 existing provider skips, package build, Docker, publication guards and analysis. The documentation correction's own full PR job passed 7,865 tests with the same 144 skips, and its Packages workflow succeeded. Counts overlap; skips remain unexecuted. No additional runtime proofs were required for the Markdown-only correction, and no results are relabeled as newly executed on the final merge SHA.
This closes the bounded structural milestone: consolidated sources/history, approved directories, corrected tooling/developer paths and appropriate verification on main. Contribution handoff #8670 and the selected maintenance/npm publisher replacement, live cutover, publication and archival outcomes remain separately tracked. Slack remains deferred. No repository was archived and no package was published by this task.
Historical documentation correction checkpoint — 2026-10-08
Post-merge inspection found 18 copyable operator paths still using the old documentation locations. Follow-up PR #8674 corrects nine Markdown files at
875b69259609fb8ea36a6284e44ca7367ecc281f; the developer-command acceptance item is reopened until it merges and is verified. Independent review is APPROVE + HIGH and Greptile is 5/5 on that exact head; automatic CI is pending. Historical checkout-specific paths and receipt contents remain unchanged.Actual-main Docker 37812931836 and publication guard 37812931676 have now passed and the lead verified their original logs: four container images / 16 TLS responses, and 185 publication guards under each of normal and optimized Python. These do not prove application startup, publication or cutover. Main CodeQL/Code Quality succeeded; original main Packages 37812931828 remains under observation. Duplicate branch Packages 37812989971 is confirmed cancelled. #8667 remains the sole active Task; #8670 remains queued.
Main promotion checkpoint — 2026-10-08
PR #8669 merged as
598f8fef28cdca503d20373c2e5cd09e129024d2at 16:58:13 UTC. Its parents are former mainbf4020b49fb724f439cb9384b99adaa63c2e5a91and reviewed integrationb117406d8e1436855c0ba25a2b4b943044b17002; its tree exactly matches the accepted candidate. Exact-head acceptance.The lead checked out the actual merge in the clean isolated worktree. Layout verification confirms all 10,910 baseline destinations and pure-move blobs/modes preserved, with 296 separately accounted later content changes and 10,920 current tracked files. Solution/filter and generated ADR checks pass. Fresh final-main source intake verifies all 35 selected 3.8.x/3.9.0 refs and all source-main tips are included; 3.9.0 remains the latest/newest published release in each repository. The snapshot stayed stable during 77 logical / 45 unique ancestry checks.
The final criterion remains open while the automatic main-push checks run: Packages 37812931828, Docker 37812931836, publication guard 37812931676 and CodeQL/Code Quality. Candidate evidence retains its actual b117 provenance; it is not relabeled as newly executed main-SHA evidence. Restoring the automatically deleted shared integration branch queued duplicate Packages 37812989971; cancellation was requested to avoid repeating the main run. No publication, deployment or archival occurred.