fix: preserve BOOTSTRAP.md in preseeded workspaces (#91931)#91988
fix: preserve BOOTSTRAP.md in preseeded workspaces (#91931)#91988LiuwqGit wants to merge 1 commit into
Conversation
|
PR follow-up:
|
|
Codex review: needs real behavior proof before merge. Reviewed July 19, 2026, 10:57 PM ET / July 20, 2026, 02:57 UTC. Summary PR surface: Source +22, Tests +100. Total +122 across 3 files. Reproducibility: yes. from source and the linked report: a preseeded workspace with custom profile files and Review metrics: 1 noteworthy metric.
Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Risk before merge
Maintainer options:
Next step before merge
Maintainer decision needed
Security Review findings
Review detailsBest possible solution: Document the pending-bootstrap completion contract, obtain a redacted current-head runtime transcript that reads the supported workspace-state result, and have a maintainer explicitly accept the compatibility tradeoff before merge. Do we have a high-confidence way to reproduce the issue? Yes from source and the linked report: a preseeded workspace with custom profile files and Is this the best way to solve the issue? Unclear: the branch is a narrow implementation of the managed-workspace fix, but its intentional change to legacy stale-bootstrap completion needs maintainer confirmation and public contract documentation. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: unclear because the file could not be read completely. Codex review notes: model internal, reasoning high; reviewed against da10827439a4. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source +22, Tests +100. Total +122 across 3 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
Review history (12 earlier review cycles; latest 8 shown)
|
|
Addressed ClawSweeper P1: profile-only stale
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
|
Addressed ClawSweeper P1/P2 from latest review:
Tests: @clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
|
PR follow-up (babysit):
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
68dc44b to
4ee84a9
Compare
|
@clawsweeper re-review |
|
Is the issue resolved ? or is BOOTSTRAP.md still skipped for preseeded md files + skip onboarding ? Im still facing the issue, is it only me (operator error) or this issue still persists ? |
I think this is still expected on released builds. #91988 is the active fix candidate, but it is still open and not shipped yet. So if you're running a regular OpenClaw image, this does not necessarily look like operator error. It should stop only after this fix (or an equivalent one) lands and the updated version is deployed. |
b3e1a83 to
4df938a
Compare
4df938a to
296eabe
Compare
… user content In preseeded/managed workspaces, profile file differences alone should not prove bootstrap completion when BOOTSTRAP.md still exists and setupCompletedAt is unset. The preseeded gate checks for actual user content (memory/, IDENTITY.md edits, SOUL.md edits) excluding skills, since platform-seeded skills are not user evidence of onboarding completion. - Add includeSkills option to hasWorkspaceUserContentEvidence (default true) - Add bootstrapExists/state params to workspaceHasBootstrapCompletionEvidence - Block stale bootstrap repair when BOOTSTRAP.md exists, no setupCompletedAt, and no user content evidence (excluding skills) - Add memory/ dir to 5 existing tests that need user content for repair - Add workspace-preseeded.test.ts with 3 preseeded-specific tests
Summary
SOUL.md/IDENTITY.md/USER.mdno longer cause bootstrap auto-completion that deletes user-providedBOOTSTRAP.mdbefore first onboarding.BOOTSTRAP.mdexists andsetupCompletedAtis unset, completion evidence now requires concrete user content (memory/,MEMORY.md) instead of profile-file diffs or preseeded workspace skills alone.BOOTSTRAP.md.Why does this matter now?
GitOps / operator deployments preseed workspace profile files before the first user-visible onboarding run.
What is the intended outcome?
Managed workspaces keep
BOOTSTRAP.mduntil real onboarding evidence exists.What is intentionally out of scope?
Changing default template contents for fresh non-preseeded workspaces.
What does success look like?
ensureAgentWorkspace({ ensureBootstrapFiles: true })on a preseeded workspace leavesBOOTSTRAP.mdpresent and does not setsetupCompletedAt.What should reviewers focus on?
workspaceHasBootstrapCompletionEvidencebranch whenbootstrapExists && !setupCompletedAt.Linked context
Which issue does this close?
Closes #91931
Which issues, PRs, or discussions are related?
Related operator/GitOps preseeded workspace bootstrap behavior.
Was this requested by a maintainer or owner?
No — community bug report.
Real behavior proof (required for external PRs)
BOOTSTRAP.mdbefore first onboarding.node --import tsx; temp workspace under%TEMP%.BOOTSTRAP.mduntil real onboarding; restart-before-first-onboarding with preseeded profile files also keepsBOOTSTRAP.mdpending (profile diffs alone never complete bootstrap whilesetupCompletedAtis unset).ensureAgentWorkspacecall rather than a long-running gateway pod; supplemental vitest regression also passes.BOOTSTRAP.md(see issue [Bug]: Preseeded SOUL.md/IDENTITY.md/USER.md make OpenClaw auto-complete bootstrap and delete user-provided BOOTSTRAP.md before first run #91931 repro).Tests and validation
Which commands did you run?
BOOTSTRAP.md exists: truepnpm test src/agents/workspace.test.ts→ 46 passed, 3 skippedWhat regression coverage was added or updated?
preserves BOOTSTRAP.md in preseeded workspaces with custom profile fileskeeps BOOTSTRAP.md pending across restart before first onboardingdoes not treat preseeded workspace skills as bootstrap completion evidencememory/completion testsWhat failed before this fix, if known?
Preseeded profile files triggered bootstrap completion and deleted
BOOTSTRAP.mdbefore first user onboarding.If no test was added, why not?
N/A — regression test added.
Risk checklist
Did user-visible behavior change? (
Yes)Yes — preseeded managed workspaces keep
BOOTSTRAP.mduntil real completion evidence.Did config, environment, or migration behavior change? (
No)No schema/config migration.
Did security, auth, secrets, network, or tool execution behavior change? (
No)No.
What is the highest-risk area?
Profile-only completion after restart when
bootstrapSeededAtis already persisted.How is that risk mitigated?
While
BOOTSTRAP.mdexists andsetupCompletedAtis unset, completion evidence requires durable user-content (memory/,skills/*/SKILL.md); profile diffs never suffice across restarts.Current review state
What is the next action?
Awaiting maintainer merge — #91955 closed as superseded by maintainer; CI green; ClawSweeper rating platinum hermit.
What is still waiting on author, maintainer, CI, or external proof?
Which bot or reviewer comments were addressed?