Skip to content

feat(ci): add bounded attempt-aware GitHub observation - #2868

Merged
Chris0Jeky merged 3 commits into
mainfrom
ci/continuation-05-observer
Sep 10, 2026
Merged

feat(ci): add bounded attempt-aware GitHub observation#2868
Chris0Jeky merged 3 commits into
mainfrom
ci/continuation-05-observer

Conversation

@Chris0Jeky

Copy link
Copy Markdown
Owner

Stack

Depends on corrected #2867 (which includes corrected #2865). Parent-first review/merge; retarget and requalify after parents land. R4: maintainer and independent fresh-context review required; do not auto-merge.

Implementation

Adds a reusable fixed-origin/read-only GitHub provider and collection CLI. Binds repository/workflow/run identities, paginates every exact attempt, retains earlier failures after green retries, detects duplicate/truncated/racing inventories and enforces request/body/attempt/page limits. Unknown durations/test counts/billing stay null; job span is not labelled a computed DAG critical path. Markdown escapes untrusted names.

Adds ci-continuation-observe.yml, triggered only by completed CI runs, with protected github.workflow_sha checkout, explicit read-only contents/actions permissions, credential persistence disabled, automatic package caching disabled, immutable action pins, five-minute timeout and fourteen-day small-report retention. No head checkout, triggering-artifact download, release secret, signing key, product test execution or status write.

The report is observation-only, not reusable proof. REST head_sha and a successful job conclusion do not establish actual checkout/commands/environment/full test inventory. No provenance flags are manufactured and no result reuse is activated. The observer itself begins running only once its definition reaches the default branch; this PR is not a deployed observer demonstration.

Validation

Local combined continuation + placement suite: 309 passed, 0 failed/skipped/cancelled, Node 22.16.0/Linux. Includes 101-job/two-page fixtures, multiple attempts, forged IDs, races, budget failures, unknown measurements, renderer injection and workflow boundaries. Initial local suite had one incorrect expected unknown-duration count (one per page, two total); fixed expectation and passing rerun retained separately. YAML parsed locally; hosted Actionlint/configured-Node checks remain required.

No real network collector run from the isolated local runtime, no full Taskdeck product-suite claim and no independent-review claim. Parent hosted integration failures were corrected without weakening fail-closed nightly validation and remain documented on #2867.

Documentation / rollback

docs/ci/continuation/OBSERVABILITY.md: commands, budgets, trust limits, null-metric semantics, all-attempt deduplication, primary GitHub references and rollback. The observer adds a small measurable overhead; no savings are invented. Revert observer/new modules without changing required qualification. Human settings and canonical coordinator-owned docs remain untouched.

Refs #2336.

…emetry

Collect authenticated run/job metadata across exact attempts and pages.
Keep unknown timings null and previous failures visible. Protected-base
observer has read-only permissions, no head/artifact/cache execution and
no evidence-signing authority. Add adversarial provider/CLI/workflow tests.

Refs #2336
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 10, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-10T02:47:20.663275Z 9ffe1d7 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: cfd7d74c48

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scripts/ci/smart-ci/continuation/tools/collect-github.mjs
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Independent review and single fix-round checkpoint

Reviewed this slice with an independent Terra reader, then reviewed only the blocking fix diff. Current head: 9ffe1d7. The integrated final tree is byte-identical to independently reviewed 636a17329e5a480d702fcf1a9585cf279bbf60fb after preserving each original stack branch and propagating fixes with merge commits.

Blocking changes: prohibit Git lazy fetch/protocol execution in immutable readers; use independently trusted self-contained export verification; repair Windows CRLF and privilege-free symlink fixtures. Slice-specific changes remain visible in this PR diff. No result-reuse activation or settings changes.

Validation: cumulative Windows control command node --test scripts/ci/smart-ci/*.test.mjs passed 509/509, no failures/skips/cancellations. Independent fix checks: core/repository 110/110; export/workflow 11/11. node scripts/check-doc-links.mjs passed, 683 Markdown files and zero broken relative links. These are additive; hosted CI at the current head/base is still required.

Nonblocking findings are tracked once on #2336: #2336 (comment) . Review budget: one original pass and one scoped fix verification, complete. Original E2E/nightly-map findings were already corrected in the previous authored heads and remain covered by the green control tests.

The maintainer's current local request explicitly includes finishing and merging this CI work. Parent-first merge order remains #2863, #2864, #2865, #2867, #2868, #2869, #2871; children are retargeted only after parents land, with moved-base requalification. No branch deletion while it is a stack base.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9ffe1d7f29

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/ci/continuation/OBSERVABILITY.md
@Chris0Jeky Chris0Jeky moved this from Pending to Review in Taskdeck Execution Sep 10, 2026
Base automatically changed from ci/continuation-04-launcher to main September 10, 2026 05:04
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Parent #2867 merged as 6fbe62c at 05:04:30 UTC after exact-head required CI run 34437245616 succeeded, with no pending/failed checks or unresolved review threads.

This PR now targets main, confirmed through the API. Updating the branch refreshed its head to 02638c3. A complete tree comparison against reviewed head 9ffe1d7 found no source changes. The code review remains applicable; fresh full hosted qualification is running before merge. After this observer lands, a real default-branch workflow run will be inspected separately from the already successful local live-API collection.

@Chris0Jeky
Chris0Jeky merged commit f0d4ebf into main Sep 10, 2026
36 checks passed
@Chris0Jeky
Chris0Jeky deleted the ci/continuation-05-observer branch September 10, 2026 05:37
@github-project-automation github-project-automation Bot moved this from Review to Done in Taskdeck Execution Sep 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant