from pathlib import Path
import json
from prose import prose
root=Path(__file__).resolve().parents[1]
j=json.loads((root/'journal.json').read_text())
lines=['# The three inverse spines: source differences, Flood junctions and preserved intervals','',f'September 29, 2026 UTC · C1585–C1634 continuation · {len(j)} completed and individually reassessed actions.','',
'This continuation addresses Dean’s9800/11270,7000 andRounded AD2166 observations as part of the larger Strategy: explain how the chronological families fit together. It reuses the established MT primary, LXX native Cainan-ON/full430 comparison and accepted SP Fall construction. The source row tables and primary inversions were already known; the contribution is their connected explanation through named paths.','',
'## Principal results','',
'1. The source-generated MT–LXX Flood910 is460+450. Equal Shem600 andNoah950 carry it through those boundaries; the Lamech−20 difference changes it to890=460+430 atCreation.','2. SP’sEber/Terah−120 source difference and3310→1330 reversal contraction1980 together explain the2100 MT–SP inverseFlood gap. The shared2700 stage change then gives2700−2100=600, explaining the5436 SP inverseFlood/MT Shem junction.','3. The complete cumulative restoration family isMT7000,LXX7910,SP4900. Each lower inverse leg gains the same3570=51×70 when completed and measured to536. Moving the LXX target toExodus1446 yields the matching7000.','4. MT7536→5436→4836→536 andLXX8446→6346→5746→1446 both carry7000=2100+600+4300. All four nodes translate by910.','5. The4900 family has three named placements: LXX6346→1446,MT/SP5436→536,MT4836→AD65. The successive forward translations are910 and600 civil years. The last row is the10-Jubilee suffix ofSP’s23-Jubilee path.','6. LXX13136→MT7536→SP5436→536 partitions12600 as5600+2100+4900. The authorized2700-forward shift preserves this whole path at10436→4836→2736→Rounded AD2166. Retaining Covenant1866 in the BC path additionally gives5600+2100+3570+1330, preserving11270,7000 and4900 as named subpaths.','',
'## Integrated explanatory text','',
(root/'prep/new_reader_sections.md').read_text(),
'## Complete fixed Flood-target comparison','',
'The following table contains all twelve primary Flood nodes, two stages for each of sixspines, against the three already-appointed targets. These36 comparisons are a bounded diagnostic table, not a random sample or significance estimate. Values toAD65 use civilB+A−1. All other displayed targets here areBC.','',
'| Family | Stage | Flood BC | To6 BC | To1406 BC | ToAD65 civil |','|---|---|---:|---:|---:|---:|']
t=json.loads((root/'model/fixed_Flood_target_table.json').read_text())
for row in t['nodes']:
s=row['spans'];lines.append(f"| {row['family']} | {row['stage']} | {row['Flood_BC']} | {s['6 BC']} | {s['1406 BC']} | {s['AD65 civil']} |")
lines+=['','Complete remainders modulo70 and490 are retained in the model JSON. Since1406BC→AD65=1470=3×490, the two Jubilee tests are one residue condition at two named targets. CompletedSP Regular is the exact native-family success. LXX Regular shares the70grid; MT Regular has residue10.','',
'## Source and inference controls','',
'File18 supplies the actual life rows; File51a independently rounds whole lifespans and supplies the1025-year Abraham–Moses suffix. A provisional1000-year suffix used in a preparation assertion was rejected: the actual rounded suffix is1025=2431−1406. This correction was made before the affected action was closed. The source-row differences910 and120 were unaffected.','',
'The three-manuscript 910/2100 differences, the source quantities and target coincidences remain visible in `model/dependency_ledger.json`. The rank3 description of six distances in the7000 packet is a conditional interval compression, not proof of global minimality. The complete inverse trees do not share a universal910 translation: changing theShem cut gives1900, and the primary cumulative Creation heads differ by−1090 because of the upper legs.','',
'The shared5436 coordinate retains both roles: ordinaryMT cumulativeShem andSP completed inversecumulativeFlood. MT also retains5436 in its Flood-plus-Shem inverse prefix; reversing the whole Conquest–Shem leg instead gives4446. No ordinary historical biography is substituted for a cumulative serial boundary.','',
'The600 translation toAD65 is civil. The separate2700 translation toRounded AD2166 usesFile52c’smod-5 coordinate convention. Deeper mirror analysis and a second decimal reversal remain deferred. Canonical source files and all preceding sealed records remain untouched.','',
'## Verification and reproducibility','',
'Run `python3 verify_cycle.py --require-50` from the extracted evidence packet. The independent verifier uses only the Python standard library. It reads frozen source rows, reconstructs the six source spines, uses numeric-division decimal reversal independently of the construction code, checks all model outputs and the journal’s predecessor chain, and verifies payload hashes. The grouped check count is an implementation audit, not a count of independent discoveries.','',
'The evidence includes the source-review notes, arithmetic review, full source bindings, original reader, dated Strategy reviews, model files and all50 sequential questions/results/reassessments. The stages include source synthesis, numerical analysis, integration and validation.','',
'## Sequential questions and reassessments','']
for rec in j:
lines += [f"### C{rec['step']} — {prose(rec['title'])}",'','**Question:** '+prose(rec['question']),'','**Result:** '+prose(rec['finding']),'','**Reassessment:** '+prose(rec['reassessment']),'']
lines += ['## Strongest unresolved question','',
'The new connections explain what follows from the selected source rows. The remaining source-generation question is why the post-Flood lifespan adjustments, their named positions and the pre-Flood choices take these values. The best next bounded study should address those shared source constraints through the existing row model, with a declared subset of inputs, rather than extend the mirror branch or search more endpoint divisibilities.','']
# Prose only: preserve mathematical displays and exact equations.
out=[]
math=False
for line in lines:
# Large integrated text is already edited prose.
if '\n' in line:out.append(line);continue
out.append(line if line.startswith(('\\','`')) else prose(line))
p=root/'deliverables/490d_C1585_C1634_Continuation_20260929.md'
p.write_text('\n'.join(out)+'\n')
print(json.dumps({'recorded_steps':len(j),'file':p.name,'bytes':p.stat().st_size}))
Evidence
Prose only: preserve mathematical displays and exact equations.
Linked sources and evidence
Edition and provenance
build_record.py
SHA-256 2753ce9de6feedce93479f8d4c5d45ba7342fca6aac8235b42554b79221ae277
C480–C1634/Research_Cycles/C1585_C1634/prep/build_record.py