Closed
#109
Bug
release: muse#61 symlog fix is in source but in no published build (0.2.1rc5 still drops symbol-journal entries)
0
Anchors
—
Blast radius
—
Churn 30d
0
Proposals
Summary
muse#61 (closed 2026-09-22) fixed silently dropped symbol-journal (symlog) entries for long
markdown-heading symbol names. The fix is in source (commit
sha256:d08abfdaa26df2e781fa4b7aae0ebe64cfdc41a3d8df3d38bcac09cd3c7aab85, pyproject.toml
version 0.2.1rc11), but it has not reached a published build:
- Latest MuseHub release:
v0.2.1-rc3(2026-09-11). - Installer-delivered build in use:
0.2.1rc5. Itsmuse/core/symlog.py::symlog_pathhas no_MAX_LEAF_BYTESguard.
Reproduction (0.2.1rc5, macOS APFS)
Commit a markdown file whose nested heading path percent-encodes past 255 bytes. Observed on 2026-10-20 (home path redacted):
⚠️ symlog write failed for commit sha256:fd5d2fde10713eb812590a16f8da8bfa74797f0141596aaa1e72b58ce3cb81a4 —
symbol journal may be incomplete: [Errno 63] File name too long:
'<repo>/.muse/symlogs/docs/issues/108-gate-1-successor-plan.md/Muse%20%23108%20%E2%80%94%20Gate%201%20successor%20plan%20%28UNFROZEN%29.2.%20The%20second%20Gate%201%20proof%20%E2%80%94%20exact%20contents%20and%20checks.2.5%20Runtime%20profile%202%3A%20wasmi%200.40.0%20restricted%20to%2002-execution.md%3A99-103.code%5Btext%5D'
The leaf is 263 bytes. With the source fix, symlog_path would have switched to the hashed
leaf (_MAX_LEAF_BYTES = 200). The commit itself is intact.
Requested
- Publish a build that includes
d08abfda…, so installs stop dropping entries. - Secondary, small:
_write_symlogshas no per-symbol error isolation. The only handler is the call-sitetry/exceptinmuse/cli/commands/commit.pyaround the whole call, so any oneOSError(for example a directory component or full path over the OS limit, which #61 left out of scope) skips every later symbol in that commit, not just the failing one. Catching and logging perappend_symlogcall would limit the loss to that one symbol.
Acceptance
muse --versionfrom the published installer reports a version that includesd08abfda….- The reproduction above commits with no warning and
muse symlogshows the entry. - If item 2 is taken: a test where one symbol's write raises
OSErrorstill journals the other symbols in the same commit.
Activity1
closed this issue
2 days ago
Resolved by the muse 0.2.1rc12 publish (2026-10-21).
Verified against the actual published tarball (not just source):
muse/core/symlog.py's_MAX_LEAF_BYTES = 200guard is present in the downloadedmuse-0.2.1rc12.tar.gz.!297fa93cc3e9c645bcc6774bc34d64b460d6ced7a07ab9c7) instead of silently failing.Both acceptance criteria met:
muse --versionfrom the published installer reports0.2.1rc12, which includesd08abfda….Item 2 (per-symbol error isolation in
_write_symlogs) was not addressed here — it was flagged as secondary/optional in the original report. Filing that separately if we want it tracked.Closing.