/ components / frontend / F005-cli.component.cspec
F005-cli.component.cspec
  1  # F005-cli.component.cspec
  2  
  3  metadata:
  4    id: F005
  5    name: cli
  6    version: 1.1.0
  7    domain: frontend
  8    stability: stable
  9    updated: 2026-01-15
 10    cascade_priority: 40
 11    roles:
 12      primary: [Dev, Ops]
 13      review: []
 14    expertise:
 15      required: [rust, cli]
 16      helpful: [validators, provers]
 17    context_tags: [cli, terminal, validators, provers, operators]
 18  
 19  dependencies:
 20    upstream: [F001]
 21    downstream: []
 22  
 23  interface:
 24    types_ref: _registry/types.cspec
 25  
 26    functions:
 27      wallet_create: {inputs: [], outputs: [mnemonic]}
 28      wallet_restore: {inputs: [mnemonic], outputs: [status]}
 29      wallet_balance: {inputs: [], outputs: [balances]}
 30      wallet_send: {inputs: [to, amount], outputs: [tx_id]}
 31      validator_status: {inputs: [], outputs: [status]}
 32      prover_status: {inputs: [], outputs: [status]}
 33      gov_proposals: {inputs: [], outputs: [proposals]}
 34      gov_vote: {inputs: [proposal_id, vote], outputs: [tx_id]}
 35      name_register: {inputs: [name], outputs: [status]}
 36      name_resolve: {inputs: [name], outputs: [addresses]}
 37  
 38  spec:
 39    # === PURPOSE ===
 40    purpose: Command-line interface for validators, provers, and power users
 41  
 42    # === STRUCTURE ===
 43    structure:
 44      acdc-cli/:
 45        src/:
 46          - main.rs
 47          - commands/:
 48            - wallet.rs
 49            - validator.rs
 50            - prover.rs
 51            - governance.rs
 52            - name.rs
 53          - config.rs
 54        docs/: []
 55  
 56    # === COMMAND GROUPS ===
 57    commands:
 58      wallet:
 59        - "acdc wallet create"
 60        - "acdc wallet restore"
 61        - "acdc wallet balance"
 62        - "acdc wallet send"
 63        - "acdc wallet receive"
 64        - "acdc wallet export"
 65  
 66      validator:
 67        - "acdc validator status"
 68        - "acdc validator rewards"
 69        - "acdc validator register"
 70        - "acdc validator withdraw"
 71  
 72      prover:
 73        - "acdc prover status"
 74        - "acdc prover rewards"
 75        - "acdc prover register"
 76        - "acdc prover stats"
 77  
 78      governance:  # Delta governance by default (CLI users are DX stakers)
 79        - "acdc gov proposals"          # List Delta proposals
 80        - "acdc gov vote"               # Vote on Delta proposal
 81        - "acdc gov propose"            # Submit Delta proposal (requires 1M DX)
 82        - "acdc gov status"             # View voting status
 83        - "acdc gov --alpha proposals"  # Alpha governance (for governors only)
 84  
 85      name_service:
 86        - "acdc name register"
 87        - "acdc name resolve"
 88        - "acdc name transfer"
 89        - "acdc name update"
 90  
 91    # === 2FA REQUIREMENT ===
 92    security:
 93      2fa_required: true  # CLI is Tier 2 platform (no secure enclave)
 94      supported_methods:
 95        - device_mesh_mobile
 96        - hardware_fido2
 97        - totp_warned
 98  
 99    # === OUTPUT FORMATS ===
100    output:
101      default: human_readable
102      options:
103        - json
104        - table
105        - quiet
106  
107  changelog:
108    - version: 1.1.0
109      date: 2026-01-15
110      type: enhancement
111      description: "Governance commands default to Delta; --alpha flag for governor access"
112      breaking: false
113  
114    - version: 1.0.0
115      date: 2026-01-14
116      type: initial
117      description: "Initial CLI spec from Implementation Plan v1.0"
118      breaking: false