fix: bootstrap manifest DEFAULT_LOAD corruption + UX gaps (closes #150, #146)#152
Merged
Conversation
, #146) #150 — manifest parses as 0 default-load: - core.adf and state.adf now register into DEFAULT_LOAD instead of ON_DEMAND when bootstrap auto-registers orphans (--yes mode) - New registerModulesInDefaultLoad helper uses parseAdf/formatAdf round-trip - Post-write self-check warns when core.adf exists but DEFAULT_LOAD is empty #146 — bootstrap UX friction: - Git preflight emits actionable remediation command when not in a git repo - Install errors bucketed: frozen-lockfile / permissions / network each get a specific retry hint - Partial completion banner printed when any phase fails, with recovery steps - Hook next-steps gated on git repo presence Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ner truncation
- classifyInstallError: fix frozen[-. ]lockfile regex (escaped dot), accept pm param
for network hint instead of msg.includes('pnpm')
- registerModulesInDefaultLoad: set decoration '📦' on newly created DEFAULT_LOAD section
- Post-write self-check: replace console.warn with console.log, gate on format=text
- Partial banner: truncate error detail to first line, max 120 chars
- Test: add missing blank line between new test cases
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
charter bootstrap --yeson a repo with non-canonicalmanifest.adfsyntax (e.g.load core.adf always) causedcore.adf/state.adfto be registered as ON_DEMAND, makingverify:adfreport0 default-loadand fail in CIChanges
Fix #150 — manifest DEFAULT_LOAD corruption (
bootstrap.ts)DEFAULT_LOAD_MODULES = new Set(['core.adf', 'state.adf'])— orphans in this set go toDEFAULT_LOAD, notON_DEMANDregisterModulesInDefaultLoadhelper usesparseAdf/formatAdfstructured round-trip to inject entries into the correct sectioncore.adfexists but manifest still parses with 0 DEFAULT_LOAD entries, emits a clear repair commandFix #146 — bootstrap UX (
bootstrap.ts)isGitRepo()checked once at startup; printsgit init && git add -A && git commitremediation when missing; hook next-steps suppressed when no git repoclassifyInstallError()covers frozen-lockfile (--no-frozen-lockfile), permissions (EPERM/EACCES, WSL/NTFS--forcehint), and network (ENOTFOUND/ETIMEDOUT, retry hint)⚠ Bootstrap partially complete — N step(s) failed:with per-step error + recovery commandsTests
core.adf/state.adfin DEFAULT_LOADpartialand warns with--no-frozen-lockfile🤖 Generated with Claude Code