swisspost-evoting-go-poc/pkg/party
saymrwulf b38b990bc4 Add evote cockpit --tmux: one terminal pane per stakeholder
The terminal systems-view half of the cockpit, fed by the SAME trace stream as
the browser math view — no double-maintenance.

- cockpit_tmux.go: spawns a tmux session with one pane per stakeholder (setup,
  CC0–CC3, electoral board, voting server, verifier, and an aggregate voters
  pane), each running `evote panelview`. The ceremony runs in the background,
  appending paced NDJSON events to a shared temp file the panes tail. Guards for
  missing tmux and for being run inside an existing tmux session.
- panelview.go: a hidden subcommand each pane runs — follows the shared event
  file, filters to its stakeholder, and renders that party's operations as
  colored ASCII/Unicode math with elided live values.
- Attribute setup-phase Schnorr challenges to the generating CC and verify-phase
  challenges to the verifier (trace.SetContext), so every pane gets its ops.

Verified: panelview filters and renders correctly per role; a 9-pane tiled tmux
session builds with the real pane commands. (Interactive attach needs a TTY, so
the live attach is exercised when you run it.)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 15:43:05 +02:00
..
ceremony.go Voting cards: distributed return-code generation + confidential delivery 2026-07-06 15:15:38 +02:00
ceremony_test.go Add party layer scaffolding: PKI bootstrap + signed handshake 2026-07-06 15:07:31 +02:00
codes.go Cast-as-intended return codes: CC extraction + voter check 2026-07-06 15:52:30 +02:00
codes_test.go Voting cards: distributed return-code generation + confidential delivery 2026-07-06 15:15:38 +02:00
e2e_test.go Tally + verification: full multi-party ceremony runs end-to-end 2026-07-06 15:23:56 +02:00
parties.go Voting cards: distributed return-code generation + confidential delivery 2026-07-06 15:15:38 +02:00
phases.go Cast-as-intended return codes: CC extraction + voter check 2026-07-06 15:52:30 +02:00
returncode_extract.go Cast-as-intended return codes: CC extraction + voter check 2026-07-06 15:52:30 +02:00
setup.go Add evote cockpit --tmux: one terminal pane per stakeholder 2026-07-07 15:43:05 +02:00
setup_test.go Distributed key generation over signed transport + validated wire layer 2026-07-06 15:11:34 +02:00
state.go Ballot carries E2 + plaintext-equality proof, CC-verified 2026-07-06 15:47:53 +02:00
tally.go Instrument real crypto ops to emit live LaTeX events 2026-07-07 14:06:08 +02:00
trace_test.go Instrument real crypto ops to emit live LaTeX events 2026-07-07 14:06:08 +02:00
transcript.go Ballot carries E2 + plaintext-equality proof, CC-verified 2026-07-06 15:47:53 +02:00
verify.go Add evote cockpit --tmux: one terminal pane per stakeholder 2026-07-07 15:43:05 +02:00
voting.go Instrument real crypto ops to emit live LaTeX events 2026-07-07 14:06:08 +02:00
voting_test.go Cast-as-intended return codes: CC extraction + voter check 2026-07-06 15:52:30 +02:00
wire.go Ballot carries E2 + plaintext-equality proof, CC-verified 2026-07-06 15:47:53 +02:00