Skip to content

test: repair remote and update-check fixture assumptions - #2819

Closed
Ikha14 wants to merge 3 commits into
kunchenguid:mainfrom
Ikha14:fm/test-remote-doc-regressions-v1
Closed

test: repair remote and update-check fixture assumptions#2819
Ikha14 wants to merge 3 commits into
kunchenguid:mainfrom
Ikha14:fm/test-remote-doc-regressions-v1

Conversation

@Ikha14

@Ikha14 Ikha14 commented Aug 23, 2026

Copy link
Copy Markdown

Summary

Repair three independent test-fixture assumptions exposed by full-suite run 01M0NK3HAGHN2HB06QXHCQN75H:

  • copy the optional fm-ps-lib.sh dependency into the remote handoff fixture when a downstream port provides it, preventing the copied wake library from failing before the confined-put assertion;
  • prove the orphan-worker scenario by recording and observing exit of the actual launch shell instead of requiring Linux to reparent the worker specifically to PID 1, because a process subreaper may validly adopt it;
  • give the update-announcement budget fixture one full clock second for setup before its stalled version probe consumes the budget, avoiding a whole-second boundary race that could stop before the watched source was reached.

The documentation failure was not a canonical documentation defect: the failing workspace contained unrelated .paul/*.md files from a divergent downstream default branch, while the tested branch and canonical inventory contain none of those files. No documentation text or inventory assertion was loosened.

Diagnosis

  • Remote handoff trigger: the mixed workspace supplied a wake library that sources fm-ps-lib.sh; masking condition: the fixture copied only the older dependency set; symptom: the superseded-payload comparison ran after fixture initialization had already failed.
  • Orphan reap trigger: a detached worker is launched; masking condition: the full-suite process tree uses a subreaper; symptom: the fixture rejected a genuine detached worker solely because its parent was not PID 1.
  • Tool update trigger: a one-second sweep starts near a whole-second rollover; masking condition: registry/setup overhead consumes the fractional remainder; symptom: the sweep reports it never reached NoMistakes rather than the more specific unqueried-announcement source.

Validation

All commands were bounded by timeout 600s.

  • bash tests/fm-remote-backlog-handoff.test.sh - passed
  • bash tests/fm-remote-job-orphan-reap.test.sh - passed
  • bash tests/fm-documentation-audiences.test.sh - passed
  • bash tests/fm-tool-update-check.test.sh - passed, including three consecutive supporting runs during diagnosis
  • bin/fm-lint.sh - ShellCheck 0.11.0 and actionlint 1.7.12 passed
  • bin/fm-doc-audience-check.sh - passed with 73 surfaces and 266 local links
  • git diff --check upstream/main...HEAD - passed

@greptile-apps

greptile-apps Bot commented Aug 23, 2026

Copy link
Copy Markdown

Confidence Score: 5/5

The PR appears safe to merge, with no concrete changed-code defect identified.

The changes are confined to test fixtures and preserve their intended assertions while accommodating optional downstream dependencies, process subreapers, and whole-second budget boundaries.

Reviews (1): Last reviewed commit: "test(tool-update): stabilize exhausted a..." | Re-trigger Greptile

@Ikha14 Ikha14 closed this Aug 24, 2026
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