Skip to content

v0.2.1 fix: stabilize full CI and dependency security checks - #645

Merged
tianxiaochannel-oss88 merged 7 commits into
mainfrom
codex/ci-failure-repairs
Nov 3, 2026
Merged

tianxiaochannel-oss88 merged 7 commits into
mainfrom
codex/ci-failure-repairs

Conversation

@tianxiaochannel-oss88

@tianxiaochannel-oss88 tianxiaochannel-oss88 commented Nov 2, 2026 •

Copy link
Copy Markdown
Collaborator

Current Landing Verification

Current head: a87574a18a143d3a7ec3512a488e99089d74f284.
Current tree: 02c34940140c262522a46d2e477997f83bd905b7.
Integrated base: bea22d35e744020b5bafb03d02b1e1fc6d0ea153.

Merged by the explicitly authorized administrator squash at
2026-11-03T02:00:21Z (2026-11-03 10:00:21 Asia/Shanghai).
Merge commit: ccbfd89fca621e848ae536ed09cfd4f2dacbdbaa.
Authoritative GitHub readback reports MERGED, and fetched main points to that
commit. Its tree is exactly the validated current tree above; its sole parent
is the integrated base. No protection rule was changed. No release, deployment
or credential change was performed. The current-head results below are
pre-merge evidence, not a claim that post-merge main CI has run or passed.

The original head's CI failed in Daemon shard 1: the history-budget child test
printed success after 88.245 seconds, but its complete child process exceeded
the unchanged 90-second wrapper deadline (spawnSync ETIMEDOUT). This was not
a 40-minute workflow timeout. The test repeatedly hashed and launched the full
Node executable for an invariant that only requires ordinary native commands.

Commit 53d8de5b changes that one scenario to the SHA-pinned /usr/bin/true
executable. All 258 real launches, 66 closed-stage lifetimes, assertions,
production checks and the 90-second deadline remain intact. It also normally
integrates the upstream CodeQL workflow. Commit 630a74b3 restores the accurate
historical secret-scan wording lost during that documentation merge, without
reverting the upstream CodeQL description. Main then merged the identical
two-file optimization in #643. The normal merge a87574a1 integrates that
latest base and changes only the upstream testing-policy documents; the two
tested fixture files remain byte-identical.

Fresh local validation uses the CI-pinned Node 22.22.1: the complete staging
file passed 24/24 with no failures, cancellations or skips in 41.060 seconds;
the affected scenario took 5.684 seconds. After the documentation-only main
merge, the owning Daemon typecheck:ci passed; Markdown links passed for 543
files, public repository safety passed for 6,631 files, and whitespace checks
passed. The unchanged 24-test runtime result is reused without rerunning it.
The earlier Node 24 measurements are not presented as CI-runtime evidence.
The final-head hosted Daemon shard 1 also passed. Its downloaded report records
all 149 assigned files passing. The staging file passed all 24 tests without
failures, cancellations or skips; the affected wrapper case took 12.553 seconds
under the unchanged 90-second limit. The whole file completed in 98.635 seconds
under its separate unchanged 300-second file limit.

Current-head CI
and CodeQL
were triggered by the normal push and have completed successfully. All 17 CI
jobs passed, including four Core and four macOS Daemon shards, common checks
with the history secret scan, dependency/security, build, typecheck, selected
package tests, Linux fail-closed contracts and real macOS helper/Seatbelt smoke.
The strict required Typecheck, unit tests, and Web build aggregate passed and
actually executed its report verification: all 261 planned Core files and 592
planned Daemon files passed exactly once. This is file-execution conservation,
not a unique assertion total, coverage percentage or absence-of-conditional-skips
claim. Saving trusted default-branch timings was correctly skipped on this PR;
no selected CI job was skipped. The complete CI run finished at
2026-11-03T01:10:26Z, 31 minutes 45 seconds after creation, including queue time.
Earlier-head successes are preserved only as historical evidence, not substitutes
for these current-head results.
The current-head Windows installer contracts
were dispatched once because their PR path filter does not select this repair.
The dispatch completed successfully, with its exact head SHA verified as
a87574a18a143d3a7ec3512a488e99089d74f284. The exact-head merge gate returned
VERDICT PASS. Live main remains the integrated base above, its strict required
aggregate rule is enabled, and the PR has no unresolved review threads.

Before the authorized administrator merge, landing was blocked separately from
CI. The normal exact-head squash command was refused by the base branch policy.
A protected squash auto-merge request was accepted at 2026-11-03T01:21:27Z, but
that request left the PR OPEN with merge state BLOCKED. The GitHub merge panel
reported all checks passing and Cannot update this protected ref. The active
main-admin-only-merges ruleset restricts updates to main; the independent
protect-main ruleset still enforces the successful strict aggregate and has no
bypass actors. The user then explicitly authorized the administrator squash.
Immediately before that single merge attempt, local cleanliness, the exact
head/base, mergeability, resolved review threads and VERDICT PASS were checked
again. The administrator option was used only for the authorized landing; no
ruleset or CI requirement was changed. The MERGED readback and immutable merge
commit above supersede the earlier pending auto-merge status.

No release, deployment or credential change has occurred.
The records below are preserved historical evidence for their explicitly
recorded snapshots, not fresh review/pregate certification of this new head.
The existing audit/review counts have not been reset or relabeled.

Bounded Supplementary Repair Evidence

A separate read-only agent checked only the two-file history-budget test delta,
without a new full review or documentation audit. The parent checked the probe
loader, raw native trace samples, structured results and current fixture hashes.
Using Node 22.22.1, uninstrumented sequential whole-call measurements were
34.982 and 35.666 seconds before, versus 6.804 and 7.252 seconds after. Each arm
passed 2/2 under the original 90-second wrapper. The requested ten samples per
arm were bounded to two after prioritizing regression probes; no local timeout
or hosted-CI load was reproduced, and no failure probability is inferred.

The original target assertions remain unchanged. With a simulated cumulative
actor limit of 256, both command variants failed as expected in 3/3 probes at
actor 257. With a simulated leaked budget for 64 successfully closed stages,
both variants failed as expected in 3/3 probes at registration 65, after 258
real command launches. These are temporary in-memory fault simulations, not a
rerun of historical buggy production code. Separate fault-free traced controls
passed once per arm. Native traces retain real sandbox-exec children, pinned
argv, shell=false, successful child exits and original actor-history commits;
neither command path is a shell builtin or mocked producer. These probes used
the existing production dist read-only; no source/emit-parity certification is
claimed. Repository files, installed dependencies and prior receipts were not
modified by the probe agent.

Historical Pre-Repair Receipt

{
  "schema_version": 1,
  "pr": 645,
  "head": "d8198ecfbbf3e2ccb4519b5de0c567f5560d7f2f",
  "version": "0.2.1",
  "base": "main",
  "gate": {
    "ci-main644-compatibility": {
      "pass": 35,
      "fail": 0,
      "skip": 0,
      "tests_ran": "unknown"
    },
    "ci-main644-dependency-security": {
      "pass": 173,
      "fail": 0,
      "skip": 0,
      "tests_ran": "unknown"
    },
    "ci-acceptance-pregate": {
      "status": "pass",
      "exit": 0,
      "tests_ran": "unknown",
      "skip": 17
    }
  },
  "session_kind": "interactive",
  "head_tree": "3d4de290ff0261756674ef8357531dbeac211f7c",
  "product_patch_id": "8400a7cb02e3bb028d37c39f99b912038f252eab",
  "gstack_version": "1.92.0.0",
  "review_depth": {
    "depth": "full",
    "class": "gate",
    "runtime_lines": 4315,
    "rules": "55726fab80631072",
    "base": "af6978a6a831b33839d6add511ac441f0c1e0f19",
    "registry": "af6978a6a831b33839d6add511ac441f0c1e0f19",
    "gate_scan": {
      "tagged": 1,
      "head": "d8198ecfbbf3e2ccb4519b5de0c567f5560d7f2f"
    },
    "reasons": [
      "gate-class",
      "runtime=4315>50"
    ]
  },
  "pregate": "requires-remote cleared @3d4de290ff02 (7 checks, current for d8198ecfbbf3)",
  "requires_remote": [
    "ci.yml/common-fast: https://github.com/ling-stack-org/ling-stack/actions/runs/41493654917/job/125443405506",
    "ci.yml/dependency-policy: https://github.com/ling-stack-org/ling-stack/actions/runs/41493654917/job/125443405406",
    "installer-contracts.yml/windows: https://github.com/ling-stack-org/ling-stack/actions/runs/41494252784/job/125444927034"
  ],
  "issues": {
    "fixes": [],
    "refs": [],
    "flakes": []
  },
  "docs": {
    "status": "updated",
    "scope": "Original independent read-only documentation audit ling-ci-owner-requested-independent-20261102-03 remains unchanged for candidate 2449b3646928bae133fc7e705a75c36fbf399358. A complete Markdown tree comparison to final candidate 3d4de290ff0261756674ef8357531dbeac211f7c finds only docs/release/macos-source-review-2026-11-02.md changed; the other 14 reviewed documents are byte-identical. The original independent source reader separately checked that appended main-dependency follow-up, the exact three approved digest replacements, final record SHA and packaging aggregate against his actual manifest/lock review and fix verification, returning factual consistency and no findings. This is a bounded source-review documentation supplement, not another full documentation audit, an altered original audit snapshot, outside-model coverage, human signing approval or a risk waiver. Parent reran all 1706 packaging and 15 native digests, Markdown links and public safety on the final candidate."
  },
  "review_loop": {
    "passes": 2,
    "blocking_found": 0,
    "deferred": 0,
    "noted": 0,
    "fixed": 0,
    "scope": "frozen",
    "fix_checks": 1,
    "dispatches": {
      "specialist": 6
    }
  }
}

Summary

Full CI stalled on leaked test servers and oversized integration files. This
repair preserves the existing test registrations while splitting the channel
suite, closing failed fixture startup paths and bounding MCP framing work.
It also repairs the dependency, SDK identity and source-review regressions found
during remote acceptance.

Compatible minimatch/glob security backports cover the installed consumers without
forcing unsupported dependency majors. Historical SHA-256 false positives use
independently verified, exact commit/path/rule/line fingerprints. Full-history
scanning, required quality checks and real macOS lanes remain enabled.

Blast radius

Changes affect Daemon integration fixtures and MCP framing, Desktop ACP bundling
and source-review inputs, and Mobile/Desktop/Pi dependency consumers. Native
consumer regressions, builds and exact test/helper conservation checks exercised
these paths. This PR does not release, deploy, sign or notarize an installer.

Test Coverage

  • All 224 direct channel test calls, the loop registration and 61 helpers are
    preserved byte-for-byte and in order after partitioning.
  • Planner probes assign Core 261/261 and Daemon 592/592 files exactly once.
  • Earlier MCP framing and owned-child lifecycle: 39 passed, 0 failed, 0 skipped.
  • Earlier scanner, history-selection and workflow regressions: 44 passed, 0 failed,
    0 skipped. Tests ran: ci-history-fingerprint-tests count unavailable in the
    evidence ledger; 44 is the observed TAP summary, not a rewritten ledger count.
  • Tests ran: ci-acceptance-pregate count unavailable. All 90 selected files
    completed on the main-integrated candidate with exit 0 in 358.4 seconds. Seventeen existing
    resource-stage conditional skips remain unexecuted coverage, not passes.
  • Fresh MCP SDK and real DOCX/XLSX/PPTX parsing/generation compatibility:
    35 passed, 0 failed, 0 skipped. Tests ran: ci-main644-compatibility count unavailable
    in the evidence ledger; 35 is the observed runner summary.
  • Fresh dependency security command: 173 passed across its three runner summaries,
    0 failed, 0 skipped. Tests ran: ci-main644-dependency-security count unavailable
    in the evidence ledger, not a rewritten ledger total.
  • Daemon, CLI, Web and their 15-workspace build closure passed; frozen installation
    passed. Coverage percentage was not measured; overlapping
    runs are not added into a unique-test total.

Pre-Landing Review

Two full pre-landing review passes and the required native adversarial reviews
completed with no unresolved code defect. Subsequent authored-document repairs
received the owner-requested independent documentation review. The final exact
history-fingerprint adoption passed one independent scoped fix-check with no
findings, not another full pass. These full-pass bindings predate the later main
dependency integration. A separate scoped independent reader reviewed the final
manifest/lock source bindings and appended factual narrative, found one orphaned
lock snapshot, and verified its exact removal before approving the final digests.
This is supplemental scoped evidence, not a third full code or documentation audit.

REVIEW_LOOP: passes=2 blocking_found=0 deferred=0 noted=0 fixed=0 scope=frozen fix_checks=1 dispatches=6

Gate edits: partial (1 of 34 eligible read). Exact AST/byte conservation separately
checks the large test relocation; this does not turn the partial gate inventory
into complete coverage. The scanner-policy delta is checked separately against
the independent exact-fingerprint recommendations.

Optional external Claude review was unavailable after authentication failed.
This is missing outside-model coverage, not a passed review or a project CI
dependency. No credentials were changed and the failed provider was not retried.

Exploratory QA

Recorded pre-integration probes cover plan generation, exact-once discovery, MCP
framing and failure cleanup, CLI help and clean exit, Markdown links and public
repository safety. Fresh final-candidate checks cover MCP/Office compatibility,
dependency security, source-record inputs, Markdown links and repository safety.
Captures 005-010 extend the preserved original report and its
three exploration checkpoints; the original five-minute smoke was not restarted.
Required post-deadline probes use separate finite timeouts, not retrospective
smoke completion. Private report paths are not published.

Design Review

No frontend files changed; design review is not applicable.

Eval Results

No prompt-related files changed; model evals are not applicable.

Historical Verification Results

Local builds, relevant regressions, Markdown links, public repository safety and
whitespace checks passed. Full-history Gitleaks v8.30.1 scanned the final commit's
1,113 reachable commits and 291,691,258 bytes with no findings. The earlier
synthetic non-real credential probe detected its expected finding in isolation.
The pre-repair integrated HEAD was d8198ecfbbf3e2ccb4519b5de0c567f5560d7f2f.

The exact-final-head common/security and dependency-policy checks
and native Windows installer contracts
passed. All four hosted Linux Core shards, selected package tests and CodeQL
also passed. At 2026-11-02 18:57 UTC, macOS Daemon shards 1 and 3 and the Seatbelt
job are running; Daemon shards 0 and 2 remain queued. Shard 3 received a runner
at 18:42 UTC, Seatbelt at 18:55 UTC and shard 1 at 18:56 UTC.
The single 60-minute local CI watcher reached its deadline;
remote jobs were left running. The strict required quality context has not
completed. All applicable final-head checks must actually succeed before normal
merge. No merge or auto-merge request has been submitted. Publication is not a
merge-readiness claim; earlier c81c2698 results are not substituted for it.

Source review remains limited to Darwin arm64 unsigned development packaging,
ad-hoc identity and provider=false. Formal signing/notarization, installed-app
behavior and clean-machine acceptance are not certified. Local dependency patches
do not update upstream version metadata or dismiss GitHub security alerts.

The normal main merge retains upstream version 0.2.1 and its dependency updates,
preserves all nine security patches and 22 overrides, and updates only the three
independently approved source-record digests. All 1,706 packaging inputs and 15
native inputs match; all other approval fields are unchanged. No new version
bump, release, deployment, force push or protection bypass is part of this repair.

Documentation

The independent audit below is preserved in a publication copy with only the
local checkout path and scanner-flagged private session identifier redacted.
Its original evidence and conclusions remain unchanged for that recorded
snapshot, not relabeled as a new full audit. The subsequent main dependency
integration adds a source-review follow-up; the independent source reader checked
that paragraph against the actual manifest/lock review, first finding, exact fix
verification and three adopted digests. No additional full documentation audit,
waiver or approval-policy refresh is claimed.

Status: current. DONE: independent read-only documentation audit completed; no necessary correction found in the reviewed scope and no repository file edited.

Audited scope: <local-checkout>, branch codex/ci-failure-repairs; exact base and HEAD 3cab8088d5bde474e990148f9c93d6c8ee422e9c, plus 31 unstaged and 14 new paths, with no staged/committed delta. Owner candidate 2449b3646928bae133fc7e705a75c36fbf399358 is a working-tree candidate, not HEAD. Frozen snapshot SHA-256: 6bf3f2aa24bf80740a65ebcc8abfa2eac9dc4365fa810c43cc97ddb9f81a5586. Broad discovery found 6,628 entries and 548 documentation-suffix candidates; 15 relevant authored documents were read fully. Required source contracts and metadata/link headings were inspected selectively.

Documentation health:

  • README.md [Current]: source Alpha, Desktop development and distribution limits remain consistent (:29, :141, :162).
  • README.zh-CN.md [Current]: affected platform, source-start and release-boundary claims remain aligned (:108, :117).
  • CONTRIBUTING.md [Current]: validation now leads to the CI maintenance hub (:113).
  • docs/maintenance/ci.md [Current]: current policy, four Core/four macOS Daemon shards and deferred future designs match the workflow (:5, :13, :29, :59).
  • scripts/ci/README.md [Current]: two serial file workers, five-minute default/ten-minute fair-scan watchdog, queue budgets, leak-cleanup limits and strict report aggregation match source (:9, :19, :34, :47).
  • patches/README.md [Current]: nine enabled patches, actual consumer majors, inactive bridges, upstream forge fix and alert limits match manifest/lock and installed source (:9, :23, :46, :61, :98).
  • apps/desktop/README.md [Current]: source/runtime implementation does not close signing or platform release gates (:3).
  • apps/mobile/README.md [Current]: SDK58 tooling changes do not claim physical-device acceptance (:8, :36).
  • docs/architecture.md [Current]: component/diagram entities are not contradicted by this candidate (:9, :149).
  • docs/release/README.md [Current]: numeric version, historical publication and formal release gates remain distinct (:10, :26, :44, :83).
  • docs/release/desktop.md [Current]: manifest-derived arm64 DMG/ZIP examples match artifactName; unsigned and production acceptance remain distinct (:176, :209, :564).
  • docs/release/development-packages.md [Current]: local candidate instructions retain independent source, signing and device prerequisites (:30, :52).
  • native/office-local/README.md [Current within changed scope]: the native primitive boundary is not promoted by refreshed packaging hashes.
  • native/office-local/reviewed-packaged-source-v1-review.md [Current]: latest-review link and explicitly historical evidence preserve review scope (:3, :10, :36, :69).
  • docs/release/macos-source-review-2026-11-02.md [Current]: current hashes/closure and 0.2.1 follow-up match records; older test counts remain historical evidence, not current acceptance (:111, :176, :195, :198).

Coverage map:

Changed surface Reference How-to Tutorial Explanation
CI planning, policy, shards and cleanup CI maintenance / CI README contributor validation and plan/shard commands no dedicated tutorial scope, watchdog, cleanup and platform boundaries
Dependency patch upgrades/removal patches README frozen install and security-check commands no dedicated tutorial provenance, actual consumers and alert limits
Packaging source-record rebinding new and historical source reviews development-package guide no dedicated tutorial fixed closure, digest adoption and unsigned-only scope

Coverage debt and diagram drift: No changed public surface with zero coverage or reference-only coverage was identified. Dedicated newcomer tutorials remain optional coverage debt, not a required repair for these maintenance changes. No renamed/removed component or flow in the candidate invalidates the reviewed architecture diagrams. Unrelated historical debt and unaffected language READMEs were excluded.

Validation: Actual startup echoed SKILL_START_PROTO: 1, SESSION_KIND: spawned, session 84567-<REDACTED-PHONE>-0ce4c0e9. The local Markdown checker passed all 542 files. Relevant paths and anchors are discoverable, including README -> CONTRIBUTING -> CI maintenance -> CI/patch guides and development packages -> historical Office review -> 2026-11-02 review. README's HTML language link was checked separately. All nine patch registrations and lock hashes matched. Static source-record checks matched 43 roots, 1,706 packaging inputs and 15 native inputs with no missing/extra keys or mismatched digests. Final snapshot validation matched all 6,531 frozen hashes and Git state with no drift. Product tests were not rerun.

Limits: This completes documentation correctness review, not a full fresh code/security/runtime review. Prior source approvals and recorded test runs are historical evidence, not this audit's completion evidence. CommonJS Pi package-export probes failed; direct manifests, lock data and regression source supplied static evidence instead. Probe setup failures are not documentation defects. Consumer modules were not executed, so runtime loading/ESM behavior remains unverified. No external model, waiver, generation, product build/test, runtime/toolchain execution, signed artifact, GUI, notarization, clean-machine or hosted-CI acceptance is claimed. Only existing Darwin arm64 unsigned_dev, ad-hoc, provider=false source prerequisites are described. Upstream 9f0b72d0 is not integrated or covered; merge readiness and eventual merged-tree documentation/CI require separate validation. Parent audit history remains intact.

Historical Test Plan

  • Scanner/history/workflow regressions: 44 passed, 0 failed, 0 skipped.
  • MCP framing and owned-child regressions: 39/39 passed.
  • Planner coverage: Core 261/261 and Daemon 592/592 files assigned exactly once.
  • Main-integrated Daemon, CLI and Web build closure: 15 workspace packages.
  • Frozen installation with the merged lock and all nine security patches.
  • Main-integrated MCP/Office compatibility: 35 passed, 0 failed, 0 skipped.
  • Main-integrated dependency security command: 173 passed, 0 failed, 0 skipped.
  • Source bindings: all 1,706 packaging and 15 native inputs; no other policy field changed.
  • Markdown links: 542 files; public repository safety: 6,627 files.
  • Positive synthetic-credential detection probe; expected scanner exit 1.
  • Final selected local pregate: 90 files, exit 0, 358.4 seconds; aggregate count unavailable.
  • Final commit full reachable-history scan: 1,113 commits, 0 findings.
  • Full hosted Linux/macOS CI on the pre-repair head (subsequently failed in Daemon shard 1; see current verification above).
  • Native Windows installer contracts on the pre-repair d8198ecf head; current-head validation is separate above.

Prepared with OpenAI Codex. No release, deployment or credential changes.

Split channel tests without losing cases, harden test cleanup and MCP buffering, and update compatible security patches with scoped packaging-source approvals. Align CI and release documentation without weakening signing or platform gates.
Add only independently verified exact historical fingerprints. Preserve full-history scanning, existing ignore entries and all scanner rules.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 2, 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-11-03T00:42:50.943330Z a87574a New commits
🔒 Security Review ✅ Completed 2026-11-03T00:43:01.241130Z a87574a 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.

@tianxiaochannel-oss88
tianxiaochannel-oss88 enabled auto-merge (squash) November 3, 2026 01:21
@tianxiaochannel-oss88
tianxiaochannel-oss88 merged commit ccbfd89 into main Nov 3, 2026
21 checks passed
@tianxiaochannel-oss88
tianxiaochannel-oss88 deleted the codex/ci-failure-repairs branch November 3, 2026 02:00
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