Skip to content

install should separate repo updates from Codex handoff and keep manifest hashes in sync #56

Description

@BaseInfinity

Type

Bug report / update-flow improvement

Context

Windows repo already initialized with Codex SDLC Wizard. Updating from adapter v1.31.0 to latest package codex-sdlc-wizard@0.7.31 / adapter v1.73.0.

Repro shape

  1. Run npx --yes codex-sdlc-wizard@latest update in an initialized repo.
  2. Run npx --yes codex-sdlc-wizard@latest install to refresh installed helper skills/hooks.
  3. install writes repo/global artifacts, then prompts for first-run handoff and tries to launch codex.
  4. If Codex cannot parse unrelated user config, the install exits non-zero after the useful install work already happened.

Observed handoff failure:

Error loading config.toml: unknown variant `default`, expected `fast` or `flex`
in `service_tier`

A second follow-on rough edge: after install, npx --yes codex-sdlc-wizard@latest check can classify files written by the latest installer as customized because .codex-sdlc/manifest.json still has older expected hashes. In this run the affected files were:

  • .codex/config.toml
  • .codex/hooks/bash-guard.sh
  • .codex/hooks/git-guard.ps1

Manually updating those manifest hashes to the actual latest-template file hashes made check report drift / broken: 0 and the expected match/customized split.

Expected behavior

  • install should separate artifact installation success from optional Codex handoff failure. If handoff fails, report it as a next-step warning rather than making the completed install look failed.
  • In non-interactive or already-running-Codex contexts, prefer no automatic handoff unless explicitly requested, or provide a clear --no-handoff path.
  • Files written by install should leave the manifest/check state internally consistent, so latest-template files are reported as match without manual manifest hash repair.

Why it matters

The repo-side update was actually successful, but the final exit code and later check output made it look partially broken. That makes the safe path harder to distinguish from real hook/config drift during update maintenance.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions