Skip to content

docs: specify DeepSec security-scan boundary (COD-442) - #4

Merged
shivros merged 1 commit into
mainfrom
runner/COD-442-deepsec-security-scan
Aug 24, 2026
Merged

docs: specify DeepSec security-scan boundary (COD-442)#4
shivros merged 1 commit into
mainfrom
runner/COD-442-deepsec-security-scan

Conversation

@shivros

@shivros shivros commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Summary

OpenSpec-only PR for COD-442. It defines the smallest Hydra-native DeepSec/security-scan tracer bullet: an explicit run_security_scan operation projected to CLI/HTTP/MCP, one consumer-owned typed scanner adapter, a deterministic fixture, explicit configuration, and a public redaction boundary.

Scope boundary

This does not add DeepSec SDK/runtime code, arbitrary command execution, or scanner logic to hydra-core. Per the spec-first workflow, implementation is blocked until this PR is reviewed and merged.

Review fixes

The review panel required and this PR now specifies:

  • exact fixture target/profile/default/result and deterministic ordering;
  • an explicit surfaces: [cli, http, mcp] declaration;
  • DEEPSEC_ENDPOINT/DEEPSEC_TOKEN as the only future real-adapter inputs;
  • a consumer-owned allowlisted public-error/redaction boundary, including sentinel-secret tests.

Verification

  • git diff --cached --check
  • cargo build --all-targets
  • cargo test --all-targets — 49 tests passed
  • cargo clippy --all-targets -- -D warnings
  • cargo fmt --all -- --check
  • cd examples/notes && cargo run -p hydra-codegen --bin hydra-codegen -- check

Closes COD-442.

@shivros

shivros commented Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Automated Review Panel

GPT-5.5 (openai/gpt-5.5)

Initial result: request changes. It found the fixture inputs/result unspecified, redaction not operationally defined, and the three-surface declaration insufficiently explicit.

Resolution in de472f9: the OpenSpec now fixes the target to fixture:demo-repo, defines baseline as the sole/default profile, gives the exact deterministic fixture result and finding order, includes the normative operations.yaml declaration with surfaces: [cli, http, mcp], and requires a public allowlisted error/result serialization boundary with sentinel-secret regression coverage.


Gemini 3 Flash (google/gemini-3-flash-preview)

Initial result: request changes. It independently identified that Hydra does not generate response schemas, so redaction must be consumer-owned; it also requested a closed input policy, authoritative env configuration, and explicit surface allowlist.

Resolution in de472f9: the spec explicitly states that SecurityScanResult is a consumer-owned public serialization model, requires private adapter errors to map to invalid_request, scanner_unavailable, or scan_failed before CLI/HTTP/MCP/log boundaries, names DEEPSEC_ENDPOINT (HTTPS URL) and DEEPSEC_TOKEN as the only future real-adapter config, and requires deterministic fixture/invalid-input tests.

Both reviews were resolved before this spec PR was opened. No scanner runtime is included; implementation remains gated on this spec PR merging.

@shivros
shivros marked this pull request as ready for review August 24, 2026 21:55
@shivros
shivros merged commit 7bc2a67 into main Aug 24, 2026
2 checks passed
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