docs(SMA-25): recover codex artefacts from blocked branch#37
Merged
Conversation
SMA-25 (Verify autocommitExclude mechanism from PR #23) ran on codex and was self-Blocked at Learn when the merge gate failed against .git/worktrees/<ID>/ — the codex sandbox refused writes through the worktree's git admin dir. That sandbox gap is fixed separately in PR #36. The agent reached Learn with substantive artefacts though, and they are worth keeping independently of the merge-gate failure. This recovers only the high-signal files from `symphony/SMA-25` (commit 9c964fe) and leaves out the per-turn status echoes and raw pytest JSON/diff runs that were progress noise rather than reference material. Recovered: - docs/SMA-25/{explore,plan,work,qa,learn}/* — phase deliverables (Explore notes + reuse inventory, implementation plan, work + qa-rewind summaries, QA api-surface + details, Learn details). - docs/features/SMA-25/index.md — As-Is/To-Be one-pager. - docs/llm-wiki/workspace-auto-commit-excludes.md — new wiki entry covering the opt-in `symphony.autocommitExclude` mechanism, including the base-squash safety case Explore surfaced beyond the original brief. - docs/llm-wiki/INDEX.md — one new row for the wiki entry (kept the existing SMA-24 `orchestrator-phase-transition` row, which the SMA-25 branch had silently dropped because it was forked before SMA-24 merged into main). Not recovered (deliberately): - docs/SMA-25/todo/turn-*-status.md + blocker.md (stale-worker echo logs from the pre-restart cycle). - docs/SMA-25/qa/runs/*.json + qa/diff/*.diff (raw pytest output, large and reproducible from `pytest` directly). - src/symphony/*.py / tests/*.py / pyproject.toml / __init__.py changes on the SMA-25 branch — those were forked before PR #19/#21/#22/#23/#34/ #36 landed and would revert main.
cskwork
added a commit
that referenced
this pull request
May 17, 2026
Patch release rolling up two post-0.6.1 reliability fixes: - #36 codex sandbox writable_roots now auto-includes the git-worktree gitdir (`.git/worktrees/<ID>/`). Without this, codex 0.130 with workspace-write sandbox refused index.lock / merge-tree writes, causing Learn-stage Symphony tickets to surface as "Blocked" with no obvious cause. Surfaced live on SMA-25. - #37 (docs-only) recovered the high-signal codex artefacts from the blocked SMA-25 branch — Explore through Learn deliverables plus a new `workspace-auto-commit-excludes` wiki entry. Included here only because the release notes should point at the wiki entry as canonical reference for the autocommitExclude opt-in. All changes are bug fixes restoring intended behavior — no user-facing feature additions or signature changes. Pinning pyproject.toml and src/symphony/__init__.py in lockstep.
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
Recovers the high-signal phase deliverables that SMA-25's codex worker produced before self-Blocking at the Learn merge gate. The Blocked state itself was caused by a sandbox gap (no
.git/worktrees/<ID>/in writable_roots), which #36 fixes separately. The artefacts underdocs/SMA-25/anddocs/llm-wiki/are independent of that gap and are worth keeping.What was recovered (11 files, +311 lines)
docs/SMA-25/explore/notes.mddocs/SMA-25/explore/reuse-inventory.mddocs/SMA-25/plan/implementation-plan.mddocs/SMA-25/work/feature.md+qa-rewind.mddocs/SMA-25/qa/api-surface.md+details.mddocs/SMA-25/learn/details.mddocs/features/SMA-25/index.mddocs/llm-wiki/workspace-auto-commit-excludes.mdsymphony.autocommitExcludeopt-indocs/llm-wiki/INDEX.mdWhat was deliberately NOT recovered
docs/SMA-25/todo/turn-*-status.md(18 files) +blocker.md— pre-restart stale-worker echo logs.docs/SMA-25/qa/runs/*.json(15) +qa/diff/*.diff(4) — raw pytest output, large and reproducible.src/symphony/*.py,tests/*.py,pyproject.toml,src/symphony/__init__.pydeltas — the SMA-25 branch was forked before Fix workflow dir refresh for reloaded hooks #19/fix(orchestrator): stop failed phase-transition backend #21/fix(tracker): isolate corrupt file tickets during scan #22/Fix file-worktree symlink paths corrupting ticket commits #23/fix(codex): force valid model on app-server spawn to avoid silent hang #34/fix(codex): add git-worktree gitdir to sandbox writable_roots #36 + v0.6.1 landed in main; merging them back would silently revert those fixes.How verified
shows exactly the 11 listed paths and no source-code or version-file changes. The
docs/llm-wiki/INDEX.mdrow count is unchanged versus main except for one new appendedworkspace-auto-commit-excludesrow — the SMA-24orchestrator-phase-transitionrow is preserved.Test plan