Skip to content

Handover: remaining OpenCSV work + cloudflarify opencsv.net #1

Description

@posix4e

Handover: remaining OpenCSV work + move to opencsv.net (Cloudflare)

This is the master handover issue. Everything is linked; nothing lives in chat.
The plan of record is ROADMAP.md (rev 3); the narrative of record is the journal.

Execution order

  1. Coordination and domain preparation
  2. A3 reproducible formal build
  3. A4 staged kernel adoption and A5 accept-kernel
  4. Prover production readiness: D1 → D4 → D3 → D2
  5. Batching v2
  6. Signet/mainnet readiness
  7. iOS — final workstream

A. Domain: cloudflarify opencsv.net (registered on Namecheap)

Goal: the site serves from https://opencsv.net via Cloudflare DNS; everything currently at opencsvnet.github.io/opencsv remains available during the cutover.

Ordered steps (order matters — do not set the Pages custom domain before DNS resolves):

  1. Repository preparation: make / the canonical homepage; keep /web/index.html as a compatibility redirect; verify all site paths and relative assets.
  2. Cloudflare (owner account): add site opencsv.net (Free plan) and note the two assigned nameservers.
  3. GitHub org verification: start verification of opencsv.net at org Settings → Pages and obtain the TXT value. Stage only that TXT record in Cloudflare.
  4. Namecheap (owner account): Domain List → opencsv.net → Nameservers → Custom DNS → the two Cloudflare nameservers. There is currently no DS record; if that changes, remove the old DS and wait for expiry before switching.
  5. Wait for delegation (dig NS opencsv.net shows only Cloudflare) and the GitHub TXT record; complete organization-domain verification before publishing Pages target records.
  6. Cloudflare DNS records, DNS-only initially: apex A/AAAA records to GitHub Pages; www CNAME to opencsvnet.github.io. Do not use a wildcard.
  7. Confirm public resolution from multiple resolvers, then GitHub Pages (opencsvnet/opencsv) set custom domain to opencsv.net. Wait for certificate issuance, then enable Enforce HTTPS.
  8. Verify /, /web/journal.html, /web/formal.html, /web/story.html, compatibility redirects, screenshots, and animation media. Update remaining github.io public links.
  9. After the cutover is stable, optionally enable Cloudflare proxying. Enable Cloudflare DNSSEC and publish its DS record at Namecheap.

The GitHub Pages custom-domain flip is deliberately after verified DNS so the working github.io site never redirects into an unresolved hostname. Organization verification is mandatory before the Pages target records to close the takeover window.

B. Open work board

Formal verification (the moat)

  • A2 kernel carveopencsv-kernel landed at opencsv-rs@b64bdf4; 8/8 kernel≡core tests green.
  • A3 reproducibility follow-ups — pin the Aeneas Lean library by Git revision; make CI genuinely runnable; dedupe binding_eq_spec; expand the seven-theorem audit; feed the generated audit into the living formal page.
  • A4 staged adoption — dual-run kernel and legacy decisions in tests, add generated differential cases, then switch binding/well-formed/first-occurrence/supply individually. Review diff; no silent merge.
  • A5 accept decision-kernel — pure explicit input → deterministic decision/rejection reason; the trait-heavy driver retains proof, chain, storage, and transport I/O.
  • Standing: executable-model differential testing remains the drift bridge.

Prover production readiness

Details: opencsv-rs#3.

  • D1 setup caching.
  • D4 predecessor vk hard-binding.
  • D3 AIR-native issuer signature.
  • D2 production FRI parameters and final benchmarks, only after D4/D3 freeze the circuit/vk surface.

Batching v2

Details: opencsv-rs#4.

  • C0 committed protocol/threat model: commitments, fees/outputs, aborts, coordinator DoS, replay, ordering, serialization.
  • C1 coinjoin-style co-funded batches, regtest-proven with adversarial mutations.
  • C3 Lean extension against frozen C1 semantics.
  • C2 two-round Signal gossip in the CLI. iOS integration waits for the final workstream.

Mainnet path

  • E1 signet field validation through the CLI/reference stack: cold/hot sync, bandwidth, latency, reliability, and recovery.
  • E2 beta economics: fees, marker dust, and batch amortization.
  • E3 security review after A4/A5, D2–D4, and C1.
  • E4 reproducible CLI/reference builds, release checklist, and claim receipts.

iOS app — final workstream

Channel: Signal-iOS#3.

  • PR blockers B1–B3 and S1–S9 fixed on the feature branch.
  • Explorer detail view, deliberate re-verification, persistence/chain-lag fixes, and persistent client landed.
  • Regtest/hardware receive measurements and S1–S3/video captures delivered. These are evidence, not the remaining signet gate.
  • Final-core integration: durable pending export/import; fee key + watched UTXOs; signed anchor construction/P2P broadcast; final proof parameters; batch envelope evidence.
  • Rebase, final review, both build modes, full suites, physical-device two-way flow, crash recovery, and mempool→confirmed validation.
  • PR site: make root the canonical homepage #2 upstream-submission decision is the owner's explicit call.

Rules of engagement

  • Nothing fake: no mocks or silent fallbacks in product paths; demo chains print a warning.
  • Every claim has a receipt: benchmarks measured, screenshots CI-regenerated, formal table CI-regenerated from the build.
  • Honesty pages stay honest: when a gap closes, update formal.html the same day.
  • The journal gets an entry for every design change or discovery, including failures.
  • Every active AI work item records agent, repo, branch, base SHA, and expected files. One writer per branch/worktree; no shared build directories or force pushes.
  • Git mutations, PRs, releases, upstream submissions, external posts, and mainnet broadcasts are deliberate actions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions