Skip to content

Provide first-class upgrade contract for installed projects #636

Description

@dreamorosi

The problem

Every ## [N.N.N] entry in the CHANGELOG ends with the same instruction: "Upgrade: re-copy your dist// shell into the project."

I work with enterprise customers rolling AI-DLC out across dozens of teams, and customers have already explicitly complained about the absence of a version-upgrade contract, and it is currently the top adoption risk they name, ahead of any missing feature.

One platform team evaluating v2 put it as a question the project currently has no documented answer to: "when a new version ships, what exactly do we need to copy, and what happens to the files we've modified?"

Why it bites at enterprise scale:

  • It multiplies: N teams × M projects × (up to) 5 harnesses, on a cadence that recently exceeded ten releases per week. Nobody re-copies by hand at that rate; teams fall behind and the fleet fragments across framework versions, which then undermines the shared-methodology value proposition that brought these customers here in the first place.
  • It's lossy: a blind cp -r can clobber files users have legitimately modified (agent model pins, settings, org rules seeded into the shell). There is no documented boundary between framework-owned and user-owned files in an installed project.
  • It's silently breaking: some releases change contracts for scripts and integrations (e.g. 2.5.0: direct aidlc-state.ts lifecycle mutations now fail with an engine-ownership error). Without an upgrade step that surfaces this, adopters discover it mid-workflow or worse, lose any time savings that the framework purports to materialize.
  • GA raises the bar: the README now declares the install model stable and advises pinning a known-good version — but there is no supported mechanism to move from one pinned version to the next.

What enterprise adopters need

  1. A documented upgrade contract: which paths in an installed project are framework-owned (safe to replace), which are user-owned (never touched), and which are merge-required.
  2. An upgrade command — PR feat(tools): add upgrade subcommand for in-place AI-DLC install upgrades #535 already implements exactly this shape (aidlc-utility upgrade with --dry-run, harness auto-detection, user-file preservation, cross-major refusal). It has been open since early July; no maintainer feedback; please prioritize shepherding it (or an equivalent) into core.
  3. A per-release compatibility statement in the CHANGELOG: "config-compatible / script-breaking / re-compose required" — one line that lets a platform team triage whether an upgrade is a copy or a migration.

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

    aida:alignedAIDA considers the current issue direction aligned with AI-DLCaida:p1AIDA found a major issue that blocks responsible planning

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions