research: multi-repo refactor — 5 candidate shapes + recommended 3-phase sequencing (D→A→E)#150
research: multi-repo refactor — 5 candidate shapes + recommended 3-phase sequencing (D→A→E)#150
Conversation
…ase sequencing
Aaron's 2026-04-23 directive: *"we can even wait on the demo until we
have refactored into our multi repo shape... that seems very
structural and like we should do it sooner rather than later, but
it's up to you."*
Per `memory/feedback_factory_reuse_packaging_decisions_consult_aaron.md`,
big shaping decisions need consultation. This doc IS the consultation
prep — prior-art + candidates + trade-offs + my recommendation.
## What lands
`docs/research/multi-repo-refactor-shapes-2026-04-23.md` — ~230 lines
covering:
### Prior art surveyed
- AI-agent-factory patterns (Claude Code plugins, Anthropic skills,
OpenAI Agents SDK, Semantic Kernel)
- Template / overlay (GitHub templates, Cookiecutter, Nix flakes)
- Monorepo tools (Nx, Turborepo, Lerna, pnpm, Bazel, .NET solutions)
- OSS splits that worked (VS Code, Rust, Kubernetes) vs failed
(early Android, Eclipse)
- **Lesson extracted:** split when there's a clear consumer boundary
+ tooling enforces it; stay monorepo when things co-evolve tightly.
Zeta + factory is at the transition point.
### Current monorepo inventory
Classifies every top-level directory as generic-factory vs
Zeta-specific vs Aurora-specific. Real separation exists but with
boundary overlap.
### Five candidate architectures
- **A. Template-repo** — clone-and-customize; no update flow. Easy
to land, but adopters diverge.
- **B. Git submodule** — updates flow, but submodule UX is rough.
- **C. Plugin / package (NPM-like)** — version-pinned dependency
model. Familiar, but slow update cadence.
- **D. Formalised monorepo** — namespaced boundaries, no
extraction. Cheapest, doesn't enable reuse.
- **E. Overlay pattern** — factory-apply tool + publishable
components. Best of both worlds, but requires tool investment.
### My recommended sequence: D → A → E
- **Phase 1 (now): D** — reorganise the monorepo into
`factory/` + `library/` + `aurora/` + `research/` top-level
directories. Enforce via CI lint. Cheap, clarifies the mental
model, unblocks future extraction without committing to it.
- **Phase 2 (first adopter): A** — extract `factory/` as a GitHub
template repo. Standard OSS playbook.
- **Phase 3 (adopters > 3): E** — invest in `factory-apply` tool +
overlay discipline when update-flow friction is real.
### Aurora-specific consideration
Aurora lives in the current `zeta` repo through Phase 1. At Phase 2,
`zeta-aurora` gets extracted concurrently with the factory extraction,
giving Amara a dedicated repo she can read end-to-end in her
deep-research mode.
### Questions for Aaron
Five open questions where packaging choices genuinely need his input:
1. Sequencing (D-A-E vs alternates)
2. Phase 2 trigger definition ("first adopter appears" is vague)
3. Aurora repo timing (Phase 1 / 2 / later)
4. Naming (`zeta-factory` vs `agent-factory` vs `glass-halo-factory`)
5. In-flight PRs handling during extraction
## My choice to ship this now
Aaron said packaging decisions need consultation; my job is to
*prepare* the consultation with prior-art + candidates + trade-offs
+ recommendation. That's what this doc is. Aaron reviews on his
cadence (per his 2026-04-23 framing that he has a decision log he
reviews often and nudges when he disagrees).
## What this does NOT do
- Does NOT start any extraction work. Phase 1 reorganisation is
MY recommendation, not a unilateral decision. Aaron's review
gates Phase 1 execution.
- Does NOT commit to Phase 2 / 3 timing — those depend on adopter
signals that don't exist yet.
- Does NOT propose novel split-discipline tooling without prior-art
anchoring — every candidate is grounded in a shipped OSS pattern.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 399b504c43
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| - `memory/feedback_factory_reuse_packaging_decisions_consult_aaron.md` | ||
| (the rule that required this research doc before any | ||
| shaping move lands) | ||
| - `memory/project_factory_reuse_beyond_zeta_constraint.md` |
There was a problem hiding this comment.
Replace dangling memory paths with tracked artifacts
This section cites memory files that do not exist in the repository (I checked memory/ with rg --files), so readers cannot verify the constraints this research note claims to compose with. Because this doc is framing a structural refactor decision, broken source references undermine the audit trail and make follow-on decisions harder to validate; please update these entries to existing files (or add the missing memory files before referencing them).
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Pull request overview
Adds a research document to prepare a decision on how to refactor Zeta into a multi-repo (or structured monorepo) shape, surveying prior art and comparing five candidate architectures, with a recommended phased sequence (D → A → E).
Changes:
- Adds a prior-art survey and a current-repo inventory to clarify what is “factory” vs “library” vs “research/Aurora”.
- Documents 5 candidate split architectures (template, submodule, package, formalized monorepo, overlay) with trade-offs and an effort estimate.
- Proposes a 3-phase sequencing recommendation and enumerates open questions to resolve before any restructuring work.
| **Status:** Research doc — preparing the consultation Aaron's | ||
| 2026-04-20 framing requires before big packaging decisions | ||
| land (per `memory/feedback_factory_reuse_packaging_decisions_consult_aaron.md`). | ||
| **Triggered by:** Aaron 2026-04-23: *"we can even wait on the | ||
| demo until we have refactored into our multi repo shape, you | ||
| remember that right? That seems very structural and like we | ||
| should do it sooner rather than later, but it's up to you."* | ||
| **Request:** Aaron's review of the options + trade-offs below, | ||
| toward a decision on the split shape. |
There was a problem hiding this comment.
P1: This doc uses direct contributor-name attribution (e.g., "Aaron") in prose. docs/AGENT-BEST-PRACTICES.md:284-290 defines the repo convention to use role references like "the human maintainer" outside of the explicit carve-outs. Please rewrite these attributions accordingly (including headings like "Questions for Aaron" and any non-verbatim prose), while keeping any quoted text verbatim if needed.
| **Status:** Research doc — preparing the consultation Aaron's | |
| 2026-04-20 framing requires before big packaging decisions | |
| land (per `memory/feedback_factory_reuse_packaging_decisions_consult_aaron.md`). | |
| **Triggered by:** Aaron 2026-04-23: *"we can even wait on the | |
| demo until we have refactored into our multi repo shape, you | |
| remember that right? That seems very structural and like we | |
| should do it sooner rather than later, but it's up to you."* | |
| **Request:** Aaron's review of the options + trade-offs below, | |
| toward a decision on the split shape. | |
| **Status:** Research doc — preparing the consultation the human | |
| maintainer's 2026-04-20 framing requires before big packaging | |
| decisions land (per | |
| `memory/feedback_factory_reuse_packaging_decisions_consult_aaron.md`). | |
| **Triggered by:** the human maintainer on 2026-04-23: *"we can | |
| even wait on the demo until we have refactored into our multi | |
| repo shape, you remember that right? That seems very structural | |
| and like we should do it sooner rather than later, but it's up | |
| to you."* | |
| **Request:** the human maintainer's review of the options + | |
| trade-offs below, toward a decision on the split shape. |
| - `memory/feedback_factory_reuse_packaging_decisions_consult_aaron.md` | ||
| (the rule that required this research doc before any | ||
| shaping move lands) | ||
| - `memory/project_factory_reuse_beyond_zeta_constraint.md` | ||
| (the underlying constraint — factory should be |
There was a problem hiding this comment.
P1: Several cited cross-references in this section appear to be broken (files not present in the repo), which makes the rationale hard to verify and will mislead readers following links. Confirm and either add the missing files or update these references to the correct existing paths. Missing at least: memory/feedback_factory_reuse_packaging_decisions_consult_aaron.md, memory/project_factory_reuse_beyond_zeta_constraint.md, memory/feedback_open_source_repo_demos_stay_generic_not_company_specific_2026_04_23.md, memory/project_lfg_is_demo_facing_acehack_is_cost_cutting_internal_2026_04_23.md, and docs/aurora/collaborators.md.
| | `AGENTS.md`, `CLAUDE.md`, `GOVERNANCE.md` | 100% | — | — | | ||
| | `docs/ALIGNMENT.md`, `docs/AGENT-BEST-PRACTICES.md`, `docs/AUTONOMOUS-LOOP.md` | 100% | — | — | | ||
| | `docs/ARCHITECTURE.md`, `docs/MATH-SPEC-TESTS.md`, `docs/VISION.md` | — | 100% | — | | ||
| | `docs/aurora/` | — | — | 100% | |
There was a problem hiding this comment.
P1: The "Current Zeta monorepo inventory" table lists docs/aurora/ as an existing current location, but there is no docs/aurora/ directory in the repo (and later the doc links docs/aurora/collaborators.md). Either update this row to point at the actual current Aurora location, or mark it explicitly as a proposed/future location rather than part of the current inventory.
| | `docs/aurora/` | — | — | 100% | | |
| | Proposed future location: `docs/aurora/` | — | — | 100% | |
… paths - Replace remaining "Aaron" attribution with "the human maintainer" role-ref (line 7 trigger line) - Mark `docs/aurora/` as landing via PR #144 in the ownership table; file does not yet exist on main - Collapse the 4 dangling per-user memory paths in "Composes with" to a single acknowledgement that those rules live in the per-user memory layer (`~/.claude/projects/<slug>/memory/`), not in-repo Matches the same pattern applied to #137 and #153. Per Aaron's "just move forward for now" — addressing legitimate review findings without bypassing branch protection. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…ming - AutoDream extension + cadence research doc landed (PR #155) - FACTORY-HYGIENE row #53 + fire-history ledger with first fire - Multi-project / LFG-soulfile-inheritance framing absorbed; per-user memory filed + CURRENT-aaron.md §4 updated same-tick - PR #150 redaction sweep closed (all 4 findings addressed) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Aaron directive: static factory-status UI on GitHub Pages; git-native; backlog until after repo split. P2 row filed at docs/BACKLOG.md §P2-research-grade. Captures goal, constraint, tech candidates, sequencing (post-PR-#150), cross-refs. PR #172 opened with auto-merge armed. Self-referential observation: the Pages-UI he wants is the solution to the "directives faster than I can clear" feeling he has. Build-order: file now, land after multi-repo split. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…o-split) Aaron 2026-04-23: "static ui on our github pages that shows factory status things in flight progress, etc ... we can surface thing in the ui like the decions and any decions we would like human feedback on ... all this should be able to use our gitnative approach and not really cost anyting ... backlog this and probaby not a good idea until after the repo split into the different projects." Row captures: - Goal: static UI surfacing factory state (PRs, ADRs, HUMAN-BACKLOG asks, round progress) - Constraint: git-native + ~free (static SSG regenerated by GitHub Action; no paid SaaS) - Tech candidates deferred (Jekyll / Hugo / Astro / Eleventy / bun-based custom SSG — bun aligns with post-setup stack row #49) - Sequencing: after multi-repo split (PR #150 prerequisite) - Cross-refs to AGENT-GITHUB-SURFACES Pages row, HUMAN- BACKLOG, DECISIONS, ROUND-HISTORY, hygiene-history P2 per Aaron's "probably not a good idea until after the repo split" sequencing hint. Self-scheduled free work (row-filing) under the 2026-04-23 scheduling-authority rule. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…o-split) Aaron 2026-04-23: "static ui on our github pages that shows factory status things in flight progress, etc ... we can surface thing in the ui like the decions and any decions we would like human feedback on ... all this should be able to use our gitnative approach and not really cost anyting ... backlog this and probaby not a good idea until after the repo split into the different projects." Row captures: - Goal: static UI surfacing factory state (PRs, ADRs, HUMAN-BACKLOG asks, round progress) - Constraint: git-native + ~free (static SSG regenerated by GitHub Action; no paid SaaS) - Tech candidates deferred (Jekyll / Hugo / Astro / Eleventy / bun-based custom SSG — bun aligns with post-setup stack row #49) - Sequencing: after multi-repo split (PR #150 prerequisite) - Cross-refs to AGENT-GITHUB-SURFACES Pages row, HUMAN- BACKLOG, DECISIONS, ROUND-HISTORY, hygiene-history P2 per Aaron's "probably not a good idea until after the repo split" sequencing hint. Self-scheduled free work (row-filing) under the 2026-04-23 scheduling-authority rule. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…o-split) Aaron 2026-04-23: "static ui on our github pages that shows factory status things in flight progress, etc ... we can surface thing in the ui like the decions and any decions we would like human feedback on ... all this should be able to use our gitnative approach and not really cost anyting ... backlog this and probaby not a good idea until after the repo split into the different projects." Row captures: - Goal: static UI surfacing factory state (PRs, ADRs, HUMAN-BACKLOG asks, round progress) - Constraint: git-native + ~free (static SSG regenerated by GitHub Action; no paid SaaS) - Tech candidates deferred (Jekyll / Hugo / Astro / Eleventy / bun-based custom SSG — bun aligns with post-setup stack row #49) - Sequencing: after multi-repo split (PR #150 prerequisite) - Cross-refs to AGENT-GITHUB-SURFACES Pages row, HUMAN- BACKLOG, DECISIONS, ROUND-HISTORY, hygiene-history P2 per Aaron's "probably not a good idea until after the repo split" sequencing hint. Self-scheduled free work (row-filing) under the 2026-04-23 scheduling-authority rule. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…o-split) Aaron 2026-04-23: "static ui on our github pages that shows factory status things in flight progress, etc ... we can surface thing in the ui like the decions and any decions we would like human feedback on ... all this should be able to use our gitnative approach and not really cost anyting ... backlog this and probaby not a good idea until after the repo split into the different projects." Row captures: - Goal: static UI surfacing factory state (PRs, ADRs, HUMAN-BACKLOG asks, round progress) - Constraint: git-native + ~free (static SSG regenerated by GitHub Action; no paid SaaS) - Tech candidates deferred (Jekyll / Hugo / Astro / Eleventy / bun-based custom SSG — bun aligns with post-setup stack row #49) - Sequencing: after multi-repo split (PR #150 prerequisite) - Cross-refs to AGENT-GITHUB-SURFACES Pages row, HUMAN- BACKLOG, DECISIONS, ROUND-HISTORY, hygiene-history P2 per Aaron's "probably not a good idea until after the repo split" sequencing hint. Self-scheduled free work (row-filing) under the 2026-04-23 scheduling-authority rule. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copilot caught two row-number inconsistencies: - "Cross-platform parity (FACTORY-HYGIENE row #48)" was incorrect — row #48 is GitHub surface triage; cross- platform parity is row #51. Fixed. - "fire-log surfaces per row #44" was incorrect — row #44 is supply-chain safe-patterns; cadence-history / fire- history schema is row #47. Fixed + clarified. Third finding (docs/research/multi-repo-refactor-shapes path) — will be handled via reply-with-rationale (lands via PR #150, still open). Row-number misref is a recurring finding class across session PRs; candidate sweep target for backlog-refactor hygiene row #54 first cadenced fire. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…w-number fixes PR #159 (Overlay A #3 deletions-over-insertions) MERGED at 18:02:47Z. 11 session PRs merged. HLL test passed on re-run (different seed) — real-world data for the PR #175 BACKLOG row on HLL flakiness; pin-then-explore is still the right fix. Aaron directive: "be PC when you write the 69 and 420 descriptions of whemsy we want this repo to be high school curruclurm friendly so R rated is okay but only when necessary for effect." PC-ified seed-whimsy memory descriptions (69 → internet-meme-symmetrical-digit; 420 → counterculture-meme). Added PC-framing section naming the high-school-curriculum-friendly standard. PR #172 row-number misrefs fixed (#48 → #51 for cross- platform parity; #44 → #47 for fire-history schema). Third finding via lands-via-#150 reply. Row-number misref is recurring; candidate for row #54 first cadenced fire. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…o-split) (#172) * backlog: P2 — factory status UI on GitHub Pages (git-native, post-repo-split) Aaron 2026-04-23: "static ui on our github pages that shows factory status things in flight progress, etc ... we can surface thing in the ui like the decions and any decions we would like human feedback on ... all this should be able to use our gitnative approach and not really cost anyting ... backlog this and probaby not a good idea until after the repo split into the different projects." Row captures: - Goal: static UI surfacing factory state (PRs, ADRs, HUMAN-BACKLOG asks, round progress) - Constraint: git-native + ~free (static SSG regenerated by GitHub Action; no paid SaaS) - Tech candidates deferred (Jekyll / Hugo / Astro / Eleventy / bun-based custom SSG — bun aligns with post-setup stack row #49) - Sequencing: after multi-repo split (PR #150 prerequisite) - Cross-refs to AGENT-GITHUB-SURFACES Pages row, HUMAN- BACKLOG, DECISIONS, ROUND-HISTORY, hygiene-history P2 per Aaron's "probably not a good idea until after the repo split" sequencing hint. Self-scheduled free work (row-filing) under the 2026-04-23 scheduling-authority rule. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * backlog: Pages-UI row — add read-only-first / write-later refinement Aaron 2026-04-23: "ui will likely need gh, our repo is public so for all the read actions on the ui we are good without permission, for write actions we probably don't need this yet would need whole permission set and resue of the github logins session stuff without a real backend, tricky stuff so readonly to expaned to write access later. backlog just a little refinement." Row updated with: - Phase 1 read-only: GitHub REST API against public repo, no auth (rate-limit applies; acceptable per-push-refresh dashboard) - Phase 2 write: needs GitHub session/OAuth or thin backend; both break git-native + ~free-to-run; deferred until tradeoff re-examined Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * backlog: Pages-UI row — bun+TS as tech choice; Jekyll excluded per maintainer Aaron 2026-04-23 reminder: "i'm fine with either but last time you push me hard away from jekyll that i think we only need typescript bun based and no jekyll unless you tell me otherwise." Row updated: - Tech choice is bun + TypeScript SSG (composes with FACTORY-HYGIENE row #49 post-setup stack default) - Jekyll explicitly excluded - Hugo / Astro / Eleventy demoted from listed candidates - If a compelling reason to revisit Jekyll surfaces during research, it lands as an ADR with explicit rationale; default is bun+TS Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * backlog: Pages-UI row — fix Jekyll-exclusion attribution (Kenji, not maintainer) Aaron 2026-04-23: "technically Kenji told me to exclude this not me, feel free to reevnualte but take the whole project into consideration". Row updated: - Attribution corrected: Kenji (Architect persona) made the bun+TS-over-Jekyll recommendation, not the maintainer directly - Re-evaluation with whole-project consideration documented: cross-platform parity (row #48), post-setup stack default (row #49), one-language-rule (no new Ruby chain), GitHub Pages + Actions build pattern works regardless of native- Pages SSG support, bun+SSG ecosystem rich enough - Conclusion: Kenji's call stands after re-examination Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * backlog: Pages-UI row — apply plural-host distinction (git-native content vs GitHub adapter) Aaron 2026-04-23: "i guess pages is github native, but our code can likely be git native only need git and not gh commands but gh commands are welcome we just need to call out gh becasue we want to be pluggable eventually to gitlab to, we are gitnative with our first host as github." Row constraint-section refined to distinguish: - Git-native content (PRs / ADRs / HUMAN-BACKLOG / CONTRIBUTOR-CONFLICTS / ROUND-HISTORY / hygiene-history — lives in repo regardless of host) - GitHub adapter (Pages + Actions + REST API are GitHub-specific; UI itself is explicitly labeled as the GitHub adapter against the git-native content spec) When a second host activates (GitLab / Gitea / Bitbucket), a sibling adapter ships against the same content spec. First host is GitHub per "gitnative with our first host as github". Full plural-host discipline in per-user memory feedback_git_native_vs_github_native_plural_host_pluggable_adapters_2026_04_23.md. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * backlog: Pages-UI row — fix row-number misrefs per PR #172 review Copilot caught two row-number inconsistencies: - "Cross-platform parity (FACTORY-HYGIENE row #48)" was incorrect — row #48 is GitHub surface triage; cross- platform parity is row #51. Fixed. - "fire-log surfaces per row #44" was incorrect — row #44 is supply-chain safe-patterns; cadence-history / fire- history schema is row #47. Fixed + clarified. Third finding (docs/research/multi-repo-refactor-shapes path) — will be handled via reply-with-rationale (lands via PR #150, still open). Row-number misref is a recurring finding class across session PRs; candidate sweep target for backlog-refactor hygiene row #54 first cadenced fire. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Six Copilot findings addressed: - AutoDream research doc references now resolve on main (PR #155 merged between review and this fix) - multi-repo-refactor-shapes references clarified as "lands via PR #150" (still open) - Per-user-memory cross-references gained a **Per-user memory references** preamble before the Composes-with section naming the ~/.claude/projects/<slug>/memory/ location (same preamble pattern as PR #160 / #157 / #162) - "(auto-loop-39 directive)" generalized to "(the maintainer's self-use-DB directive, captured in per-user memory)" — auto-loop-N references are session-scoped and not in-repo-traceable - MD012 multi-blank cleanup after preamble insertion Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…/distribution/runtime) (#156) * research: soulfile staged absorption model (DSL-as-substrate + compile/distribution/runtime ingest) Reframes the soulfile abstraction per Aaron 2026-04-23: "soufils shoud just be the DSL/english we talk about and the can import/inherit/abosrb ... git repos at compile time, distribution time, or runtime, remember the local native story so those will need to be inlucded at soulfile compile time somewhere". Stages proposed: - Compile-time (packing): LFG factory-scope + Zeta tiny-bin- file DB (mandatory local-native fold-in) + pinned upstream content. - Distribution-time: envelope + per-substrate overlays + optional companion git-repo references + maintainer attestation. - Runtime: on-demand git-repos (two-layer authorization + stacking-risk gate) + live conversation content (promotes back to compile-time via AutoDream consolidation). Supersedes the earlier "three-formats" framing on the substrate-abstraction axis; preserves its signal-preservation discipline. Per-user feedback memory carries the full reframe + supersede marker. Deferred: SoulStore stage-aware contract, compile-time-ingest script, DB absorb-form schema, signed-distribution manifest. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * auto-loop-48: tick-history row — soulfile reframe absorbed; staged absorption model landed - Per-user feedback memory filed with supersede-marker on earlier soulfile-formats memory (substrate-abstraction axis retired; signal-preservation axis preserved) - CURRENT-aaron.md §10 updated same-tick to reflect the DSL-as- substrate framing - Research doc landed in LFG (PR #156) proposing three stage boundaries (compile-time / distribution-time / runtime) with mandatory Zeta tiny-bin-file DB fold-in at compile-time Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * auto-loop-49: soulfile DSL refined — restrictive English + Soulfile Runner project + linguistic-seed anchoring Two maintainer directives absorbed this tick: 1. DSL can be restrictive English (not F# DSL); the soulfile runner is its own project-under-construction; uses Zeta for advanced features; all small bins. 2. Soulfiles feel like natural English but with a restrictive form — only words with exact definitions (linguistic-seed pattern) are allowed. Changes: - Replaced "Representation candidate — Markdown + frontmatter" section with two sharper sections: "DSL — restrictive English anchored in the linguistic seed" and "The Soulfile Runner — its own project-under-construction". - Runner ⇒ Zeta (clean dependency edge; Zeta stays a library). - Vocabulary is the linguistic-seed glossary; new words earn glossary entries before entering the DSL. - Markdown preserved as structure layer; restrictive English is the execution layer. Per-user CURRENT-aaron.md §4 updated same-tick with Soulfile Runner as a named project. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * research(soulfile): address PR #156 review findings Six Copilot findings addressed: - AutoDream research doc references now resolve on main (PR #155 merged between review and this fix) - multi-repo-refactor-shapes references clarified as "lands via PR #150" (still open) - Per-user-memory cross-references gained a **Per-user memory references** preamble before the Composes-with section naming the ~/.claude/projects/<slug>/memory/ location (same preamble pattern as PR #160 / #157 / #162) - "(auto-loop-39 directive)" generalized to "(the maintainer's self-use-DB directive, captured in per-user memory)" — auto-loop-N references are session-scoped and not in-repo-traceable - MD012 multi-blank cleanup after preamble insertion Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
…naming filed PR #176 (age-classification skill BACKLOG) MERGED. 14 session PRs merged. PR #156 unblocked: 6 findings (AutoDream xref resolved by #155 merge, multi-repo-refactor-shapes "lands via #150", per-user memory preamble, auto-loop-39 generalization, MD012 cleanup). 6 threads resolved. Aaron delegated-naming directive: Factory = Frontier (his recall); Zeta / Aurora / ace / Seed stay; Showcase provisional for demos; Anima candidate for Soulfile Runner. Provisional until brand-clearance research fires. Filed per-user memory. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Summary
Research doc preparing the consultation that Aaron's packaging-decisions memory requires before any big shaping move lands.
Covers:
factory/+library/+aurora/+research/top-level dirsfactory-applytoolzeta-auroraextracted at Phase 2 concurrent with factoryMy recommendation rationale
Phase 1 is cheap + clarifies mental model + keeps future options open. Phase 2 is standard OSS playbook. Phase 3 requires both tool investment AND adopter-base to justify — skipping directly to E is premature optimization.
Test plan
What this does NOT do
🤖 Generated with Claude Code