Skip to content

feat: add CLI-only output flags (COD-486) - #10

Merged
shivros merged 1 commit into
mainfrom
runner/COD-486-cli-output-flags
Sep 18, 2026
Merged

shivros merged 1 commit into
mainfrom
runner/COD-486-cli-output-flags

Conversation

@shivros

@shivros shivros commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds explicit operation-level cli_output_flags for CLI-only boolean presentation controls.
  • Generates public clap::ArgAction::SetTrue boolean fields while keeping them out of HTTP, MCP, and parameters_json() request projection.
  • Validates CLI fields and exact emitted long-option names against parameters, companions, reserved help, malformed identifiers, and Rust 2024 keywords.
  • Adds compiled deterministic fixtures, real parsing coverage, and release-selection documentation for the Rust struct-literal compatibility break.

Verification

  • cargo build --all-targets
  • cargo test --all-targets — 44 codegen tests, 14 Notes surface tests, and 6 security-scan tests passed.
  • cargo test -p hydra-codegen --test codegen
  • cargo clippy --all-targets -- -D warnings
  • cargo fmt --all -- --check
  • (cd examples/notes && cargo run -p hydra-codegen --bin hydra-codegen -- check)
  • git diff --check origin/main
  • Dual-model review panel completed. A review-found mismatch between validation and the exact emitted multiple-flag spelling was fixed with regression coverage.

Scope boundary

No Iris runtime/replay behavior, HTTP/MCP input change, publication, tag, or release is included.

Linear: COD-486

@shivros

shivros commented Sep 18, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Automated Review Panel

Reviewer A — GPT-5.6-terra (Codex)

APPROVE — no concrete blockers after verifying the declaration contract, exact emitted-long-flag collision namespace, SetTrue boolean parsing, request/HTTP/MCP exclusion including SSE behavior, deterministic compiled fixture, and Rust struct-literal compatibility documentation. Focused cargo test -p hydra-codegen --test codegen passed all 44 tests.

Reviewer B — Gemini 3 Flash (OpenRouter)

APPROVE — verified goal alignment, presentation-only boundary, validation against parameters/companions/help, Rust 2024 keyword safety, byte-deterministic generation, and the README's direct-Operation-literal compatibility note.

Review resolution

An earlier Codex finding exposed a real mismatch: validation normalized an omitted repeatable cli.flag to kebab case while codegen emitted the parameter spelling. The change now reserves the exact emitted long option and includes a regression for distinct --record_ids and --record-ids flags. Full workspace gates were rerun successfully after the fix.

@shivros
shivros marked this pull request as ready for review September 18, 2026 10:06
@shivros

shivros commented Sep 18, 2026

Copy link
Copy Markdown
Contributor Author

Auto-Merge Gate

Confidence: 0.92

The PR implements COD-486's explicit CLI-only boolean presentation flags: generated clap::ArgAction::SetTrue fields remain outside HTTP, MCP, and parameters_json() projections. Validation uses the emitted long-option namespace and covers reserved/help, companion, parameter, malformed-identifier, and Rust-keyword collisions.

Observed checks: GitHub CI Test and Creed context drift succeeded. Independent gate verification passed: cargo test -p hydra-codegen --test codegen (44 tests), cargo test -p hydra-core, cargo fmt --all -- --check, and git diff --check origin/main...HEAD.

Scope limits: no credentials, deployment, release, destructive behavior, or manual-review marker; COD-486 contains no remaining non-PR acceptance criterion.

@shivros
shivros merged commit 9e0b603 into main Sep 18, 2026
2 checks passed
@shivros
shivros deleted the runner/COD-486-cli-output-flags branch September 18, 2026 10:32
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