Skip to content

docs(M010): clarify brownfield-without-.ytstack as detect-analyze-migrate workflow#15

Merged
lx-0 merged 1 commit intomainfrom
m010/brownfield-detect-migrate
May 2, 2026
Merged

docs(M010): clarify brownfield-without-.ytstack as detect-analyze-migrate workflow#15
lx-0 merged 1 commit intomainfrom
m010/brownfield-detect-migrate

Conversation

@lx-0
Copy link
Copy Markdown
Member

@lx-0 lx-0 commented May 2, 2026

Summary

  • Surfaces a real-world encounter (llm-wiki, 2026-05-02) showing the existing M010 exit-criterion ("explicit choice between init-project and ad-hoc") is too thin
  • Adds a 5-step detect -> analyze -> migrate -> scaffold gaps -> update entry-point docs workflow as the concrete shape for brownfield-without-.ytstack init
  • Notes this likely warrants a new `ytstack:adopt-brownfield` skill triggered by `using-ytstack` when no-`.ytstack/` + repo has candidate artifacts

Why

llm-wiki has `docs/design-decisions.md`, `docs/concept.md`, `docs/PROCESS.md`, `docs/plans/`, and claude-memory `project_*.md` -- it's neither greenfield-empty nor a repo with an existing `.ytstack/`. Plain `init-project` would scaffold empty stubs that duplicate or contradict the existing artifacts. Greenfield flow (office-hours -> plan-ceo-review -> init-project) is also wrong because the project is validated by months of artifacts, not awaiting validation.

What's added

  • New M010 exit criterion: brownfield-without-.ytstack init MUST run detect-analyze-migrate, not scaffold from empty templates
  • Scope-clarification subsection with the 5-step flow + concrete artifact-mapping list (DECISIONS-equivalents, PROJECT-equivalents, RUNTIME-equivalents, etc.)
  • 3 open design questions for `ytstack:plan-milestone` to resolve before implementation

Documentation only. No code changes.

Test plan

  • M010 still reads coherently end-to-end after the additions
  • When M010 is eventually planned via `ytstack:plan-milestone`, the open design questions get resolved into concrete tasks

Note

Low Risk
Documentation-only change that refines milestone scope/exit criteria; no runtime behavior or tooling is modified.

Overview
Updates .ytstack/ROADMAP.md to tighten M010’s exit criteria: brownfield repos without .ytstack/ must go through a detect → analyze → migrate adoption pass (with per-artifact user choices) before scaffolding any missing files.

Adds a detailed scope clarification including candidate artifact mappings, the follow-on steps (scaffold gaps and update entry-point docs), and open design questions (e.g., whether to generate an ADOPTION-PLAN.md, how to handle ADR archives, and how this interacts with office-hours).

Reviewed by Cursor Bugbot for commit 1c24817. Bugbot is set up for automated code reviews on this repo. Configure here.

…rate workflow

Real-world encounter (llm-wiki, 2026-05-02) surfaced that the planned
"explicit choice (init-project vs ad-hoc)" exit criterion is too thin --
plain init-project on a project with existing docs/design-decisions.md,
docs/concept.md, docs/PROCESS.md, docs/plans/, and claude-memory artifacts
would scaffold empty stubs that duplicate or contradict reality.

Adds a Scope Clarification subsection to M010 with a concrete 5-step
detect-analyze-migrate flow (detect candidate artifacts -> analyze mapping +
conflicts + gaps -> migrate per-artifact with user approval -> scaffold gaps
only -> update entry-point docs) and 3 open design questions for
plan-milestone to resolve. Suggests this likely warrants a new
ytstack:adopt-brownfield skill triggered by using-ytstack when
no-.ytstack/ + repo has candidate artifacts.

Adds matching exit criterion: brownfield-without-.ytstack init MUST run a
detect-analyze-migrate pass, not scaffold from empty templates.
@lx-0 lx-0 merged commit 847c08b into main May 2, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant