Skip to content

[Feature] F2.1: Architecture decision for folder, dependency, and release boundaries #8213

Description

@sfmskywalker

Final architecture closeout — 2026-10-09

The owner-approved root-product layout is delivered and verified on main. Both native children #8628 and #8667 are closed, and this feature has no open native blocking dependencies. #8667 records its exact-head review/CI, structural-main proof and final documentation correction merged through #8668/#8669/#8674; its final accepted structural merge is 658a9da.

The lead freshly read Core main as 8802a88 and verified that accepted structural merge remains its ancestor. Main contains all nine owned src/test/docs directories under core/, extensions/ and studio/, with no active legacy root src/, test/ or doc/. The dated accepted docs/adr/2026-10-08-product-directory-boundaries.md supersedes the prior folder-location choice. The only four changed paths after structural acceptance are contributor-routing records; the product layout, build/test/tooling and ADR bytes are unchanged. Existing hosted tests retain their original source identities and provider-skip limits; they were not rerun or relabeled here.

This closes the architecture feature and removes its stale Agent Ready signal. It does not close #8216/#8220 maintenance/publisher/archival, #8217 individual-product release implementation, #8219 compatibility or the complete program. All later owner-selected maintenance/npm/dependency/routing/archival policies remain recorded by #8194 and their owning Features. #8677 remains the sole active delivery Task and #8679 the sole next-ready leaf; Slack remains deferred.

Historical checkpoints below retain their original dates and were superseded by the accepted layout and later owner decisions.

Program: #8194
Parent: #8197
Planning ID: F2.1

Outcome and scope

Record migration/history strategy, folder mapping, dependency boundaries, and release units in a dated ADR under doc/adr; account for actual src/modules, src/extensions, test/, and build/ conventions.

Acceptance criteria

  • Deliver the specified capability and demonstrate each behavior above with targeted checks or documented research evidence.
  • Preserve existing package/activity identities and supported contracts, or provide an explicit migration.
  • Document setup, limitations, dependencies and verification results.

Readiness

Planned feature, not yet implementation-ready. Refine stories/tasks against audit findings and the parent epic's acceptance criteria before coding. Do not introduce speculative abstractions or assume current capability gaps.

Follow AGENTS.md, existing test/ conventions and dated ADRs under doc/adr/. Scope is Elsa 3 unless explicitly a portability assessment. Repository consolidation includes Core, all Extensions, and Studio; release boundaries remain explicit and independent.

Hierarchy: native parent/sub-issue relationships verified on 2026-09-23. Explicit blocking dependencies are configured separately; Markdown links remain references. See #8194.

Pre-closeout acceptance checkpoint — 2026-10-06

The source/history import is delivered, not future rehearsal work: #8409 landed it on main, #8214/#8286 are closed with final receipts and CI, and #8624 completed the later release/source catch-up. #8547 delivered the solution folders/filters and Foundation project-reference boundary without additional on-disk moves. #8524/#8525 record the collision/Secrets and retained build/publisher-asset decisions. These merge commits were verified as ancestors of Core main 6dbfc58624c28e147a90e2d2b0d1a610817012e2.

The accepted 2026-09-28 ADR governs the first consolidated 3.10 lockstep release. Original repositories retain 3.8/3.9 maintenance publication; independent connector release streams remain later E3 work. The original ledger's 61 pending entries are a frozen pre-supplement snapshot, not a current missing-work count. #8286's import closeout recorded 161/163 dispositions; the two Dependabot operational checks are separate from architecture acceptance and must be verified from current state before claiming completion.

This feature remains open for the narrow reconciliation of its existing dated history ADR and architecture record: reflect the landed import, the #8547 folder/dependency decision, and the accepted lockstep exception with links to the existing evidence. Do not invent another architecture, reopen completed import work, or infer full package/runtime/cutover acceptance from these records. #8626/#8219 and #8216/#8220 retain their separate package, compatibility and cutover gates.

Historical ready slice after accepted inventory — 2026-09-23

Root is implementing a disposable import rehearsal and dated ADR. Verify an explicit source-to-destination map for every tracked Extensions/Studio file, target collisions, full blob/mode preservation, and reachability of each original source commit. Keep imported workflows/build inputs inert until deliberately integrated; no source repository publishing cutover.

Compare history approaches: rewritten path history plus commit map versus original source histories retained as merge parents with an exact file relocation receipt. Choose based on verified provenance and reviewability. Five duplicate package IDs must have one active canonical source; preserve superseded source as historical evidence, not another buildable/publishable project. Canonical selection still requires compatibility review; the rehearsal is not the migration.

Acceptance of this slice requires reproducible commands, negative checks for missing/duplicate paths, a successful pinned-source rehearsal, and an explicit remaining project-reference/build/package ownership ledger. Existing #8214 and #8215 retain implementation and co-debug ownership.

Accepted closeout — 2026-10-06

Architecture acceptance is complete. #8628/#8630 reconciled the dated history ADR with the actual history-preserving import #8409, source/release catch-up #8624, #8547 solution folders and Foundation project-reference boundary, and canonical Secrets dispositions. Existing implementation commits are ancestors of main 6dbfc58624c28e147a90e2d2b0d1a610817012e2; the final documentary reconciliation is merged on the program branch at 3413534. The first consolidated 3.10 lockstep release, source-repository 3.8/3.9 maintenance and later independent release streams/npm decision remain distinct. All native children are closed. This closes the architecture feature only. The two product Dependabot discovery/feed-access checks remain unfulfilled operational work under #8220, and package/runtime compatibility and live cutover remain under #8216/#8219/#8220.

Owner-approved follow-up — 2026-10-08

The owner has now required root siblings core/, extensions/ and studio/, each with owned src/, test/ and docs/, shared root solution/tooling and central dependency policy. This supersedes the earlier choice to keep the imported source under the existing root src/ layout. Reopening this feature records additional authorized scope; the prior architecture/history acceptance above remains historical evidence and is not retracted.

Implementation and verification are tracked in #8667. #8666 remains the only active delivery Task; the relocation is queued for coherent integration and is mandatory before final program acceptance and the final release/cutover candidate. No further owner decision is needed for the approved top-level layout.

Existing package/activity identities, dependency rules, the accepted first consolidated 3.10 lockstep release, later independent release streams and all publication/cutover gates remain unchanged.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    elsa 3This issue is specific to Elsa 3enhancementNew feature or requestprio highIs on the roadmap for the near-futuretriaged

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions