Skip to content

fix: remove unresolved SessionLedger merge markers - #396

Merged
KooshaPari merged 5 commits into
mainfrom
fix/sessionledger-conflict-markers-20260802
Aug 2, 2026
Merged

fix: remove unresolved SessionLedger merge markers#396
KooshaPari merged 5 commits into
mainfrom
fix/sessionledger-conflict-markers-20260802

Conversation

@KooshaPari

@KooshaPari KooshaPari commented Aug 2, 2026

Copy link
Copy Markdown
Owner

User description

Summary

  • remove stale conflict markers from viewer bundle-loading logic
  • retain resolved async corpus loading and selection semantics from the preserved production merge
  • remove conflict markers from replay breadth assertions and cross-language parity documentation

Provenance

  • base: 8fbd647 (origin/main)
  • resolution reference: edca275 (preserved production-release merge)
  • Airlock snapshot: wip/20260802T2212-18c81cab94158bb8

Validation

  • rustfmt --edition 2021 --check crates/sl-viewer/src/app.rs tests/replay_breadth.rs
  • git diff --check
  • tracked-tree conflict-marker scan is clean
  • workspace cargo fmt --all -- --check remains blocked by pre-existing missing crates/sl-viewer/src/corpus_loader/web_exports.rs on base; no unrelated files changed

CodeAnt-AI Description

Remove unresolved merge markers and restore consistent viewer, test, and parity documentation behavior

What Changed

  • Removed conflict markers that could break compilation or leave invalid source and documentation in the repository
  • Restored session-to-bundle loading with session context, message details, loading state, and user-facing load errors
  • Kept replay fixture checks and cross-language parity documentation aligned with the supported Python, TypeScript, and Go checks

Impact

✅ Viewer builds without merge-marker errors
✅ Clearer corpus loading and failure states
✅ Reliable replay and parity validation

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

Copilot AI review requested due to automatic review settings August 2, 2026 22:13
@gemini-code-assist

Copy link
Copy Markdown

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@codeant-ai

codeant-ai Bot commented Aug 2, 2026

Copy link
Copy Markdown

🤖 CodeAnt AI — Review Status

Status Commit Started (UTC) Finished (UTC)
✅ Reviewed your PR 13927ae Aug 02, 2026 · 22:13 22:18

@codeant-ai

codeant-ai Bot commented Aug 2, 2026

Copy link
Copy Markdown

Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@codeant-ai codeant-ai Bot added the size:M This PR changes 30-99 lines, ignoring generated files label Aug 2, 2026
@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@KooshaPari, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 35 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 38892970-d2e6-455a-a988-4c01886b4be0

📥 Commits

Reviewing files that changed from the base of the PR and between 6d34f69 and 9909c8d.

📒 Files selected for processing (1)
  • crates/sl-viewer/src/app.rs
📝 Walkthrough

Summary

This PR removes stale merge-conflict markers from viewer bundle loading, replay breadth assertions, and cross-language parity documentation.

The viewer preserves async corpus loading and selection behavior. Corpus-loading errors now appear across all viewer tabs. Session metadata and structured intent data remain in bundles.

Must Fix

No blocking issues found.

Should Fix

No non-blocking issues found.

Consider

Full workspace formatting remains blocked by a pre-existing missing file on the base branch.

Approve / Request Changes

Approve. The changes are focused and preserve existing behavior. Validation includes formatting checks, git diff --check, and a tracked-tree conflict-marker scan.

Walkthrough

The viewer centralizes session-to-bundle conversion, adds context and goal metadata, and tracks corpus loading errors. Cross-language parity documentation now covers three adapters and optional runtimes. Replay breadth tests remove conflict artifacts without changing behavior.

Changes

Viewer bundle and corpus flow

Layer / File(s) Summary
Bundle conversion and view integration
crates/sl-viewer/src/app.rs
bundles_for_sessions adds title, working-directory, corpus, and structured goal metadata. Timeline and Bundles views use the shared conversion.
Corpus loading and error state
crates/sl-viewer/src/app.rs
The viewer tracks corpus loading state, clears it on failure paths, and uses corpus_error_signal for error display.

Cross-language parity documentation

Layer / File(s) Summary
Adapter references and SelfCheck documentation
docs/ops/cross-language-parity.md
The documentation covers Python, TypeScript, and Go adapters, optional Node and Go runtimes, fixture checks, source checks, and shared-core fingerprints.

Replay breadth test cleanup

Layer / File(s) Summary
Fixture and documentation assertions
tests/replay_breadth.rs
Existing assertions retain their checks and diagnostics after conflict markers and trailing commas are removed.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly identifies the main change: removing unresolved merge markers from SessionLedger-related code.
Description check ✅ Passed The description accurately covers merge-marker removal, viewer loading behavior, replay tests, documentation, and validation.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/sessionledger-conflict-markers-20260802
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch fix/sessionledger-conflict-markers-20260802

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
crates/sl-viewer/src/app.rs (1)

228-256: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Fix the toolchain and Dioxus version in this PR.

sl-viewer declares dioxus = "0.7", which conflicts with the guideline that the viewer crate uses Dioxus 0.6. The pinned toolchain is channel = "1.96.0", while the workspace policy requires Rust 1.85; align the toolchain or update the policy as part of this change.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@crates/sl-viewer/src/app.rs` around lines 228 - 256, Update the sl-viewer
Dioxus dependency to the workspace-required 0.6 version and align the pinned
Rust toolchain from 1.96.0 with the required Rust 1.85 policy; if the project
intentionally needs 1.96.0 instead, update the workspace policy consistently.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@crates/sl-viewer/src/app.rs`:
- Around line 228-256: Update the sl-viewer Dioxus dependency to the
workspace-required 0.6 version and align the pinned Rust toolchain from 1.96.0
with the required Rust 1.85 policy; if the project intentionally needs 1.96.0
instead, update the workspace policy consistently.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 8ddebba4-8e61-48c8-ba08-38d2ba7dbc55

📥 Commits

Reviewing files that changed from the base of the PR and between 8fbd647 and 13927ae.

📒 Files selected for processing (3)
  • crates/sl-viewer/src/app.rs
  • docs/ops/cross-language-parity.md
  • tests/replay_breadth.rs
💤 Files with no reviewable changes (1)
  • tests/replay_breadth.rs
📜 Review details
⏰ Context from checks skipped due to timeout. (26)
  • GitHub Check: semgrep-cloud-platform/scan
  • GitHub Check: sl-daemon · locked offline build
  • GitHub Check: race smoke + channel/cancel model · windows-latest
  • GitHub Check: race smoke + channel/cancel model · macos-latest
  • GitHub Check: jemalloc hard · SelfCheck
  • GitHub Check: jemalloc default-on · windows default build
  • GitHub Check: jemalloc default-on · unix default build
  • GitHub Check: load macro gate · macro routes smoke
  • GitHub Check: prepare
  • GitHub Check: session-ledger build · macos-latest
  • GitHub Check: browser e2e · axe · responsive · visual
  • GitHub Check: sl-daemon build · windows-latest
  • GitHub Check: sl-viewer macOS app · artifact
  • GitHub Check: session-ledger build · windows-latest
  • GitHub Check: exotic check · aarch64-unknown-linux-gnu
  • GitHub Check: soft loom · daemon broadcast
  • GitHub Check: fuzz blocking · SelfCheck
  • GitHub Check: soft loom · loom_model core
  • GitHub Check: fuzz blocking · sustained 30s
  • GitHub Check: loom permutation · core models
  • GitHub Check: visual contract · WCAG AA
  • GitHub Check: loom permutation · daemon mpsc
  • GitHub Check: pipeline perf regression gate
  • GitHub Check: Summary
  • GitHub Check: prepare
  • GitHub Check: prepare
⚠️ CI failures not shown inline (2)

GitHub Actions: Trunk Check / 0_Lint & Format.txt: fix: remove unresolved SessionLedger merge markers

Conclusion: failure

View job details

##[group]GITHUB_TOKEN Permissions
 Contents: read
 Metadata: read
 Packages: read
 ##[endgroup]
 Secret source: Actions
 Prepare workflow directory
 Prepare all required actions
 Getting action download info
 ##[error]Unable to resolve action `trunk-io/trunk-action@d90b9166660d5e5afae248a58172a3a0e99d56d5`, unable to find version `d90b9166660d5e5afae248a58172a3a0e99d56d5`

GitHub Actions: Trunk Check / Lint & Format: fix: remove unresolved SessionLedger merge markers

Conclusion: failure

View job details

##[group]GITHUB_TOKEN Permissions
 Contents: read
 Metadata: read
 Packages: read
 ##[endgroup]
 Secret source: Actions
 Prepare workflow directory
 Prepare all required actions
 Getting action download info
 ##[error]Unable to resolve action `trunk-io/trunk-action@d90b9166660d5e5afae248a58172a3a0e99d56d5`, unable to find version `d90b9166660d5e5afae248a58172a3a0e99d56d5`
🧰 Additional context used
📓 Path-based instructions (4)
**/*.{rs,toml}

📄 CodeRabbit inference engine (AGENTS.md)

**/*.{rs,toml}: Use the Rust toolchain pinned in rust-toolchain.toml; the workspace MSRV is Rust 1.85.
Validate Rust workspace changes with the prescribed locked build, all-features test suite, Clippy, and rustfmt checks where applicable.

Files:

  • crates/sl-viewer/src/app.rs
**/*.rs

📄 CodeRabbit inference engine (AGENTS.md)

Fix Clippy warnings; do not add #[allow] unless it includes a tracking-issue comment.

Files:

  • crates/sl-viewer/src/app.rs
crates/sl-viewer/**/*.{rs,toml}

📄 CodeRabbit inference engine (AGENTS.md)

crates/sl-viewer/**/*.{rs,toml}: The sl-viewer crate uses Dioxus 0.6; use the Dioxus CLI/toolchain for desktop development and bundling.
Use cargo check -p sl-viewer as the fast inner-loop check for viewer changes.

Files:

  • crates/sl-viewer/src/app.rs
crates/sl-viewer/**/*

📄 CodeRabbit inference engine (AGENTS.md)

When packaging the macOS viewer, account for the documented Electrobun/Dioxus code-signing requirements.

Files:

  • crates/sl-viewer/src/app.rs
🔇 Additional comments (4)
crates/sl-viewer/src/app.rs (1)

27-28: LGTM!

Also applies to: 154-189, 403-405, 882-882, 962-1004

docs/ops/cross-language-parity.md (3)

90-107: LGTM!


119-138: LGTM!


139-139: 📐 Maintainability & Code Quality

Clarify the blocking CI contract for cross-language parity.

The workflow does run script/cross-language-parity-check.ps1 on pull_request and push with a non-skipped SelfCheck job, but the documented claim of "(blocking)" may be stronger than the repo can prove unless eval-compression / cross-language parity SelfCheck is separately configured as a required check for main.

coderabbitai[bot]
coderabbitai Bot previously approved these changes Aug 2, 2026
Comment thread crates/sl-viewer/src/app.rs Outdated
@KooshaPari
KooshaPari enabled auto-merge (squash) August 2, 2026 23:07
@KooshaPari

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
crates/sl-viewer/src/app.rs (1)

403-405: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Pass loading state into TimelineView so the empty text cannot hide loading.

TimelineView only receives bundles, and its empty branch renders "No bundles to display" without distinguishing a corpus that is still loading. Pass the loading/error state explicitly, or show a loading state that makes this path wait for the corpus to finish loading before switching to the empty-corpus message.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@crates/sl-viewer/src/app.rs` around lines 403 - 405, Update the Tab::Timeline
construction of TimelineView to provide the corpus loading/error state alongside
bundles, and update TimelineView’s empty-state handling to render loading or
error feedback before “No bundles to display.” Preserve the empty-corpus message
only after loading completes successfully with no bundles.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@crates/sl-viewer/src/app.rs`:
- Around line 881-886: Update the Bundles tab rendering around Tab::Bundles and
BundlesTab so the corpus error is displayed only by the global
corpus-error-banner. Suppress the local ErrorState for the same corpus_error
value while preserving any contextual recovery controls that BundlesTab
requires.

---

Outside diff comments:
In `@crates/sl-viewer/src/app.rs`:
- Around line 403-405: Update the Tab::Timeline construction of TimelineView to
provide the corpus loading/error state alongside bundles, and update
TimelineView’s empty-state handling to render loading or error feedback before
“No bundles to display.” Preserve the empty-corpus message only after loading
completes successfully with no bundles.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: f5cbe6d6-aa7d-47de-baaa-3341a7add616

📥 Commits

Reviewing files that changed from the base of the PR and between 13927ae and 6d34f69.

📒 Files selected for processing (1)
  • crates/sl-viewer/src/app.rs
📜 Review details
⏰ Context from checks skipped due to timeout. (40)
  • GitHub Check: Rust
  • GitHub Check: sl-daemon · repository builder image offline build / sl-daemon · repository builder image offline build
  • GitHub Check: hermetic · reusable workflow provenance (soft)
  • GitHub Check: fuzz blocking · sustained 30s
  • GitHub Check: Kilo Code Review
  • GitHub Check: jemalloc hard · feature build
  • GitHub Check: loom permutation · SelfCheck
  • GitHub Check: loom permutation · daemon pipeline
  • GitHub Check: loom permutation · daemon shutdown
  • GitHub Check: loom permutation · daemon mpsc
  • GitHub Check: loom permutation · core models
  • GitHub Check: miri permutation · race_model
  • GitHub Check: loom permutation · daemon broadcast
  • GitHub Check: daemon graph hard · tokio graph
  • GitHub Check: soft fuzz · SelfCheck
  • GitHub Check: visual contract · WCAG AA
  • GitHub Check: prepare
  • GitHub Check: soft loom · daemon broadcast
  • GitHub Check: jemalloc default-on · unix default build
  • GitHub Check: shuttle permutation · cargo test shuttle_permutation
  • GitHub Check: browser e2e · axe · responsive · visual
  • GitHub Check: soft loom · loom_model core
  • GitHub Check: race smoke + channel/cancel model · windows-latest
  • GitHub Check: update check hard · sl-daemon tests
  • GitHub Check: race smoke + channel/cancel model · macos-latest
  • GitHub Check: pipeline perf regression gate
  • GitHub Check: sl-daemon build · windows-latest
  • GitHub Check: sl-daemon build · macos-latest
  • GitHub Check: exotic check · aarch64-unknown-linux-gnu
  • GitHub Check: session-ledger build · macos-latest
  • GitHub Check: jemalloc default-on · windows default build
  • GitHub Check: alloc profile hard · dhat smoke
  • GitHub Check: session-ledger build · windows-latest
  • GitHub Check: exotic check · x86_64-unknown-linux-musl
  • GitHub Check: sl-viewer macOS app · artifact
  • GitHub Check: tsan permutation · race_model
  • GitHub Check: sl-viewer help · unit tests
  • GitHub Check: Summary
  • GitHub Check: prepare
  • GitHub Check: browser e2e · axe · responsive · visual
⚠️ CI failures not shown inline (6)

GitHub Actions: Trunk Check / Lint & Format: fix: remove unresolved SessionLedger merge markers

Conclusion: failure

View job details

##[group]GITHUB_TOKEN Permissions
 Contents: read
 Metadata: read
 Packages: read
 ##[endgroup]
 Secret source: Actions
 Prepare workflow directory
 Prepare all required actions
 Getting action download info
 ##[error]Unable to resolve action `trunk-io/trunk-action@d90b9166660d5e5afae248a58172a3a0e99d56d5`, unable to find version `d90b9166660d5e5afae248a58172a3a0e99d56d5`

GitHub Actions: Trunk Check / 0_Lint & Format.txt: fix: remove unresolved SessionLedger merge markers

Conclusion: failure

View job details

##[group]GITHUB_TOKEN Permissions
 Contents: read
 Metadata: read
 Packages: read
 ##[endgroup]
 Secret source: Actions
 Prepare workflow directory
 Prepare all required actions
 Getting action download info
 ##[error]Unable to resolve action `trunk-io/trunk-action@d90b9166660d5e5afae248a58172a3a0e99d56d5`, unable to find version `d90b9166660d5e5afae248a58172a3a0e99d56d5`

GitHub Actions: signing hard / 0_signing hard · SelfCheck.txt: fix: remove unresolved SessionLedger merge markers

Conclusion: failure

View job details

##[group]Run ./scripts/signing-readiness-check.ps1 -SelfCheck
 �[36;1m./scripts/signing-readiness-check.ps1 -SelfCheck�[0m
 shell: /usr/bin/pwsh -command ". '{0}'"
 ##[endgroup]
 Platform signing readiness check (C11 L112 hard evidence)
 Mode: SelfCheck (ADR + release.yml unsigned anchors + blocking hard CI; no secrets / no network)
 ADR 0003 anchors:
   [PASS] ADR deferral title
   [PASS] ADR portable SHA256SUMS trust path
   [PASS] ADR Authenticode deferral
   [PASS] ADR notarization deferral
   [PASS] ADR reconsider triggers
   [PASS] ADR cross-link to signing readiness checklist
 Signing readiness checklist anchors:
   [PASS] checklist heading
   [PASS] unsigned current state section
   [PASS] unsigned MSI artifact naming
   [PASS] unsigned PKG artifact naming
   [PASS] SelfCheck script reference
   [PASS] SelfCheck gate marked done
   [PASS] soft vs hard gates matrix section
   [PASS] blocking hard CI gate marked done
   [PASS] signing-hard workflow path documented
   [PASS] signing_hard test wrapper documented
   [PASS] unpaid Apple credential gate
   [PASS] unpaid Windows credential gate
   [PASS] signed clean-host smoke unpaid gate
   [PASS] ADR 0001 auto-update unpaid gate
   [PASS] no fake secrets policy
   [PASS] no false platform signing claim
 release.yml unsigned path anchors:
   [PASS] release.yml deferral header comment
   [PASS] unsigned Windows MSI packaging step
   [PASS] unsigned macOS PKG packaging step
   [PASS] package-msi.ps1 invocation
   [PASS] smoke-windows job
   [PASS] smoke-macos-pkg job
   [PASS] MSI silent install smoke anchor
   [PASS] ADR 0003 reference in release workflow
   [PASS] release signing-readiness job
   [PASS] release invokes signing-readiness SelfCheck
   [PASS] release.yml smoke + signing-readiness job definitions present
 signing-hard workflow blocking-gate anchors:
   [PASS] hard workflow has no continue-on-error
   [PASS] hard workflow triggers on pull_request
   [PASS] hard workflow runs signing-readiness-check....

GitHub Actions: signing hard / signing hard · SelfCheck: fix: remove unresolved SessionLedger merge markers

Conclusion: failure

View job details

##[group]Run ./scripts/signing-readiness-check.ps1 -SelfCheck
 �[36;1m./scripts/signing-readiness-check.ps1 -SelfCheck�[0m
 shell: /usr/bin/pwsh -command ". '{0}'"
 ##[endgroup]
 Platform signing readiness check (C11 L112 hard evidence)
 Mode: SelfCheck (ADR + release.yml unsigned anchors + blocking hard CI; no secrets / no network)
 ADR 0003 anchors:
   [PASS] ADR deferral title
   [PASS] ADR portable SHA256SUMS trust path
   [PASS] ADR Authenticode deferral
   [PASS] ADR notarization deferral
   [PASS] ADR reconsider triggers
   [PASS] ADR cross-link to signing readiness checklist
 Signing readiness checklist anchors:
   [PASS] checklist heading
   [PASS] unsigned current state section
   [PASS] unsigned MSI artifact naming
   [PASS] unsigned PKG artifact naming
   [PASS] SelfCheck script reference
   [PASS] SelfCheck gate marked done
   [PASS] soft vs hard gates matrix section
   [PASS] blocking hard CI gate marked done
   [PASS] signing-hard workflow path documented
   [PASS] signing_hard test wrapper documented
   [PASS] unpaid Apple credential gate
   [PASS] unpaid Windows credential gate
   [PASS] signed clean-host smoke unpaid gate
   [PASS] ADR 0001 auto-update unpaid gate
   [PASS] no fake secrets policy
   [PASS] no false platform signing claim
 release.yml unsigned path anchors:
   [PASS] release.yml deferral header comment
   [PASS] unsigned Windows MSI packaging step
   [PASS] unsigned macOS PKG packaging step
   [PASS] package-msi.ps1 invocation
   [PASS] smoke-windows job
   [PASS] smoke-macos-pkg job
   [PASS] MSI silent install smoke anchor
   [PASS] ADR 0003 reference in release workflow
   [PASS] release signing-readiness job
   [PASS] release invokes signing-readiness SelfCheck
   [PASS] release.yml smoke + signing-readiness job definitions present
 signing-hard workflow blocking-gate anchors:
   [PASS] hard workflow has no continue-on-error
   [PASS] hard workflow triggers on pull_request
   [PASS] hard workflow runs signing-readiness-check....

GitHub Actions: rootless matrix / rootless-only matrix · SelfCheck: fix: remove unresolved SessionLedger merge markers

Conclusion: failure

View job details

##[group]Run ./scripts/rootless-matrix-check.ps1 -SelfCheck
 �[36;1m./scripts/rootless-matrix-check.ps1 -SelfCheck�[0m
 shell: /usr/bin/pwsh -command ". '{0}'"
 ##[endgroup]
 Rootless-only OCI runner matrix scaffold check (C04 L40)
 Mode: SelfCheck (docs + workflow + security/ci anchors; no OCI build / no network)
 Rootless-only runner matrix doc anchors:
   [PASS] rootless-only matrix section heading
   [PASS] SelfCheck script reference
   [PASS] SelfCheck gate marked done
   [PASS] blocking workflow gate marked done
   [PASS] rootless-matrix workflow path documented
   [PASS] cargo test wrapper documented
   [PASS] runner capability matrix documented
   [PASS] live rootless runner matrix remains unpaid
   [PASS] OCI build/smoke in matrix remains unpaid
   [PASS] no false OCI build claim
   [PASS] no false live-runner enforcement claim
 rootless-matrix workflow blocking-gate anchors:
   [PASS] workflow has no continue-on-error
   [PASS] workflow triggers on pull_request
   [PASS] workflow runs rootless-matrix-check.ps1
 security.yml / ci.yml cross-reference anchors:
   [PASS] security.yml references rootless-matrix workflow
   [PASS] security.yml references rootless-matrix SelfCheck script
   [FAIL] ci.yml references rootless-matrix workflow
 �[31;1mException: �[0m/home/runner/work/SessionLedger/SessionLedger/scripts/rootless-matrix-check.ps1:65�[0m
 �[31;1m�[0m�[36;1mLine |�[0m
 �[31;1m�[0m�[36;1m�[36;1m  65 | �[0m         �[36;1mthrow "$Context missing required anchor: '$Needle'"�[0m
 �[31;1m�[0m�[36;1m�[36;1m�[0m�[36;1m�[0m�[36;1m     | �[31;1m         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~�[0m
 �[31;1m�[0m�[36;1m�[36;1m�[0m�[36;1m�[0m�[36;1m�[31;1m�[31;1m�[36;1m     | �[31;1m.github/workflows/ci.yml missing required anchor: 'rootless-matrix.yml'�[0m
 ##[error]Process completed with exit code 1.

GitHub Actions: rootless matrix / 0_rootless-only matrix · SelfCheck.txt: fix: remove unresolved SessionLedger merge markers

Conclusion: failure

View job details

##[group]Run ./scripts/rootless-matrix-check.ps1 -SelfCheck
 �[36;1m./scripts/rootless-matrix-check.ps1 -SelfCheck�[0m
 shell: /usr/bin/pwsh -command ". '{0}'"
 ##[endgroup]
 Rootless-only OCI runner matrix scaffold check (C04 L40)
 Mode: SelfCheck (docs + workflow + security/ci anchors; no OCI build / no network)
 Rootless-only runner matrix doc anchors:
   [PASS] rootless-only matrix section heading
   [PASS] SelfCheck script reference
   [PASS] SelfCheck gate marked done
   [PASS] blocking workflow gate marked done
   [PASS] rootless-matrix workflow path documented
   [PASS] cargo test wrapper documented
   [PASS] runner capability matrix documented
   [PASS] live rootless runner matrix remains unpaid
   [PASS] OCI build/smoke in matrix remains unpaid
   [PASS] no false OCI build claim
   [PASS] no false live-runner enforcement claim
 rootless-matrix workflow blocking-gate anchors:
   [PASS] workflow has no continue-on-error
   [PASS] workflow triggers on pull_request
   [PASS] workflow runs rootless-matrix-check.ps1
 security.yml / ci.yml cross-reference anchors:
   [PASS] security.yml references rootless-matrix workflow
   [PASS] security.yml references rootless-matrix SelfCheck script
   [FAIL] ci.yml references rootless-matrix workflow
 �[31;1mException: �[0m/home/runner/work/SessionLedger/SessionLedger/scripts/rootless-matrix-check.ps1:65�[0m
 �[31;1m�[0m�[36;1mLine |�[0m
 �[31;1m�[0m�[36;1m�[36;1m  65 | �[0m         �[36;1mthrow "$Context missing required anchor: '$Needle'"�[0m
 �[31;1m�[0m�[36;1m�[36;1m�[0m�[36;1m�[0m�[36;1m     | �[31;1m         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~�[0m
 �[31;1m�[0m�[36;1m�[36;1m�[0m�[36;1m�[0m�[36;1m�[31;1m�[31;1m�[36;1m     | �[31;1m.github/workflows/ci.yml missing required anchor: 'rootless-matrix.yml'�[0m
 ##[error]Process completed with exit code 1.
🧰 Additional context used
📓 Path-based instructions (4)
**/*.{rs,toml}

📄 CodeRabbit inference engine (AGENTS.md)

**/*.{rs,toml}: Use the Rust toolchain pinned in rust-toolchain.toml; the workspace MSRV is Rust 1.85.
Validate Rust workspace changes with the prescribed locked build, all-features test suite, Clippy, and rustfmt checks where applicable.

Files:

  • crates/sl-viewer/src/app.rs
**/*.rs

📄 CodeRabbit inference engine (AGENTS.md)

Fix Clippy warnings; do not add #[allow] unless it includes a tracking-issue comment.

Files:

  • crates/sl-viewer/src/app.rs
crates/sl-viewer/**/*.{rs,toml}

📄 CodeRabbit inference engine (AGENTS.md)

crates/sl-viewer/**/*.{rs,toml}: The sl-viewer crate uses Dioxus 0.6; use the Dioxus CLI/toolchain for desktop development and bundling.
Use cargo check -p sl-viewer as the fast inner-loop check for viewer changes.

Files:

  • crates/sl-viewer/src/app.rs
crates/sl-viewer/**/*

📄 CodeRabbit inference engine (AGENTS.md)

When packaging the macOS viewer, account for the documented Electrobun/Dioxus code-signing requirements.

Files:

  • crates/sl-viewer/src/app.rs
🔇 Additional comments (4)
crates/sl-viewer/src/app.rs (4)

28-28: LGTM!

Also applies to: 168-171


154-165: 🗄️ Data Integrity & Integration

No change needed. The Context bundle is always rendered, and empty context values are handled by the detail view and OKF translation.


173-189: 🗄️ Data Integrity & Integration

No change needed. Summary and detail consumers read goal: Option<String> and render a safe fallback when the intent goal is absent.


228-256: 📐 Maintainability & Code Quality

Run the required Dioxus validation checks.

The manifest declares Dioxus 0.7 for crates/sl-viewer, and that version is pinned for runtime behavior. Run the prescribed viewer/workspace checks with the locked toolchain before relying on this path.

Comment thread crates/sl-viewer/src/app.rs
@kilo-code-bot

kilo-code-bot Bot commented Aug 2, 2026

Copy link
Copy Markdown

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (3 files)
  • crates/sl-viewer/src/app.rs - Merge conflict resolution, error banner fix
  • tests/replay_breadth.rs - Conflict marker cleanup
  • docs/ops/cross-language-parity.md - Conflict marker cleanup, Go adapter docs restored

Reviewed by step-3.7-flash · Input: 205.5K · Output: 50.2K · Cached: 4.4M

@kilo-code-bot kilo-code-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found.

@KooshaPari

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@KooshaPari
KooshaPari merged commit 1953350 into main Aug 2, 2026
86 of 108 checks passed
@KooshaPari
KooshaPari deleted the fix/sessionledger-conflict-markers-20260802 branch August 12, 2026 09:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M This PR changes 30-99 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants