Repository navigation
v0.2.1 fix: stabilize full CI and dependency security checks - #645
Merged
Merged
Conversation
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.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 nota 40-minute workflow timeout. The test repeatedly hashed and launched the full
Node executable for an invariant that only requires ordinary native commands.
Commit
53d8de5bchanges that one scenario to the SHA-pinned/usr/bin/trueexecutable. 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
630a74b3restores the accuratehistorical 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
a87574a1integrates thatlatest 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 stagingfile 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:cipassed; Markdown links passed for 543files, 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 buildaggregate passed andactually 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 returnedVERDICT PASS. Live main remains the integrated base above, its strict requiredaggregate 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 activemain-admin-only-mergesruleset restricts updates to main; the independentprotect-mainruleset still enforces the successful strict aggregate and has nobypass 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 PASSwere checkedagain. 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
preserved byte-for-byte and in order after partitioning.
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.
completed on the main-integrated candidate with exit 0 in 358.4 seconds. Seventeen existing
resource-stage conditional skips remain unexecuted coverage, not passes.
35 passed, 0 failed, 0 skipped. Tests ran: ci-main644-compatibility count unavailable
in the evidence ledger; 35 is the observed runner summary.
0 failed, 0 skipped. Tests ran: ci-main644-dependency-security count unavailable
in the evidence ledger, not a rewritten ledger total.
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
c81c2698results 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>, branchcodex/ci-failure-repairs; exact base and HEAD3cab8088d5bde474e990148f9c93d6c8ee422e9c, plus 31 unstaged and 14 new paths, with no staged/committed delta. Owner candidate2449b3646928bae133fc7e705a75c36fbf399358is 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:
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, session84567-<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=falsesource prerequisites are described. Upstream9f0b72d0is not integrated or covered; merge readiness and eventual merged-tree documentation/CI require separate validation. Parent audit history remains intact.Historical Test Plan
d8198ecfhead; current-head validation is separate above.Prepared with OpenAI Codex. No release, deployment or credential changes.