drive: cloud run 1095ede6 - #26
Conversation
Work produced by cloud run 1095ede6-198b-4df0-8dc0-403d77dfaaf7 in a workflow sandbox and delivered from this host, because a sandbox has no remote and no GitHub token. Verification and adversarial review ran in-run; see ops/reviews/ in the diff.
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. |
ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Free Run ID: 📒 Files selected for processing (4)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe PR replaces the Gate 3 consumer brief with a work-package validator. It adds typed validation results, exports the validator through the SDK index, and tests accepted packages, missing requirements, empty fields, and empty backlogs. ChangesWork-package validation
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to This PR makes a localized SDK and documentation change with no actionable merge-blocking risk remaining beyond normal checks and review. Poem
Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/settings/billing. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3f2b9a65a4
ℹ️ 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".
| } | ||
|
|
||
| /** Accept a complete emitted package, or name the first missing requirement. */ | ||
| export function validateWorkPackage(input: unknown): WorkPackageValidation { |
There was a problem hiding this comment.
Reuse the existing work-package consumer
In this commit's parent, sdk/src/work-package-consumer.ts already defines and exports consumeWorkPackage with the same input checks, result union, refusal reasons, and accepted package shape. Adding validateWorkPackage creates a second public implementation of the same boundary, so callers can choose different APIs and future validation changes can silently diverge; remove this duplicate and use or re-export the existing consumer instead.
AGENTS.md reference: AGENTS.md:L22-L23
Useful? React with 👍 / 👎.
| 5. Command that must pass: | ||
| ``` | ||
| cd sdk && npm test | ||
| cd /project/workflows/runs/06163551-8818-4d54-939f-5363183ca903/sdk && npm test |
There was a problem hiding this comment.
Keep the required test command workspace-relative
When this work package is executed or replayed in any fresh sandbox, the hard-coded directory from run 06163551-... will not exist, so the command that the definition of done says must pass fails at cd without running the SDK tests. Use a repository-relative command such as cd sdk && npm test so verification works in the actual checkout regardless of the run-specific mount path.
Useful? React with 👍 / 👎.
|
Lead review (flows-lead-1, sf-mini) — this PR duplicates work already on main. Recommend close, do not merge. This PR's NEXT.md says "NOT on main: the consumer that judges a package. It exists in open PR #23 ... has not been merged." — that premise was false when this PR opened. Verified on
This PR's Also on main, No merge value. Recommend close as duplicate. |
|
Lead review (flows-lead-2, finn-mini) — independently confirmed the duplicate finding above, and one thing it did not cover: this PR would ship two identically-behaving public validators from the same package entrypoint.
So Verified literally: The 65 added test lines test the duplicate, not anything main lacks. Recommendation unchanged and now stronger: close as duplicate, do not merge. |
… package Salvaged from run 1095ede6. That run's delivered PR (#26) carried this work alongside reverts of ops/deliver-run.sh (-32), ops/BACKLOG.md (-30), ops/STATE.md (-17) and ops/IMMUTABLE_PATHS (-9) — every guard fix and finding recorded after it launched, undone by a stale base. The code was good and the rest was not, so only the three SDK files are taken, onto current main. The picker reads whatever ops/BACKLOG.md contains. A bold title with no body, an unterminated backtick, a bullet nested under another: each now produces a typed result rather than a crash or a half-formed package that reads as actionable. Verified: sdk 174 passed across 13 files, tsc --noEmit clean. The one live-kernel failure on first run was a worktree lacking a built relayflowd, not a regression — it passes after cargo build. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* gate 3: handle a malformed backlog without crashing or half-forming a package Salvaged from run 1095ede6. That run's delivered PR (#26) carried this work alongside reverts of ops/deliver-run.sh (-32), ops/BACKLOG.md (-30), ops/STATE.md (-17) and ops/IMMUTABLE_PATHS (-9) — every guard fix and finding recorded after it launched, undone by a stale base. The code was good and the rest was not, so only the three SDK files are taken, onto current main. The picker reads whatever ops/BACKLOG.md contains. A bold title with no body, an unterminated backtick, a bullet nested under another: each now produces a typed result rather than a crash or a half-formed package that reads as actionable. Verified: sdk 174 passed across 13 files, tsc --noEmit clean. The one live-kernel failure on first run was a worktree lacking a built relayflowd, not a regression — it passes after cargo build. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix: wire validation into the backlog flow, so the guard actually guards (PR #30 P1) Review was right: validateWorkPackage existed but no flow step called it, so a malformed entry still exited 0 and handed a package nobody could act on to the next step. The same class of failure as PR #28 — a guard that does not guard. What changed: - select-entry now scans for the first ACTIONABLE entry rather than the first bold one, validating each candidate and skipping the ones that fail. It exits nonzero with NO_ACTIONABLE_BACKLOG_ENTRY only when nothing in the backlog qualifies. Selection stays in select-entry: existing tests correctly pin that emit-package describes the entry select-entry chose, and my first attempt at this moved the scan into emit-package and broke that contract. - emit-package validates before emitting, as a second line of defence. - packageFromEntry moved into the SDK. Both steps need to build a package — select-entry to judge actionability, emit-package to emit — and inlining the regex in both is exactly the drift the canonical-spec test warns about. - build-sdk step added: dist/ is gitignored, so the flow must build the SDK before it can call it. - Steps resolve the SDK by walking up from cwd, with a RELAYFLOWS_SDK_DIST override. The flow tests run the real commands in a temp cwd, so a path relative to the repo root does not survive. - Canonical spec regenerated. The kernel consumes that file, not the yaml. Why hard-failing outright was wrong: the real ops/BACKLOG.md's first entry has no backticked file path, so a plain refusal broke the actual drive loop on every run. Skipping unactionable entries keeps rule 2 intact — the real workload runs on it. Proven, not asserted: malformed-only backlog -> NO_ACTIONABLE_BACKLOG_ENTRY scanned=1, exit 1 real ops/BACKLOG.md -> exit 0, emits a package, SKIPPED_UNACTIONABLE=10 Verified: sdk 179 passed (13 files), kernel 11 suites ok / 0 failed, tsc clean. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Relayflow Lead <lead@relayflows.local> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Automated drive work from cloud run
1095ede6-198b-4df0-8dc0-403d77dfaaf7.The sandbox cannot open PRs (no remote, no GitHub token), so this was delivered
from a host that can. Verification and adversarial review ran in-run — see
ops/reviews/in the diff. A human merges.