> ## Documentation Index
> Fetch the complete documentation index at: https://docs.modelcode.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Editing Milestones

> Adjust AI-generated milestones in Project Knowledge before approving them

export const ProductName = "The Morph Platform";

export const productName = "the Morph Platform";

Milestones are generated by AI based on your Project Spec and architecture. AI isn't perfect - sometimes you'll want to adjust a milestone before approving it. Edits happen in **Project Knowledge** via the chat panel: you describe the change, {productName} updates the milestone, and you review the diff before approving.

## Why Edit Milestones

### The AI Made a Mistake

The generated milestone might:

* Misunderstand which files are involved
* Propose an approach you disagree with
* Include something you want to exclude

### You Have Additional Context

You know things the AI doesn't:

* Specific business logic that needs special handling
* Dependencies that aren't obvious from the code
* Team preferences for how something should be done

### You Want to Adjust Scope

Sometimes a milestone is:

* **Too large** - remove parts you'll address separately
* **Too small** - add related work you want included
* **Missing something** - add requirements the AI overlooked

## When You Can Edit

You can edit a milestone when:

* It hasn't been approved yet (the agent hasn't started)
* It isn't locked - earlier milestones must be merged first, and the milestone must be unlocked for your plan

A locked milestone shows a **Locked** tag in the roadmap and a lock icon in the Knowledge drawer. You can still view its plan, but editing and approval are disabled.

While {productName} is re-validating an in-flight edit, a **Validating** tag appears on the milestone. Wait for it to clear before approving.

## What You Can Edit

The milestone view in Project Knowledge shows:

* **Title**
* **Description** - the detailed plan the agent uses to generate tasks
* **Relevant Files** - the files the milestone touches
* **Test Files** - the test files the milestone targets

All of these are updated through the chat panel. {ProductName} uses your edits to plan the tasks the agent runs, so changes to the description directly affect what gets built.

## How to Edit a Milestone

1. In the roadmap, expand the milestone and click **Milestone Plan** - Project Knowledge opens with the milestone selected.

2. On the right, review the current plan (title, files, description). On the left, the chat panel is ready for your request.

3. In chat, describe the change you want. For example:

   > "Also include the email verification flow - migrate the `verify_email` endpoint and its token generation."

4. {ProductName} updates the milestone. A **Show Changes** toggle appears in the header - click it to see a diff of what was changed.

5. Iterate in chat until the plan reads the way you want.

6. When you're satisfied, click **Approve & Start** at the bottom of the drawer to launch the agent.

<Tip>
  Use **Show Changes** to confirm the diff before approving. The Knowledge drawer keeps a running diff against the last update, so you can see exactly what your chat turns changed.
</Tip>

## Editing Tips

### Be Explicit About What You're Changing

If the original says:

> "Migrate the user authentication module to the new framework"

And you want to add session handling, ask for it explicitly:

> "In Milestone 2, also cover session management and the remember-me functionality."

### Remove Things You Don't Want

> "Remove the legacy admin panel from Milestone 3 - we'll handle it separately."

### Add Context the AI Lacks

> "For the payment processing milestone, note that we use a custom wrapper around Stripe in `lib/payments/stripe_wrapper.py`. Preserve its interface."

### Specify the Approach

> "For the AngularJS-to-React milestone, use functional components with hooks and React Context for state. Do not introduce Redux."

## Examples

### Adding Missing Functionality

**Ask in chat:**

> "Add the email verification flow to Milestone 2. The `verify_email` endpoint and its token generation should be migrated with full test coverage."

**Result:** the description grows to include verification work; the diff highlights the added lines.

### Narrowing Scope

**Ask in chat:**

> "In the utils migration milestone, limit the scope to `utils/string_helpers.py` and `utils/date_helpers.py`. Exclude `utils/legacy/` - we'll deprecate it instead of migrating."

### Specifying Approach

**Ask in chat:**

> "Convert the AngularJS controllers to React functional components with hooks. Do not use class components, and use built-in `useState`/`useContext` instead of Redux."

### Adding Requirements

**Ask in chat:**

> "When updating the database models to SQLAlchemy 2.0, add Alembic migrations for any schema changes and use async session management."

## After Approving

Once you click **Approve & Start**:

1. The milestone is locked from further edits.
2. The agent generates tasks from the approved plan and begins executing them.
3. Progress shows in the roadmap as tasks run.

Your last-approved plan is the authoritative instruction set for that milestone.

## When Not to Edit

### Minor Preferences

For small, recurring preferences (naming conventions, coding style, library choices), use [Rules](/customization/rules) instead. Rules apply to every milestone automatically.

### Fundamental Changes

If you realize the entire migration approach is wrong, editing individual milestones won't help. Revisit your **Project Spec** in Project Knowledge first.
