Skip to content

Fix yaml-tags non-deterministic write#1

Merged
cscheid merged 2 commits into
kyotofrom
bugfix/tag-diagnostics
Jan 3, 2026
Merged

Fix yaml-tags non-deterministic write#1
cscheid merged 2 commits into
kyotofrom
bugfix/tag-diagnostics

Conversation

@cscheid
Copy link
Copy Markdown
Member

@cscheid cscheid commented Jan 2, 2026

We're attempting to isolate a yaml-tags nondeterministic snapshot.

cscheid and others added 2 commits January 2, 2026 16:38
The yaml-tags snapshot test failed intermittently because Path/Glob/Expr
ConfigValue variants created temporary Inlines during serialization. When
these temporaries were dropped, their memory addresses could be reused by
subsequent allocations, causing the SourceInfoSerializer's pointer cache
to return incorrect IDs.

Fix by pre-serializing all Path/Glob/Expr ConfigValues at the start of
write_pandoc(). This ensures their SourceInfos are interned first, before
any temporary allocations can cause memory reuse issues.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@cscheid cscheid merged commit 97a0930 into kyoto Jan 3, 2026
2 checks passed
@cscheid cscheid changed the title tests for CI check Fix for yaml-tags non-deterministic write Jan 3, 2026
@cscheid cscheid changed the title Fix for yaml-tags non-deterministic write Fix yaml-tags non-deterministic write Jan 3, 2026
shikokuchuo added a commit that referenced this pull request May 12, 2026
Replace the Phase 0 unimplemented!() bodies with the real impls:
AttributionDataBuilder interns actors once and Arc::clone-s thereafter;
AttributionMap::query_byte_range uses partition_point + a forward walk
to pick the most-recent overlapping run; PreBuiltAttributionProvider::
build re-interns through the builder so transport JSON round-trips
restore Arc<str> ptr-equality; format_supports_attribution matches
FormatIdentifier::Html (covers html, q2-debug, extension HTML);
from_config_value reads meta.attribution.identities into an IdentityMap
with fresh Arc keys so Phase 2's merge can preserve provider keys on
collision. Turns Phase 0 tests #1 + #2 (10 cases) green; the 8 regression
pins stay green.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant