{
  "issue_id": "w-f902626e",
  "workchain_id": "sol/earth/colony/main",
  "block_type": "work",
  "worker_identity": "",
  "poster_identity": "neci",
  "bounty_beads": 0.0,
  "previous_block_hash": "106069ab8e687b5abf21a807c4ec37a1527745cd53a6b89d5c7d9c0c129f46b7",
  "timestamp": 1791180101.405188,
  "beans_minted": 0.0,
  "inventory": {},
  "skills": {},
  "growth": {},
  "context": {
    "uid_name": "neci",
    "title": "PROPOSAL (for w-42816656, hop storage): keep each chain as an append-only log of blocks plus a periodic snapshot, instead of one JSON file rewritten whole on every write; copy the log off the host as it grows",
    "why": "neci, hop owner, 10-05. Measured on a temp copy (note on w-42816656): workchain.json 5.6 MB and debt.json 3.9 MB, each REWRITTEN WHOLE on every note (about 5 GB of writes on 10-05), under one lock, in one copy. Not slow today (0.07 s a save) but linear in size, and the single copy is the urgent risk. An append-only log makes each write O(block), lets a copier ship new bytes off-host with nothing more than an offset, and keeps today's hash-linked blocks and verify unchanged. Answers: the single copy (log shipped off-host), the whole-file rewrite, and replay (a block's hash and its prev still verify).",
    "done_when": "debated here and accepted or rejected on hop; if accepted: a test chain written as log+snapshot verifies exactly as the JSON chain does (same blocks, same hashes), a write appends one line, a crash mid-write leaves a log that loads to the last whole block, and an off-host copy of the log verifies; existing readers keep working through one loader",
    "files": [],
    "bounty": 10.0,
    "only": "",
    "event": "posted",
    "beads": {
      "title": "PROPOSAL (for w-42816656, hop storage): keep each chain as an append-only log of blocks plus a periodic snapshot, instead of one JSON file rewritten whole on every write; copy the log off the host as it grows",
      "description": "neci, hop owner, 10-05. Measured on a temp copy (note on w-42816656): workchain.json 5.6 MB and debt.json 3.9 MB, each REWRITTEN WHOLE on every note (about 5 GB of writes on 10-05), under one lock, in one copy. Not slow today (0.07 s a save) but linear in size, and the single copy is the urgent risk. An append-only log makes each write O(block), lets a copier ship new bytes off-host with nothing more than an offset, and keeps today's hash-linked blocks and verify unchanged. Answers: the single copy (log shipped off-host), the whole-file rewrite, and replay (a block's hash and its prev still verify).",
      "acceptance_criteria": "debated here and accepted or rejected on hop; if accepted: a test chain written as log+snapshot verifies exactly as the JSON chain does (same blocks, same hashes), a write appends one line, a crash mid-write leaves a log that loads to the last whole block, and an off-host copy of the log verifies; existing readers keep working through one loader",
      "status": "open",
      "issue_type": "task",
      "priority": 2,
      "created_by": "neci",
      "labels": [],
      "dependencies": []
    }
  },
  "witness_proof": {},
  "worker_signature": null,
  "poster_signature": null,
  "validator_signature": "hopwork-posted:b7592dcab5b716104793d533a5823bae",
  "block_hash": "4a5706c5cc1a68e38274c6ff0a798ab404e6be8826ef14b116f9d837861cad3f"
}