Skip to content

bootstrap --force fans out to several destructive operations and is advised as a routine remedy #305

Description

@stackbilt-admin

Raised during constellation-loop review of PR #304 (issue #298).

The problem

bootstrap --force is a single flag that fans out to several destructive operations at once:

  • hook overwrite
  • ADF re-scaffold — writeAdfScaffolds (bootstrap.ts:878) overwrites custom .ai/*.adf modules
  • config overwrite

Every other command's --force is narrowly scoped to the one thing that command does. Bootstrap's is not, so a user reaching for it to fix one thing can silently lose hand-authored ADF content — the content Charter exists to protect.

It is advised as a routine remedy

bootstrap.ts:962 and bootstrap.ts:964 (the ADF pointer warnings) both tell the user to "use --force to overwrite". PR #304 fixed one such instance (the stale .mcp.json absolute-path case now names a targeted hand-edit and explicitly says not to use --force), but these two remain.

Worth noting these warnings were effectively invisible in text mode until PR #304 — setup-phase warnings were collected but never printed, surfacing only as a count in "Bootstrap complete. N warnings." That is plausibly why the destructive advice went unnoticed.

Possible directions

  • Split bootstrap's --force into scoped flags (e.g. --force-hooks, --force-adf, --force-config), keeping --force as an explicit all-of-the-above
  • Or keep one flag but make the ADF re-scaffold refuse to overwrite a module that differs from its scaffold template unless separately confirmed
  • Either way, stop advising bare --force in warnings where a narrower remedy exists

Follow-up from #304; not changed there to keep that bugfix scoped.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions