Repository navigation
fix: restore Forge validation and classify invalid CLI JSON - #103
Open
nicholas-ruest wants to merge 3 commits into
Open
nicholas-ruest wants to merge 3 commits into
nicholas-ruest wants to merge 3 commits into
Conversation
🔒 Security Scan Results
Automated security scanning by GitHub Actions |
🔒 Security Scan Results
Automated security scanning by GitHub Actions |
🔒 Security Scan Results
Automated security scanning by GitHub Actions |
This branch has not been deployed
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.
Summary
Resumes the existing security-recovery branch; keeps its dependency cleanup and deterministic contract-test repair.
This cycle fixes CLI generator request validation: null/primitive/array JSON and untrusted metadata no longer trigger coercion exceptions; schema failures have a typed
failureTypeand return HTTP400 instead of guessing status from error text. Internal failures retain HTTP500. Existing service persistence, Rust, IAM and deployment behavior are unchanged.Current measured results
Baseline
733f97caefd62ca750e69ba1b24153363a836e19; sourcedb68b9c6904c8566466cd8eeda3842fe4eaa88e9; finalac170c4d0a18e5fd5266a08d3acb38c882bdf574.These are component validation results, not permission to merge. The HTTP fixture exercises the real exported edge handler over loopback TCP; it is not a Cloud Run/IAM/RuVector-delivery test. Existing default in-memory decision-emitter behavior was not replaced or presented as real persistence.
Real tool execution
Pinned Ruflo3.56.3 + Transformers4.3.1, MetaHarness0.4.17, Darwin0.10.3, Flywheel0.1.12. Current upstream documentation revision
e0dfd44da72b7adfb7c57fdd42d124be58ed7086.swarm-1792281574110-6kd88m, tasktask-mvd269ml; one coordinator, no delegated workers.751bff37182d3f1213fa05d7196b954e230abad9.learningUpdates.available/outcomePersisted,feedback.recorded,trajectory.recordedall true. Overall task correctly recorded unsuccessful because global gates failed.c5942e7c9bf8f28fe7af47a6ec3887d11eeb3f8c8e8601cc6a7a54969ea0b981.Merge blockers
Do not merge. Types/lint/format/coverage and full dependency security are red. RuOS bootstrap passed and OpenSSL3.0.13 is verified; real locked Rust invocation exits101 at the existing invalid benchmark manifest (missing
benches/forge_benchmarks.rs), before any Rust test executes. No missing-OpenSSL or successful-Rust claim is made.Hosted source validation 39081386440: Node20/21 tests and build pass; type/lint/format/coverage/aggregate fail. Source security fails full audit and Dependency Review (GitHub reports dependency graph unavailable); CodeQL, static security and secret scan pass. A green Security Summary alone is insufficient.
Final validation 39081656729 and security 39081656740 are checked separately before any merge decision.
Evidence / reproducibility
flywheel-results.json.gz, rawdarwin-runs.tar.gzalongside.node --import tsx tests/service/verify-cli-input.mjs ..node tests/evaluate-cli-input.mjs BASELINE CANDIDATE PINNED_TOOLS OUTPUT.jsonwith installed pinned tools.Conflicts and rollback
Main remains
4b5e43618b8fd1b8f63bddd24ff524510d9514bc; conflict-free at inspection. Only expected-head fast-forwards, no force push or protection bypass.Revert this cycle's commits
db68b9c6904c8566466cd8eeda3842fe4eaa88e9andac170c4d0a18e5fd5266a08d3acb38c882bdf574to retain the earlier dependency recovery. Signed inverse restores exact parent handler bytes; reverse patch applicability verified. To undo the entire PR after a future merge, revert its merge commit. No persistence/schema rollback is required.Exact final commit verification
Final head
ac170c4d0a18e5fd5266a08d3acb38c882bdf574was revalidated after publication in clean local Node24 and RuOS Node20.20.2/npm10.8.2 checkouts; tracked files remained clean.npm ci --ignore-scripts,npm test,npm run build, native HTTP fixture: exit0;1077/1077 tests.npm run type-check:2;npm run lint:1;npm run format:check:1;npm run test:coverage:1.cargo test --manifest-path forge-benchmarks/Cargo.toml --locked:101, unchanged missing bench path; no Rust tests executed.4b5e43618b8fd1b8f63bddd24ff524510d9514bc; PR remains open, non-draft, mergeable/no conflicts, NOT MERGED. No approvals/protections bypassed.Final failure diagnosis: performance comparison exits1 because main does not track
benchmark-results/latest.json(git pathspec failure). Dependency Review exits1 because GitHub reports dependency graph/review unavailable for this repository. No repository administration setting was changed, and neither failure was bypassed.