{
 "type": "hermaion-manifest",
 "version": "1.0.0",
 "claim": "Temporal coordinates, witnessed and anchored. One tick of the other clock, captured, classified, numbered. A fix.",
 "price_sats": 1500,
 "price_note": "Series 1 sealed at 21 sats — Charon's obol, the 21M cap, MacDougall's 1907 soul-weight. Series 2 occupies at 1500.",
 "series2_derivation": {
  "seed": "sha256(ASCII(preimage_hex + block_hash_hex)), both lowercase, no separator (as in v1)",
  "lines": "the seed's first six hex digits, one per line bottom-first, by the yarrow proportions: 0->6 old-yin, 1-5->7 young-yang, 6-C->8 young-yin, D-F->9 old-yang (1/16, 5/16, 7/16, 3/16)",
  "hexagram": "yin/yang pattern -> King Wen number (Unicode U+4DC0.. follows King Wen order)",
  "fragment": "seed hex digits 7-14 as a 32-bit uint, mod corpus_count -> corpus.json index",
  "maneki": "seed hex digits 15-16 == 0x15 -> maneki appears (p = 1/256)",
  "rarity": "leading zero bits of sha256(seed) -- unchanged from v1",
  "retrograde": "block_time(H) < block_time(H-1) -- unchanged from v1"
 },
 "series4_derivation": {
  "fragment": "bits[18:50) are drawn exactly as in series 2/3, but the resulting index is discarded -- no corpus entry is resolved. The print carries the series; no fragment appears in the artifact, card, or verify output from series 4 on."
 },
 "endpoint": "/cast",
 "derivation": {
  "preimage": "32 bytes, hex lowercase",
  "payment_hash": "sha256(preimage_bytes)",
  "resolve_height": "chain tip at first redemption + 1 (the resolving block does not exist yet)",
  "seal": "at one confirmation depth (tip >= resolve_height + 1)",
  "seed": "sha256(ASCII(preimage_hex + block_hash_hex)), both lowercase, no separator",
  "bitstream": "MSB-first over seed bytes",
  "lines": "bits[0:18), 3 bits/line, six lines bottom-first; 0->6 old-yin, 1-3->7 young-yang, 4-6->8 young-yin, 7->9 old-yang (three-coin odds 1/8,3/8,3/8,1/8)",
  "hexagram": "yin/yang pattern -> King Wen number (Unicode U+4DC0.. follows King Wen order)",
  "fragment": "bits[18:50) as uint32 mod corpus_count -> corpus.json index",
  "visitation": "bits[50:58) == 0x15 (21) -> maneki appears; p = 1/256",
  "rarity": "leading zero bits of sha256(seed); p = 2^-k, nobody can mint scarcity",
  "retrograde": "block_time(H) < block_time(H-1): genuine temporal disorder in the record"
 },
 "trust_notes": [
  "The mint's node generated every preimage and retains copies (as every mint knows its serials).",
  "Uniqueness lives in the coordinate, not the secret: one payment, one block, once.",
  "Lightning settles off-chain; proof-of-after comes from the seed's block hash, proof-of-before from periodic catalogue anchors (merkle root, OpenTimestamps).",
  "The digital hermaion is non-transferable by nature: you cannot sell having-been-there."
 ],
 "series": [
  {
   "id": 1,
   "open_height": 957128,
   "close_height": 957600
  },
  {
   "id": 2,
   "open_height": 957600,
   "close_height": 962183
  },
  {
   "id": 3,
   "open_height": 962183,
   "close_height": 966405
  },
  {
   "id": 4,
   "open_height": 966405,
   "close_height": 970790
  }
 ],
 "series_rules": {
  "3": {
   "status": "closed",
   "open_height": 962183,
   "close_height": 966405,
   "close_rule": "block height fixed in advance from the mean-synodic new-moon clock in sealstring.py (EPOCH_NEW_MOON 947182440)",
   "closed_at": "2026-09-10T21:16:39Z",
   "note": "The astronomical new moon (PyEphem 4.2.1) was 2026-09-11T03:26:55Z, 6h10m after the close block. The height stands: a series closes by the rule it was opened under."
  },
  "4": {
   "status": "closed",
   "open_height": 966405,
   "mint_reopens_at_height": 967740,
   "close_rule": "the lowest block height whose header timestamp is at or after the astronomical new-moon instant published at opening; that block is the boundary and belongs to the next series (bounds are half-open)",
   "instant": 1791647401,
   "ephemeris": "PyEphem 4.2.1 (ephem.next_new_moon), computed 2026-09-19",
   "close_height": 970790,
   "opened_at": "2026-09-19T13:44:15Z",
   "instant_utc": "2026-10-10T15:50:01Z",
   "provisional_close_height": 972453,
   "note": "The series closes by time, not by a height fixed in advance. The ledger carries a provisional upper bound of 972453 until the close block is seen; the watcher records the real height.",
   "mint_cutoff_instant": 1791640201,
   "mint_cutoff_utc": "2026-10-10T13:50:01Z",
   "mint_cutoff_rule": "no new hermaion is started from the lowest block height whose header timestamp is at or after the cutoff instant, two hours before the new-moon instant; a hermaion registered before the cutoff can still be sealed by its holder, before or after the close",
   "mint_cutoff_note": "Added 2026-10-08, after the series opened. A hermaion is sealed to the block after the one it is started in, so one started in the last minutes before the close would be sealed to the close block or later, outside the series. The cutoff keeps every Series 4 fix inside it.",
   "close_header_time": 1791648227,
   "closed_at": "2026-10-10T16:03:55Z"
  }
 },
 "corpus": {
  "hash": "a6cb576b328727debca2c3c7a02a5ddd3987a7faf7082c1a38aba158576bfbe4",
  "count": 56,
  "strata": {
   "fort": 27,
   "heraclitus": 16,
   "dissipation": 8,
   "hermetica": 1,
   "charon": 2,
   "roads": 2
  },
  "license": "public domain (pre-1930 sources)"
 },
 "generator": {
  "file": "cast_service.py",
  "hash": "addb025403222ee61920df82471a83b763cde610ce3009a90d2f78fe2d549c88",
  "cast_v2.py": "91079f3da660d2e885ad966edb60a73ab27859f60ed6dd303a7746bab2d74d4d",
  "commitment": "hashes published before series opens; code published after it closes"
 },
 "verify": "verify_fix.py <artifact.json> <preimage_hex> re-derives everything offline."
}