cardano-testnet: Split parsers into shared, env-only, and runtime-only
## Problem
The current `pCardanoTestnetCliOptions` parser is shared between `create-env` and `cardano` subcommands, parameterised by a `TestnetMode` that only affects the tx-generator flag. This means `create-env` accepts and silently ignores runtime-only flags like `--nodeLoggingFormat` and `--enable-new-epoch-state-logging`.
## Proposed fix
After splitting the options records (#6459), split the parser accordingly:
- `pSharedOptions` — parses fields used by both phases (nodes, era, supply, dreps)
- `pEnvOnlyOptions` — parses fields only for env creation (on-chain params)
- `pRuntimeOnlyOptions` — parses fields only for runtime (logging format, epoch state logging, tx-generator)
The `create-env` parser combines `pSharedOptions + pEnvOnlyOptions`.
The `cardano` parser combines `pSharedOptions + pEnvOnlyOptions + pRuntimeOnlyOptions`.
This is ~20 lines of rearranging existing parser combinators in `Parsers/Cardano.hs`.
## Depends on
- #6459 (split options records — this is the parser-side companion)
## Type: Refactoring
## Effort: Low (~20 lines)
## Risk: Low
0 条评论