Repository navigation
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
@codex review |
Codex Review Summary: ✅ CompletedThis 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. |
|
Codex Review: Didn't find any major issues. Breezy! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
|
@codex review |
|
Codex Review: Didn't find any major issues. What shall we delve into next? Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
|
Exact-head readiness checkpoint:
The requested code/CI/review checklist is satisfied at this SHA. GitHub separately reports BEHIND and REVIEW_REQUIRED: the base advanced on unrelated paths and an approving GitHub review is still required. No merge has been performed. Current-head same-revision hosted comparisonHead
Measured from the Actions jobs API |
|
This now conflicts with 🤖 Addressed by Claude Code |
|
@codex review |
|
Codex Review: Didn't find any major issues. Keep it up! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
The per-file CI runner's tests checked the suite working directory but did not prove that Bun loaded that suite's test preload. Add four subprocess regressions covering the root and workspace suites: each must load its own preload before the test, run its teardown hook, and report a failing hook as a failed shard file even after the test assertion passes. Only `tests/test-shard.test.ts` changes. This closes a separate coverage gap from #681, #688, #689, #691 and #700. Release signal: test coverage only. Validation: Bun 1.4.4 focused tests pass (48 tests, 360 assertions); explicitly bypassing suite configuration makes all four new cases fail. Changed-test lint, repository typecheck/check, staged privacy scan, compiler build and CLI build pass. The additional monolithic suite attempt has no terminal receipt and is not counted as passing. Persistent HD Codex review: CLEAN at `af967a55470f1d3ce67a69421d7fc0b3188fb585`; independently ran the four new cases (24 assertions). Synthetic hooks qualify runner integration, not production guard internals. An additional container attempt passed the new cases but failed four existing checkout-discovery checks because linked Git metadata was unavailable in the mount; no whole-file container pass is claimed. Exact-head [hosted CI run 43023939316](https://github.com/hack-dance/hack/actions/runs/43023939316) completed successfully at `af967a55470f1d3ce67a69421d7fc0b3188fb585`. All eight unit shards, all four Docker E2E shards, both aggregates, and both required branch contexts (`test` and `docs site`) succeeded. Scope-selected Candidate core and advisory Proof were skipped as configured. GitHub Codex code review completed without findings at the same head. Bot conversation comments have been read; `computer pr review-status` reports `CLEAR at af967a5` with no unresolved bot threads or change requests. The base subsequently advanced on unrelated files; the signed head is unchanged. Keep draft and unmerged, targeting `next`. Co-authored-by: Dimitri Kennedy <344842+roodboi@users.noreply.github.com>
The stable release gate's API tests previously returned CI jobs in one response, so they could not detect a regression that read only the first page. Add twelve cases across CI-completion and manual-dispatch triggers: required jobs on page two must be accepted, while failed, cancelled or skipped supplemental jobs on page two must block preparation. Missing later pages and the ten-page limit must fail closed. Only `tests/release-prepare-gate.test.ts` changes. Workflow behavior, release policy and the required-job list are unchanged. This is independent of #681, #688, #689 and #691. Validation: Bun 1.4.4 focused tests pass (21 tests, 64 assertions); changed-test lint, full lint/check, full typecheck, staged privacy scan and diff whitespace checks pass. The config compiler build passes. The isolated full-suite and mutation attempts stopped during toolchain startup before tests executed; neither is claimed as passing. Hosted CI run 43019614781 completed successfully on exact head `58cc69744aa6604d50fa6dc714fda7d915281d94`; both required contexts (`test` and `docs site`) passed. The first run timed out in `native-authored-project-start.test.ts`; one failed-jobs rerun passed without source changes. Codex code review completed with no findings, and `computer pr review-status` reports CLEAR at this head with zero unresolved bot threads. Release signal: test coverage only; no product release. Keep draft and unmerged. Co-authored-by: Dimitri Kennedy <344842+roodboi@users.noreply.github.com>
Draft pull requests run secret scanning, typecheck, lint/privacy checks, the docs site when in scope, and selected unit files on Linux. They defer macOS, Docker E2E and native/build qualification. Both fan-ins explicitly fail with `skipped: draft`: GitHub accepts skipped required jobs, so a plain skipped status would not protect merging. Ready-for-review, draft conversion, pushes and label changes recompute the plan. `edited` also covers base retargeting; title/body edits cancel an active PR run and start a fresh one. Ready PRs run changed tests and tests whose transitive imports changed, plus always-run source readers, contracts, opaque modules and manual exceptions. Source modules that refer to the CLI/binary or process/worker/shell APIs make their dependent tests always run, including aliases and re-exports. Config, fixtures, scripts, workflows, manifests, lockfiles, native inputs, unknown paths and deletions fall back to full coverage. `ci:full` runs the full ready-PR set. Empty selected macOS pools start no macOS unit jobs; candidate/compiler hosts follow their input gates. Docker retains its existing scope and four-shard layout; cancelled evidence fails the fan-ins. CI computes scope using code and frozen dependencies from the base commit, treating the PR merge checkout only as data. A separate inline workflow rule forces the full set for selector/scripts, workflows, suite helpers, selector configuration, lockfiles and manifests. Bases without `--repo-root=` support bootstrap to full. Policy setup ignores install scripts and env files and uses the base's working directory and Bun configuration. **A green PR `test` means its selected files and static checks finished successfully. It is not a full-suite certificate. Every push to `next` and `main` still runs everything; the exact-head full-push prerelease gate and required job names are unchanged.** No merge, publication, runner account, paid service or permission change is included.  [Policy and replay documentation](https://github.com/hack-dance/hack/blob/a141ddd787b40630efa13d31977994ece277b28c/docs/reference/ci-test-selection.md) · [Diagram source](https://github.com/hack-dance/hack/blob/a141ddd787b40630efa13d31977994ece277b28c/docs/reference/ci-test-selection.mmd) Validation on Linux x64 with Bun 1.4.4: 148 focused hermeticity/policy/classifier/selection/replay tests pass (671 assertions); the final source-check set passes (1,234 pass, 66 conditional skips, zero failures; 12,896 assertions across 65 files). Full typecheck, repository check, privacy check, changed-file lint and actionlint 1.7.12 pass (database task cache hits; CLI checks execute). Staged gitleaks and normal hooks pass; earlier full-history scan found no secrets. Tests use isolated HOME/XDG/TMPDIR, umask 077 and disabled daemon autostart/interactive mode. `hackd`: 0 before, 0 after. The matching compiler was prepared. No full local suite, real Docker engine or real Apple Silicon VM was exercised. The recovery interruption fixture retains every assertion and uses a bounded content wait so empty/partial marker publication cannot race its read. Hosted CI found that the new policy fixture used a stored hermetic Git environment where the repository source guard requires shared routing at each call site. The fixture now calls `runFixtureGitSync`; the existing source guard and its assertions remain intact. The expanded local source-check set explicitly includes that guard and the trusted-policy test. Selector, workflow and historical replay code are unchanged by this repair, so the replay evidence below remains applicable. The package command `bun run ci:selection-replay -- --repository=owner/repository --count=30 --read-logs --plant-failures` audits each run attempt against the source tree and base recorded by checkout, combining annotations and logs. The completed 30-PR replay has 8 proper subsets and 22 full fallbacks, covering 112 historical jobs on 44 tested trees: zero hidden recorded failures, zero inconclusive records, and all 30 plants covered (8 dependency plants in subset mode). Five assertion-failing subset-mode jobs on five tested trees across #730 and #728 concern one always-run source-check test (`tests/qualify-provider-pin.test.ts`, two failing assertions per job). All are selected; none validates an import edge. No real graph-dependent failure was present in the sample. For every proper subset, an independent static-relative runtime import/export walk now plants a virtual failing edit in an omitted test's source dependency, preferring a transitive edge, while leaving the test unchanged. Every expected failing test must become selected or receive full fallback coverage. Full plans plant an already covered test and provide no import-edge evidence. Plants are synthetic selection checks; historical code and planted failures are not executed. A direct-test-only selector is rejected by the negative control, and 18/18 independent one-rule mutations are caught by the original fallback regressions. The mandatory set is broad: ready subsets omit about 52–53 files (~8%). The main expected savings remain draft deferral and native/Docker input gating, not a large ready-PR unit speedup. The persistent reviewer is clean on tree 1b2e4df, which is exactly the committed tree at a141ddd. Exact-head hosted CI and bot review are pending after this push; the lead arranges second-family review, the six live draft/ready/label/lockfile/push checks, and any real-VM qualification. No production native runtime code changed. A real-VM qualification should run the existing provider-pin lifecycle/recovery checks on a prepared Apple Silicon macOS slot with isolated homes; local tests do not qualify that lane. #688 remains an independent six-shard experiment; this PR preserves four Docker shards and supplemental gates. #700's release-gate tests are untouched, and #701's preload behavior is preserved. #734's native startup test split is merged separately. Release intent: CI policy correction, with no product/prerelease-contract change. The lead merges. --------- Co-authored-by: Kit <344842+roodboi@users.noreply.github.com>
|
@codex review |
|
Codex Review: Didn't find any major issues. Hooray! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
|
Ready for lead: current-head Linux CI is green in run 43340605390: shards 4–8, typecheck, lint/privacy, secret scan, docs and the required This finishes the older PR as a manual-dispatch-only six-shard timing experiment. No automatic push/PR trial trigger remains; required CI, its four Docker shards, scenarios, assertions and release gates are unchanged. The two historical matched pairs support retaining an advisory trial, not adopting a new required matrix. Local validation: 84 focused tests/764 assertions, final 7 wiring/summary tests/134 assertions, typecheck, lint/privacy, actionlint and commit-range secret scanning passed. Pending hosted jobs: none in this light run. macOS/Docker/build-smoke qualification is deferred to integration. The redesigned manual trial itself has not been dispatched; its live summary/outcome check remains for the first explicit trial. Real-VM check: no native runtime implementation changes. This PR stays stacked on #748; merge the parent first and retarget to |
Small PRs currently queue native builds ahead of other work. This makes PR CI light by default and moves platform/Docker qualification to the selected integration run on `next`. Superseded `next` pushes cancel themselves; `main` keeps its full, non-cancelling push behavior. A contributor sees secret scan, typecheck, lint/privacy, relevant docs checks and selected Linux unit files on shards 4–8. A light run skips macOS, Docker E2E, state models and CLI/release build smoke. Candidate/compiler host qualification is skipped unless the Rust input rule below applies. **Ready PRs changing protected CI inputs automatically run full ordinary PR tiers, as `ci:full` would. Ready PRs into `main` keep the full tier, including Intel.** Missing/empty diffs or unavailable base policy also fall back to full tiers. Ready PRs touching non-Markdown runtime-core/config-compiler inputs (including pins, fixtures and generated data), or any relay-guest input, also keep Linux Candidate core and both Linux compiler hosts with Rust checks. Their macOS jobs stay deferred. Linux unit preflight still prepares its matching compiler. On a light run, shard 8 names selected macOS paths as **“deferred to the integration run”** before typecheck; deferred files run nowhere on that PR. `test` and `docs site` always report. The required `test` fan-in now also requires the active Linux process-lifetime job to succeed; only that job's planned out-of-scope skip passes. Branch rules are unchanged. - `ci:mac`: opt into selected macOS unit/native tiers under their usual input gates. - `ci:e2e`: opt into Docker/runtime-image/lifetime jobs under their usual gates. Labels combine. - `ci:full`: every unit file and ordinary native/Docker tier, state models and build smoke. PRs into `next` and ordinary `next` integration runs omit Intel; `main` PRs/pushes and explicit full dispatches retain it. Drafts retain the light deferrals even when labeled, and both fan-ins fail with `skipped: draft`. They no longer move macOS-pool files onto Linux. The independent shell guard enables heavy tiers for protected inputs, including this PR's workflow/selector changes. An ordinary selector fallback widens files within the chosen tier. State models follow the same full-tier admission.  `next` selection uses trusted policy/dependencies from `event.before` against the new tree as data. Missing/zero/non-ancestor bases, protected inputs, old policy, failed/cancelled/running/missing predecessor CI or API errors force full integration selection. This keeps cancelled changes covered. `next` runs selected platform and Docker jobs after batch merges; failures are fixed forward. Only `next` pushes share the cancelling group; full manual runs and `main` pushes stay independent. For a release, freeze `next` at the release head, run `gh workflow run ci.yml --ref next -f full=true`, wait for success, then dispatch the prerelease. Every prerelease now needs this explicit full run. The plan refuses subset-only evidence and prints that command. If a newer scoped push at the same SHA is running, failed or cancelled, it also names that run and says to wait for success or `gh run rerun RUN_ID`; older full evidence cannot override it, while a new full dispatch can supersede it once the dispatch succeeds. Plan and publish require executed full-selection/release-full markers, all four compiler hosts, every shard/job successful, and required CI checks from the selected suite and exact attempt jobs. Newer failed/cancelled/unfinished evidence cannot expose older green. Partial reruns missing current-attempt jobs refuse safely; use an entire workflow rerun. A moved head refuses. Stable release preparation remains main-push-only; cancelled runs cannot qualify. The storage activation command file gets a temporary 20-minute per-file budget, runs first in its shard, and remains subject to the 30-minute shard deadline. Other files retain 12 minutes; explicit CLI limits override the exception. This addresses run [43313402845](https://github.com/hack-dance/hack/actions/runs/43313402845)'s 12-minute timeout with bounded headroom, not a speedup claim. Splitting/cutting the eight-case file and refreshing its planning weight remain the next cost follow-up. Ten successful six-macOS-job runs on Nov 12 gave these median job minutes (queue excluded; sums of medians are descriptive): | Job | Before minutes | | --- | ---: | | Unit 1 / 2 / 3 | 17.93 / 17.67 / 14.00 | | Candidate ARM | 19.25 | | Compiler ARM / Intel | 5.97 / 12.22 | The total is about 87 macOS runner-minutes. Ordinary light PRs schedule **zero** macOS jobs. Protected-input/full-tier PRs and ordinary full `next` runs use five instead of six, deferring Intel to `main`/release-full. This intentionally moves Intel-only regressions on `next` to release qualification. Bun install is only 5–6s on unit lanes, 19s on Intel; unit compiler prep 48–55s. Three candidate logs show 10.3–14.3min Cargo compilation and 3.3–4.1min Cargo test execution. Compiler ARM transport/bundle work alone is 169s median; folding it into the 19min candidate job saves under a minute of setup while extending that lane, so they stay parallel. Bun downloads, Cargo registry/target trees and Zig data are cached by OS/arch, image OS, toolchain pins and locks, with separate compiler/candidate targets. PR native caches restore only; trusted push/dispatch caches save. Image updates do not create another multi-GB entry. Builds/tests still execute; Zig is checksum-verified and re-extracted. Structured step timings from the first full PR run show native-cache helper steps at 0–1s, Bun cache restore at 7–11s, unit installs at 1–2s and unit compiler preparation at 34–60s. Candidate Zig setup was 1s plus 12s post-step; compiler post-step was 16s. Warm hit/miss and native-save benefit remain unqualified; PR native caches do not save. This PR's protected-input guard now schedules its own full ordinary PR run, which the lead requires before merging this gating change. Runner options, checked Nov 12: the account is Team; its published macOS cap is five, shared by standard/larger runners. The sample observed five concurrent Mac jobs; custom support overrides are not exposed by the limits API and remain unverified. Larger Intel: 12 CPU/30GB, $0.077/min. M2 Pro xlarge: 5 CPU (+8 GPU)/14GB, $0.102/min. Larger runners are paid even for public repos; current standard public jobs are free. [Limits](https://docs.github.com/en/actions/reference/limits), [specs](https://docs.github.com/en/actions/reference/runners/larger-runners), [prices](https://docs.github.com/en/billing/reference/actions-runner-pricing). A spare Apple Silicon Mac buys queue capacity, not a lower current hosted bill. Use ephemeral isolated VM/JIT workers labeled `self-hosted, macOS, ARM64, trusted-ci`, admitted externally for trusted next/main pushes and manual runs only. Never fork PRs, other PR events or pull_request_target. Labels/editable workflow conditions are not access control: restrict runner-group/workflow routing and event/ref admission, discard each VM/checkout, and retain no host credentials. No registration, paid runner or account changes here. Validation on the Batch A integrated tree: 289 focused CI/shard/release tests passed (1,734 assertions). The 65-file source-contract gate: passed 1,315 tests with 26 conditional skips and zero failures (13,731 assertions). No daemon before/after. Pinned typecheck, lint/privacy, explicit script/test lint, actionlint 1.7.12 and commit-range gitleaks 8.30.1 pass; existing complexity warnings remain. The persistent reviewer is clean on exact tree `98ab31ac29bfcb971058590d7cb750b906b0e69b`. After next.16 published and #747 landed, normal merge `ae94e5fb602240ee381d4f112edeb4f76813fd30` brought `next` at `e7a70393e1bae3d3e453ac82bf20fad6273277b3` into this PR. The model-coverage conflict retains this PR's CI-evidence row and #747's updated log-follow row verbatim. Batch A implementation is unchanged. The existing startup model README points to the three merged regression files. The source-only selector regression requires a proper subset from the real tree. For comparison, the prior full PR run [43371306048](https://github.com/hack-dance/hack/actions/runs/43371306048) passed all 26 jobs at `56075e67`. Its five Mac jobs took 15.28/15.52/14.28 minutes for unit shards, 20.00 for Candidate ARM and 6.38 for compiler ARM: **71.47 Mac runner-minutes**, versus the earlier six-job baseline's sum of medians, 87.03. These are different trees and unmatched runs; they do not establish a cache speedup. Mac shard 1 waited 109.53 minutes after scope, so queue pressure remained. The latest revision still needs its own hosted result. This protected-input PR must run its full ordinary PR tier at the new head. Ready follows green Linux jobs, clean reviews and handled bot threads, naming any pending heavy jobs. The lead requires this PR's full hosted run before merge. Manual dispatch/partial-rerun and warm-cache qualification remain post-merge work; this PR adds no native runtime implementation changes relative to `next`. After this PR merges, #688, #691, #750 and #751 will be retargeted to `next`; #750 must preserve #749's optimized identity engine and assertions. HACK-2111. --------- Co-authored-by: Kit <344842+roodboi@users.noreply.github.com>
|
Retarget audit after #748 merged: this PR now targets Keeping it open. At No superseded closure and no freshness-only push. Existing matched-run observations support an experiment, not six-shard adoption; the redesigned manual-dispatch path still needs a live trial. |
|
Cleanup audit against Commit/change mapping:
Reason to keep open: the manual-only experiment, parity regressions and safe summaries have no verified successor, and its final dispatch remains live qualification. Closing it as merged/superseded would discard unlanded work. Marking draft removes the stale ready signal; this held experiment needs an explicit decision to qualify/adopt or cancel. Existing four-shard required CI remains authoritative. Tracking context: HACK-2111. |
|
Retained unlanded work is now explicitly tracked in HACK-2230, under HACK-2111, with acceptance criteria and links to the full commit-by-commit mapping above. This PR stays open as draft because its unique changes have no verified complete successor on |
|
Closing unmerged as requested by the lead; retained work is transferred to HACK-2230, which is still Backlog. This closes the stale PR, not that ticket or its acceptance criteria. The branch is preserved; no unlanded patch is represented as merged or retired. Reverified against next at 5965b23: #748 includes both inherited policy commits, and its squash e2c73c6 is an ancestor. Unique net paths and missing artifacts remain as listed below. This supersedes the earlier keep-open decision now that the lead has explicitly requested closure and each gap has a tracking ticket. Commit/change mapping:
Uncovered work above is assigned to HACK-2230; the mapping does not claim a complete successor PR for it. |
Keep the six-shard timing experiment available through manual dispatch only. Automatic push/PR-label trial runs are removed. Required CI still uses its existing four inline Docker shards, fan-in and exact-source release gate; no required job depends on the trial or uses its composite action.
The trial has six standard
ubuntu-24.04jobs with distinct advisory names,continue-on-error,fail-fast: false, read-only contents permission and no persisted checkout credential. Its separate workflow cannot supply release evidence. It runs the unchanged default scenario set, assertions, proof/cleanup checks and supplemental commands. Supplemental checks run once on the lightest trial shard, 6/6, away from the long network scenarios. A regression compares every trial command, condition and E2E environment with required CI, allowing only the timing log capture and input substitutions.Two historical same-revision pairs justify retaining an opt-in experiment, rather than automatically spending six more runner slots. They do not justify adopting six required shards:
Wall spans first shard start to last shard end, excluding queue before the first start; runner-minutes sum the shard durations. These pairs used the earlier trial revision. No new Docker trial was started for this revision. More same-head normal-load comparisons must include failures, skips, retries and cleanup outcomes before a separate atomic required-matrix change.
To run a comparison after obtaining a four-shard integration run, dispatch
gh workflow run docker-e2e-trial.yml --ref next(or a branch pinned to its SHA), then verify both runs'head_shamatch. This redesigned manual dispatch and the composite outcome expressions remain live qualification, although GitHub reports the workflow registered and active. A green advisory workflow alone is insufficient: inspect all shard steps and summaries. Summaries expose only registered names, numeric durations and pass/fail; missing results or failed setup/cleanup cannot report pass.Normal merges preserve the existing branch's history and bring in
nextand #748's published base; no rewrite. The existing trial action, summary and visual are retained, but required CI no longer shares the trial action. Automatic scheduling and the old trial label are intentionally retired from this PR. Temporarily stacked on #748; merge that base first and retarget tonext. The authored diff is eight paths, with no scenario/planner/release-gate changes. The unrelated E2E CI-contract refresh is #691.Validation: 84 focused trial/summary/shard/prerelease tests passed with 764 assertions; the final trial wiring/summary repeat passed 7 tests/134 assertions. Pinned typecheck, lint/privacy, explicit changed-file lint, actionlint 1.7.12, staged gitleaks 8.30.1 and whitespace checks pass. The persistent reviewer is clean; the final YAML-input type correction admits booleans/numbers without changing assertions. Exact-head hosted Linux and bot review remain readiness gates. CI-only experiment, no product release, required-check or prerelease contract change. HACK-2111.