Skip to content

fix(observability): render skipped pipeline steps - #1562

Open
GuddXzy wants to merge 1 commit into
TokenRhythm:mainfrom
GuddXzy:fix/replay-skipped-status
Open

fix(observability): render skipped pipeline steps#1562
GuddXzy wants to merge 1 commit into
TokenRhythm:mainfrom
GuddXzy:fix/replay-skipped-status

Conversation

@GuddXzy

@GuddXzy GuddXzy commented Sep 3, 2026

Copy link
Copy Markdown

Scope

Scope boundary: Render the documented skipped-by-gate pipeline step state as SKIPPED in read-only replay transcripts, while preserving existing OK and FAIL(<reason>) output.

Non-goals: Change pipeline execution, decision-log persistence/schema, other replay fields, or unrelated CLI output.

Branch

Base branch: main

Target exception: N/A

Issue

Linked issue: Fixes #1503

If None, reason: N/A

Release Note

Release note: Replay transcripts now distinguish conditionally skipped pipeline steps from failures.

Tests

Ruff: uv run ruff check src tests — passed

Pytest:

  • uv run pytest -q tests/test_observability/test_replay.py tests/test_observability/test_decision_log_contract.py — 7 passed
  • uv run pytest -q tests/test_observability — 193 passed, 1 skipped
  • Full-suite local Windows attempt — could not complete reliably because of unrelated platform E2E behavior; the first deterministic blocker under pytest -vv -x was a functional gateway SQLite disk I/O error in test_real_gateway_suppresses_goal_sentinel_everywhere after 351 passed and 8 skipped. Upstream CI provides the repository's sharded Ubuntu and selected Windows coverage.

Build:

  • npm --prefix opensquilla-webui run build — passed
  • uv build --wheel — passed

Regression tests: added

Notes: The regression matrix covers OK, SKIPPED, FAIL(boom), and an empty failure reason rendered as FAIL(). The implementation intentionally checks fallback_reason is None rather than truthiness.

The default test path remains offline, deterministic, credential-free, and safe for forks.

Maintainer Live Check

Maintainer live check: no

Surface: N/A

Maintainer-only note: no credentialed live check is needed for the read-only replay formatter.

Safety

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

No documentation changes. The existing pipeline contract already names this state skipped-by-gate; this PR corrects the renderer to match it.

  • 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.

@GuddXzy

GuddXzy commented Sep 8, 2026

Copy link
Copy Markdown
Author

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.

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.

[Bug]: Replay labels conditionally skipped pipeline steps as FAIL(None)

1 participant