Skip to main content

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.

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, 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 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. 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. 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.
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.

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 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.