You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Scope boundary: Make read-only replay transcripts distinguish successful, conditionally skipped, and failed pipeline steps after decision logs have been written and loaded. Persist a small outcome field before privacy filtering removes exception text, using additive decision-log schema version 17. Historical logs without enough information to distinguish a failure from a skip display UNKNOWN.
Non-goals: Change pipeline execution, expose exception text in persisted logs, or add a WebUI surface.
Release note: Replay now displays SKIPPED for conditionally skipped pipeline steps and preserves FAIL for exceptions even when their text is removed from logs. Historical ambiguous records display UNKNOWN.
Tests
Ruff: ruff check src tests — passed.
Type checking: mypy src/opensquilla --show-error-codes — passed for 1,605 source files.
Pytest (Python 3.12, explicit local source path):
Targeted replay, decision-log contract, and privacy preflight — 35 passed.
Regression tests: added. Coverage includes a real pipeline with a gated production step, successful and failing steps, empty exception text, private primary/debug JSONL persistence, hydration, and the replay CLI. Historical records with missing, null, empty, explicit, and unknown status values are covered.
The default tests remain offline, deterministic, credential-free, and safe for forks. The local full repository suite was not run; repository CI provides the required acceptance checks. No WebUI or packaging source changes are included.
Maintainer Live Check
Maintainer live check: no
Surface: N/A
Maintainer-only note: No credentialed provider call is needed for decision-log persistence and read-only replay validation.
Safety
Exception text remains filtered from primary and debug logs. The outcome uses an existing safe metadata field; privacy rules are unchanged. Historical ambiguous records are not inferred to be successful or skipped. The added dataclass field has a default and older readers ignore it. The change is platform-neutral and does not change filesystem, subprocess, or platform-specific behavior.
No secrets, local-only artifacts, private prompts/transcripts, channel identifiers, AI session artifacts, non-public fixtures, or tests/_private/ contents are included.
Third-Party Origin
Third-party origin: none
Details if non-none: N/A
Documentation Changes
Updated docs/diagnostics-and-replay.md to explain replay outcomes and historical UNKNOWN records.
Links point to existing repository files or stable external pages.
Code fences and Markdown tables render correctly on GitHub.
Examples avoid real secrets, local private paths, and private transcripts.
Thanks for the focused fix and regression tests. I checked the current main branch, and skipped steps are still rendered as FAIL(None), so #1503 remains unresolved.
CI, PR body lint, and PR target branch currently show action_required, with no CI jobs executed. Could a maintainer check whether these workflows need approval and review this PR? The branch is also behind main; please advise whether an update is needed before validation.
Open-Squilla
changed the title
fix(observability): render skipped pipeline steps
fix(observability): preserve skipped and failed replay states
Sep 16, 2026
Merge queue CI: success — run 35167683077, attempt 1.
Tested queue candidate: f78d48286393dae95d5e760641e110e3f20aabaf. This result belongs to that combined tree, not necessarily the PR's current head.
The run summary lists reused suites and executed checks. A green PR check alone does not mean queue validation has passed.
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
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.
Scope
Scope boundary: Make read-only replay transcripts distinguish successful, conditionally skipped, and failed pipeline steps after decision logs have been written and loaded. Persist a small outcome field before privacy filtering removes exception text, using additive decision-log schema version 17. Historical logs without enough information to distinguish a failure from a skip display
UNKNOWN.Non-goals: Change pipeline execution, expose exception text in persisted logs, or add a WebUI surface.
Branch
Base branch: main
Target exception: N/A
Issue
Linked issue: Fixes #1503
If None, reason: N/A
Release Note
Release note: Replay now displays
SKIPPEDfor conditionally skipped pipeline steps and preservesFAILfor exceptions even when their text is removed from logs. Historical ambiguous records displayUNKNOWN.Tests
Ruff:
ruff check src tests— passed.Type checking:
mypy src/opensquilla --show-error-codes— passed for 1,605 source files.Pytest (Python 3.12, explicit local source path):
python -m pytest -vv --tb=short tests/test_observability— 258 passed.Regression tests: added. Coverage includes a real pipeline with a gated production step, successful and failing steps, empty exception text, private primary/debug JSONL persistence, hydration, and the replay CLI. Historical records with missing, null, empty, explicit, and unknown status values are covered.
The default tests remain offline, deterministic, credential-free, and safe for forks. The local full repository suite was not run; repository CI provides the required acceptance checks. No WebUI or packaging source changes are included.
Maintainer Live Check
Maintainer live check: no
Surface: N/A
Maintainer-only note: No credentialed provider call is needed for decision-log persistence and read-only replay validation.
Safety
Exception text remains filtered from primary and debug logs. The outcome uses an existing safe metadata field; privacy rules are unchanged. Historical ambiguous records are not inferred to be successful or skipped. The added dataclass field has a default and older readers ignore it. The change is platform-neutral and does not change filesystem, subprocess, or platform-specific behavior.
No secrets, local-only artifacts, private prompts/transcripts, channel identifiers, AI session artifacts, non-public fixtures, or
tests/_private/contents are included.Third-Party Origin
Third-party origin: none
Details if non-none: N/A
Documentation Changes
Updated
docs/diagnostics-and-replay.mdto explain replay outcomes and historicalUNKNOWNrecords.