Skip to content

fix(review): isolate thread analysis failures - #661

Merged
zzwong merged 2 commits into
mainfrom
fix/thread-analysis-failure-isolation-604
Oct 11, 2026
Merged

zzwong merged 2 commits into
mainfrom
fix/thread-analysis-failure-isolation-604

Conversation

@zzwong

@zzwong zzwong commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Isolate executed thread-analysis failures so successful sibling analyses, reviewers and review posting can continue.
  • Report unanalyzed threads with safe diagnostics, suppress their replies/resolutions, and withhold an otherwise approving review.
  • Preserve blocking cancellation, provider-start, stale/corrupt-cache, persistence and checkpoint failures. Response-only cr respond keeps its blocking behavior.
  • Reuse matching isolated failures on resume; --rerun retries in a fresh run. Existing blocking tasks still retry.
  • Bound public diagnostics to five examples and 500 Unicode runes. Keep complete typed/local evidence and bind all failure evidence into the synthesis fingerprint, including omitted examples.
  • Retain pinned symlink metadata, relocation/context coverage guards and their fingerprint dependencies.

Type of Change

  • Bug fix
  • Tests
  • Documentation update

Validation

Go 1.26.8 on Linux, keyring_nopassage, GOMAXPROCS=4, with synthetic providers:

  • Eight full domain/symlink/tool/workbench package suites and their race suites passed.
  • Sixteen targeted feature, symlink, schema and Pi tool-configuration tests passed under race, including live posting/resume and symlink-to-regular coverage. No targeted skips or race reports.
  • Repository vet, ordinary VCS-stamped build, module verification, tidy and lint passed; lint reported zero issues and module files were unchanged.
  • Full go test -json ./... -count=1 exited 1 only for three pipeline source-trust test groups caused by the preserved read-only /tmp/.git marker. Pristine 999e59dd reproduced the same six failed test/subtest events. The log retains 67 package-pass events.
  • Five expected test skips were recorded: tag-specific 1Password, unavailable Node/Pi runtime, Windows cross-volume, and opt-in real Claude. Non-verbose domain output does not establish zero skips.
  • Literal make check was NOT RUN. Full repository-wide race and installed-Pi/Node or real-provider integration are not established by these local checks.
  • A preserved earlier negative control disabled only isolated lifecycle failure status and made the batch/live-posting regressions fail. The feature implementation file is byte-identical; that earlier control was not rerun on the current schema-3 successor.

Hosted CI

CI run 37732350300 completed successfully on 2026-10-08 at exact published head 9aee7e338448907adc428efcc2ce46688793d7d4, base 999e59dd, attempt 1. All 10 jobs passed: Linux/macOS/Windows builds, required build aggregate, test, 1Password opt-out test, static smoke, lint, identity and PR-title checks. The synthetic merge commit c31ca0d has the exact tested/published tree 28ee43acaed4bc86eaaff3cf4e86760f599242dc.

This hosted result is separate from the local aggregate failure, five skips and not-run checks above.

Execution Tree

Local HEAD remained main 999e59ddfc74a67ffeef3c4b4a78a8528365afe6; checks ran against the frozen staged tree 28ee43acaed4bc86eaaff3cf4e86760f599242dc. Publication creates a new single-parent commit with that exact tree and main parent. The local aggregate limitation above remains explicit; hosted CI is reported separately.

Related Issues

Refs #604

@monit-reviewer monit-reviewer 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.

Automated PR Review

Reviewed commit: 9aee7e338448
Profile: open-cli-collective-review - Posting as: monit-reviewer

Summary

Reviewer Findings
go:implementation-tests 0
structure:repo-health 0
policies:conventions 0

Reviewer Coverage

Complete coverage details are retained in the local coverage.json artifact.

  • go:implementation-tests — complete (broad); scope: 14 files; examples: internal/pipeline/pipeline.go, internal/pipeline/prompts.go, internal/pipeline/thread_analysis_failure_test.go, internal/pipeline/thread_analysis_prompt_test.go, internal/reviewplan/relocation_coverage_test.go; 9 omitted; body-inspected: 14 files; examples: internal/pipeline/pipeline.go, internal/pipeline/prompts.go, internal/pipeline/thread_analysis_failure_test.go, internal/pipeline/thread_analysis_prompt_test.go, internal/reviewplan/relocation_coverage_test.go; 9 omitted; skipped: none; context (not coverage): 1 file; examples: internal/llmlifecycle/lifecycle.go; constraints: Static review only; tests were inspected but not executed.
  • structure:repo-health — complete (broad); scope: 8 files; examples: docs/llm-task-artifacts.md, internal/pipeline/pipeline.go, internal/pipeline/prompts.go, internal/reviewplan/reviewplan.go, internal/reviewplan/summary.go; 3 omitted; body-inspected: 8 files; examples: docs/llm-task-artifacts.md, internal/pipeline/pipeline.go, internal/pipeline/prompts.go, internal/reviewplan/reviewplan.go, internal/reviewplan/summary.go; 3 omitted; skipped: none; context (not coverage): 1 file; examples: internal/llmlifecycle/lifecycle.go; constraints: Static inspection only; no tests or runtime checks were executed. Review focused on the assigned cross-package failure lifecycle and orchestration boundaries.
  • policies:conventions — complete (broad); scope: 9 files; examples: docs/llm-task-artifacts.md, internal/pipeline/pipeline.go, internal/pipeline/prompts.go, internal/reviewplan/reviewplan.go, internal/reviewplan/summary.go; 4 omitted; body-inspected: 9 files; examples: docs/llm-task-artifacts.md, internal/pipeline/pipeline.go, internal/pipeline/prompts.go, internal/reviewplan/reviewplan.go, internal/reviewplan/summary.go; 4 omitted; skipped: none; context (not coverage): 3 files; examples: docs/architecture.md, docs/development.md, docs/review-lifecycle.md; constraints: External shared standards and the local harness-engineering principles document were not available in the pinned repository context. Review limited to pinned source and documentation inspection; no tests were executed.

0 PR discussion threads considered. 0 summarized; 0 resolved.


Completed in 47s | $0.10 | openai-codex/gpt-6.1-sol | cr 0.10.328
Field Value
Model openai-codex/gpt-6.1-sol
Reviewers go:implementation-tests, structure:repo-health, policies:conventions
Engine pi_rpc · openai-codex/gpt-6.1-sol
Reviewed by cr · monit-reviewer
Duration 47s wall · 1m 26s compute
Cost $0.10
Tokens 36.2k in / 1.1k out

Per-workstream usage

  • orchestrator-selection — openai-codex/gpt-6.1-sol
    • In: 6.1k
    • Out: 519
    • Cache read: 0
    • Cache create: 0
    • Cost: $0.02
    • Duration: 9s
  • go:implementation-tests — openai-codex/gpt-6.1-sol
    • In: 10.7k
    • Out: 176
    • Cache read: 37.0k
    • Cache create: 0
    • Cost: $0.03
    • Duration: 23s
  • structure:repo-health — openai-codex/gpt-6.1-sol
    • In: 3.8k
    • Out: 134
    • Cache read: 65.0k
    • Cache create: 0
    • Cost: $0.02
    • Duration: 26s
  • policies:conventions — openai-codex/gpt-6.1-sol
    • In: 11.9k
    • Out: 191
    • Cache read: 49.7k
    • Cache create: 0
    • Cost: $0.03
    • Duration: 23s
  • orchestrator-rollup — openai-codex/gpt-6.1-sol
    • In: 3.8k
    • Out: 52
    • Cache read: 0
    • Cache create: 0
    • Cost: $0.01
    • Duration: 3s

@monit-reviewer monit-reviewer 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.

Automated PR Review

Reviewed commit: 1b1158c50aa5
Profile: open-cli-collective-review - Posting as: monit-reviewer

Summary

Reviewer Findings
go:implementation-tests 0
structure:repo-health 0
policies:conventions 0

Reviewer Coverage

Complete coverage details are retained in the local coverage.json artifact.

  • go:implementation-tests — complete (constrained); scope: 14 files; examples: internal/pipeline/pipeline.go, internal/pipeline/prompts.go, internal/pipeline/thread_analysis_failure_test.go, internal/pipeline/thread_analysis_prompt_test.go, internal/reviewplan/relocation_coverage_test.go; 9 omitted; body-inspected: 14 files; examples: internal/pipeline/pipeline.go, internal/pipeline/prompts.go, internal/pipeline/thread_analysis_failure_test.go, internal/pipeline/thread_analysis_prompt_test.go, internal/reviewplan/relocation_coverage_test.go; 9 omitted; skipped: none; context (not coverage): 2 files; examples: docs/development.md, internal/llmlifecycle/lifecycle.go; constraints: Static inspection only; tests were inspected but not executed.
  • structure:repo-health — complete (constrained); scope: 8 files; examples: docs/llm-task-artifacts.md, internal/pipeline/pipeline.go, internal/pipeline/prompts.go, internal/reviewplan/reviewplan.go, internal/reviewplan/summary.go; 3 omitted; body-inspected: 8 files; examples: docs/llm-task-artifacts.md, internal/pipeline/pipeline.go, internal/pipeline/prompts.go, internal/reviewplan/reviewplan.go, internal/reviewplan/summary.go; 3 omitted; skipped: none; constraints: Static review only; tests and runtime behavior were not executed.
  • policies:conventions — complete (constrained); scope: 9 files; examples: docs/llm-task-artifacts.md, internal/pipeline/pipeline.go, internal/pipeline/prompts.go, internal/reviewplan/reviewplan.go, internal/reviewplan/summary.go; 4 omitted; body-inspected: 9 files; examples: docs/llm-task-artifacts.md, internal/pipeline/pipeline.go, internal/pipeline/prompts.go, internal/reviewplan/reviewplan.go, internal/reviewplan/summary.go; 4 omitted; skipped: none; context (not coverage): 4 files; examples: AGENTS.md, CLAUDE.md, CONTRIBUTING.md, docs/development.md; constraints: Canonical shared standards and external harness principles were not available in the pinned repository; assessed visible repo-local conventions only. Static review only; no checks were executed.

0 PR discussion threads considered. 0 summarized; 0 resolved.


Completed in 42s | $0.09 | openai-codex/gpt-6.1-sol | cr 0.10.328
Field Value
Model openai-codex/gpt-6.1-sol
Reviewers go:implementation-tests, structure:repo-health, policies:conventions
Engine pi_rpc · openai-codex/gpt-6.1-sol
Reviewed by cr · monit-reviewer
Duration 42s wall · 1m 21s compute
Cost $0.09
Tokens 31.0k in / 614 out

Per-workstream usage

  • go:implementation-tests — openai-codex/gpt-6.1-sol
    • In: 12.4k
    • Out: 261
    • Cache read: 75.8k
    • Cache create: 0
    • Cost: $0.04
    • Duration: 27s
  • structure:repo-health — openai-codex/gpt-6.1-sol
    • In: 558
    • Out: 136
    • Cache read: 55.3k
    • Cache create: 0
    • Cost: $0.01
    • Duration: 21s
  • policies:conventions — openai-codex/gpt-6.1-sol
    • In: 14.2k
    • Out: 161
    • Cache read: 41.2k
    • Cache create: 0
    • Cost: $0.03
    • Duration: 29s
  • orchestrator-rollup — openai-codex/gpt-6.1-sol
    • In: 3.8k
    • Out: 56
    • Cache read: 0
    • Cache create: 0
    • Cost: $0.01
    • Duration: 3s

@zzwong
zzwong marked this pull request as ready for review October 11, 2026 02:05
@zzwong
zzwong merged commit 8785394 into main Oct 11, 2026
11 checks passed
@zzwong
zzwong deleted the fix/thread-analysis-failure-isolation-604 branch October 11, 2026 02:05
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.

2 participants