This file is for AI agents (Astra, Claude, or any other) contributing to this
project. Humans should read REPO_LAYOUT.md and RESEARCH_MAP.md instead.
Read this file before your first commit. It encodes failure modes that have already cost this project real work.
Before extending the work on each user turn, review the repository and all
recorded conclusions, not just the active lane. Refresh the current remote
state, read the full conclusion register (research-map.json), current
README/checkpoints, NEXT_STEPS.md, evidence/MISSING.md, and the relevant
current audit findings. Check every registered conclusion’s scope,
hypotheses, evidence status and relation to the proposed next step. Review
changes since the last checked commit and trace any affected dependency
before relying on it. Do the same after resuming from a compacted handoff.
Record the reviewed commit and any findings in the turn’s working record. Separate a conclusions/dependency review from a new proof audit or numerical replay; never claim all historical proofs or computations were revalidated unless they actually were. Known missing originals remain open even when a replacement certificate or the publication text is available. Correct stale summaries before building further conclusions on them. Preserve earlier reviews and documents; record corrections forward.
Before pursuing a proposed variation, identify the closest existing result and compare its hypotheses and conclusion with the proposal. State the new arithmetic estimate being attempted, if any. A new coefficient class, explicit constant, normalization or equivalent formula may be useful, but must not be reported as progress on an unchanged cofinal input. Check for scale invariance before proposing a norm/trace normalization when the step size is free. Record overlap audits as audits; do not add a theorem node or manuscript version merely to count them as mathematical advances.
On every RH research turn, after the mandatory review and before extending the research, include a short user-facing Wall check. Repeat its final classification in the final update. Use one of these three labels:
Use the compact form: Wall check: [label]. Closest result: [NS/PR]. What changes: [specific input/hypothesis, or explicitly nothing]. Say what success or failure would change when proposing a substantive new test. If the assessment changes during the work, say so. Record the same fields in the turn’s working record. An unproved input is not a proved wall; an audit, sharper restatement or finite replay is not a newly established cofinal estimate. Apply this check to route assessments and proposed next steps as well as calculations. Do not suppress it because the user only says “continue”.
The wall check must run before work starts and before a research row is
claimed. NS99 indexed 14 continuation groups and annotated 63 of 104
registered nodes; it did not turn existing proved conclusions into open
assumptions. Use PROPOSAL_TEMPLATE.md to prevent repeated unestimated inputs:
RESEARCH_MAP.md, or DISTINCT with
the closest node named. A frozen group needs a specific new input that
satisfies its stated thaw condition; a new formula or larger table is
insufficient.controls/davenport_heilbronn.py or controls/example_screen.py with
the actual candidate, plus applicable NS100/101 controls, before proof,
certification or a wider scan. Record hypotheses, quantifiers, domain,
precision and observations. Merely running the unchanged example does
not screen a different proposal. Mark a control not-applicable with a
concrete hypothesis mismatch; do not silently skip it.
A sampled pass or failure is diagnostic, not a theorem. A full-scope
control satisfying all premises but violating the proposed conclusion
excludes only that stated implication. If the full candidate condition
holds on such an analogue, it cannot by itself force critical-line zeros.
Stop that inference or explicitly add a hypothesis; do not claim RH or
impossibility from finite samples.A row claimed without a filled PR template is reverted to open. Audits
and process changes are exempt; research tasks are not.
The row-claim exemption is not an exemption from choosing a useful test. Before computing a new candidate, including a pre-claim admission audit:
Audits of an existing proof, recovery of evidence and explanation diagnostics remain valid tasks with their own explicit question and scope. They need not promise an RH implication, but must be labelled validation or interpretation, not a new route. Do not pad a simple rejected sign screen with certification, larger tables or a manuscript version. Apply the filled proposal gate before claiming any actual research row, as before.
A research record for an attempt on the Riemann Hypothesis via Weil positivity on semilocal Weil forms, following Burnol’s Sonine spaces.
RH is not proved. G2 is not proved. Nothing here claims otherwise.
The complete semilocal Weil form at window lambda=4 is nonnegative in both parity sectors. Version 1.40 additionally certifies its simple even ground and, by Connes–van Suijlekom Theorem 6.1, real zeros of the ground’s entire Fourier transform. These are fixed-window results; convergence to Riemann’s Xi remains unproved. Roughly ten scoped no-go results also close proposed routes. Treat a proved closure as a contribution, not a setback.
Version 1.41 certifies eight local CCM transform-zero discrepancies at the existing lambda=3, N=120 finite compression, with 768/1024-bit replay. The earlier NS-14 sinc-lattice conclusion is withdrawn (missing centering phase); the broader CCM reproduction remains a diagnostic. The numerical zero benchmark cannot test a common positive matrix scale or identity shift. Version 1.42 adds a unique simple complete-ground local zero at lambda=4 within 0.1 of gamma_1, using an even-sector separator 1e-67 and energy projection bounds. This is not the global spectral gap, a zero enumeration, a discrepancy sign, or a high-accuracy CCM transfer. Cofinal convergence, G2 and RH remain open; NS-1 retains two OPEN evidence groups.
Version 1.43 closes NS-19: the first positive complete-ground zero is simple and satisfies abs(z_1(4)-gamma_1)<8.752082e-33<9e-33, at 1024/1280 bits. The limiting direct budget is C_ell*rho. A hypothetical lower-ground energy estimate would need rho-l <= about 3.2032e-153 to make its separate trial-transfer uncertainty 1e-71; this input is absent, and the frozen trial is not centered to that scale. The finite N=120 discrepancy ~+2.92504e-71 is not a complete-ground value. The resolution limitation is scoped to the displayed bounds, not every argument using the archive. G2 and RH stay open.
Version 1.44 translates weighted concentration to the level pencil (NS-24). For source-admissible directions, the minorant loss divided by q+ must be at most nu_k + eta_a ||v_k||^2/q+. Raw diagnostic vectors are not assumed source-orthogonal; mixtures need the full restricted matrix inequality. The local demand is finite-window, but the live complete-space criterion remains cofinal; uniformly bounded errors suffice under v1.36’s hypotheses. No diagnostic threshold is certified and no concentration no-go follows. No new numerical run, tail metric or enclosure refinement. G2/RH stay open.
Version 1.46 records NS-26’s unconditional explicit formula for beta_a, with strict integer endpoint, trivial zeros, Perron remainder and varying lattice envelopes. The Gaussian/desmoothed numerical illustration checks 40 low and 14 deep/centroid samples; zero-prefix counts are convention- specific, not sharp-sum certificates. NS-27 proves packet bounds with positive spill and source projection, and a conditional linear distinct- level obstruction. Uniform arithmetic level mass and bounded packet energy are still missing; D_a->infinity alone does not close that gap. The route stays blocked, not closed. No new window/tail metric. G2/RH remain open.
Version 1.51 records NS-39’s exact corrected-zero-field potential and comparison of ZLD, QG and CAE. ZLD implies only QG’s growth clause on the same prescribed family; packet feasibility is independent. CAE is exactly the uniform complement floor in positive-weight coordinates, not a new estimate. General level-measure countermodels do not prove arithmetic independence. NS-38 explicitly discloses both unarchived evidence groups; recovery remains open, while the five v1.35 scientific originals are present and hash-matched. NS-41/42 are separate diagnostics, not bounds. G2 and RH remain open.
Version 1.52 adds fresh 320/448-bit certificates for the existing lambda=5 stipulated 1e-8D tail comparison and N=25 dyadic norm comparison. Both comparisons fail in both parities; the tail witness Weil energies are positive. Historical original recovery remains OPEN. NS-43 extends scoped prime-channel-loss closures, proves exact adaptive concentration equivalent to the complement-floor target, and specifies complete CCM relative-selection and entire-transform inputs. Abstract nonselection is not arithmetic nonselection. Only scoped comparison/inference nodes close; CCM step (b) remains sole gold, circle open. No new window, tail metric, G2 or RH claim.
Version 1.53 (NS-46 with Astra-2) uses closely spaced radical translates in a fixed interval. A finite Gram interpolation bound and complete cutoff residual give rank ~lambda²/(20000 log lambda), residual at most C exp(-lambda²/2000), and exact parity counts. A uniform or polynomial positive gap after removing o(lambda²/log lambda) directions is excluded. Constants and the starting threshold are analytic, not finite numerical certificates. The complete complementary signed floor remains open; gap-free transfer was already in v1.18/v1.36. No new window, tail metric, G2 or RH claim.
Version 1.54 (NS-51–53) gives the complete form-domain affine screw-potential criterion for nullvectors, with a countermodel to a generic H0^1 bootstrap. API (arithmetic affine-potential injectivity) remains open. Symmetry-paired heat-zero transport removes internal inverse-gap singularities but retains external-cluster terms; uniform same-test comparison fails conditionally on an unmatched real deformed zero, not verified here. Exact Nyman–Beurling block gains retain the Schur complement and admit a trace lower bound; the RBC asymptotic arithmetic estimate remains open. Any proven NB convergence rate would suffice. No new window, tail metric, uniform floor, G2 or RH claim.
Version 1.55 (NS-55) proves local-patch UCP false for the actual prime-shift operator, including both parities and finite source constraints. The witnesses are not full-window nullvectors. Its full real-space semigroup fails ordinary pointwise positivity preservation; this is not negative diagonal Weil energy. A prime-free exterior observation cell yields scoped uniqueness, but a first-zero nullvector reaches both window endpoints. Finite dilation retains unestimated signed prime/pole changes. API, the uniform floor, G2 and RH remain open. No new window or tail metric.
Version 1.56 (NS-57) adds finite prime-weight controls: every nonzero finite coefficient change creates negative compact tests in both parities and finite first-zero windows. The original arithmetic near-radical identity is lost. Fixed-pattern lambda_* = O(sqrt(log(1/epsilon))) is an analytic upper bound, not a numerical threshold. Bounded perturbations preserve the uniform-floor objective; exact scalar compensation and a conditional spectral limit follow from v1.36. These are controls and implications, not a new arithmetic sign estimate. API, the original floor, G2 and RH remain open.
Version 1.57 (NS-58) derives the full translated-radical exterior pairing on the complete form domain. Its homogeneous vanishing is exactly equivalent to the original nullvector equation, not an independent sign estimate. Finite prime-weight changes produce an explicit, necessarily nonzero forcing profile for nonzero tests. Its compactness rules out a uniform inverse bound on the entire fixed-window parity space, not on a particular finite kernel. NS-58 stops at its stated condition; API, the uniform floor, G2 and RH remain open.
Version 1.58 (NS-59) supplies an adjacent-dilation difference budget and a complete Mellin multiplier identity for its raw Gram. Classical Weyl bounds imply raw operator norm O_epsilon(N^(-5/3+epsilon)). Near-N^(-2) power control is equivalent to Lindelof; every fixed logarithmic N^(-2) raw norm bound is false. These are raw, all-coefficient claims, not obstructions to the projected Gram or actual residual direction. Arb 256/384-bit checks show finite raw-trace loss and transformed-numerator cost. No asymptotic lower correlation bound is supplied. NB convergence, G2 and RH remain open.
Version 1.59 local draft (NS-60–66) retains the full Euler-grid correction and proves its scoped logarithmic-norm obstruction for Q_N <= N^alpha, alpha < 1. Fixed Mellin smoothing preserves the RH criterion and gives a positive average identity and raw trace <= 3kappa/(8N^2). No lower bound for the actual optimized correlations follows. The canonical sharp Mobius interpolant fails along the full integer sequence after any number of integrations; selected subsequences and optimal coefficients are not excluded. Nonnegative difference coefficients cannot approximate the smoothed target; NS-64 supplies an explicit dual separator and a certified full-space cone-distance lower bound > 0.00228323. This is not a lower bound for signed approximation. Increasing the smoothing order can make one-atom relative error vanish while absolute error diverges. This is a changing-norm control, not RH evidence. Finite Arb checks and exact Maxima checks are in v159. A fixed number of ordinary Cesaro averages still fails for the canonical sequence. Its fixed-order smoothed norm-growth exponent is exactly beta_star-1/2 (NS-66); no unconditional subpolynomial bound or bounded cofinal subsequence is obtained. This reopens a weaker growth target, not the false strong-convergence goal. No new Weil window, floor, G2 or RH proof. Published through PR #32.
Version 1.60 (NS-67–71) gives complete canonical cells and an O(log N) tail beyond N^2, retaining the exact growth criterion. Centered complete Abel terms have conditioning at most 1+2*||sigma_1||<4.617; whole-term cancellation cannot change the power exponent. Positive renewal transfers the same forcing power; its critical weighted total energy is unconditionally infinite, not the canonical norm itself. The actual optimized endpoint remainder exceeds its model at N=64,128. Repairing the elementary Gram cusp subtracts d/max(u,v), exactly diagonal in adjacent differences; no uniform all-coefficient comparison survives zeta zeros and large values. The repaired kernel still selects efficient finite directions: at N=256, 97.06% of full gain, versus 38.41% for the unmodified correlation direction. The selected numerator and true-energy ratios have no cofinal estimate. Complete Arb 256/384 and cutoff replays, exact Maxima checks, local self-review only. No new Weil window, floor, G2 or RH proof.
Version 1.61 (NS-72–74) identifies the complete positive local differential energy of the repaired model and a size-independent comparison with discrete curvature. Direction selection is linear in N after the actual correlations are supplied; computing those correlations is separate. The diagonal rule retains 97.63% of full gain at N=256, versus 83.66% for the optimized span of three prescribed Mobius/log-taper templates. All finite energies use the complete arithmetic Gram. A unitary altered family preserves every Gram entry and permits arbitrarily close finite statistics while having a known positive floor. This is not an error floor for the original family. Cofinal arithmetic control, the original Weil floor, G2 and RH remain open. Two precisions, cutoff replay, exact Maxima checks and local self-review only.
Version 1.62 (NS-75–77) records exact next-block divisor-jump cancellation but certifies failure of its held-old unit step on all five tested blocks. Its optimized three-direction span captures 56.02% of full gain at N=256, versus 97.63% for curvature. The continuous q=2 distance is expressed through B(1), B’(1), B’‘(1); the continuous closure strictly contains the integer closure. A complete positive zero-tail budget and published finite-height verification imply continuous squared distance below 2.08e-32. This does not upper-bound integer error, prove zero distance, or verify a new zero height. External literature inputs are explicit. Two-precision finite replays, doubled cutoff for NS75, exact Maxima checks and local self-review only. Cofinal arithmetic control, the original Weil floor, G2 and RH stay open.
Version 1.63 (NS-78–80) proves S/16 <= ||R||^2 <= 21 S/16 for the complete arithmetic reciprocal-sample functional, including the exterior tail and all cells. Exact inversion keeps the infinite divisor compatibility constraints; fixed-index coefficient convergence is not convergence of sharp Mobius truncations. Full physical-cell/tail integration independently confirms finite Gram norms. Tail-balanced feedback and its endpoint-augmented span retain only 59.97% and 71.18% of gain at N=256. The full arithmetic sampling Gram yields a uniform projected condition ratio <=21, one-step capture >=21/121, and twenty-step capture >97.79%. This assumes the complete comparator inverse; no fast implementation, smooth-model comparison, or cofinal relative contraction follows. Complete Arb replays, exact Maxima checks and local self-review only. The original Weil floor, G2/RH stay open.
Version 1.64 (NS-81) uses finite reciprocal samples to bound coefficient norm and proves ordinary integer Gram condition O(N^4 log^2(2N)). This is not a signed Weil floor or an approximation-error estimate. A complete sample-tail operator bound makes the arithmetic comparator finite at M=2^16(N+1)^6, with projected condition ratio <=42. Use total atom count 2N for an N-to-2N block. The sufficient cutoff exceeds 10^21 for old size 256; no such matrix was assembled and no practical solver is claimed. Small-prefix inverse-trace and scalar tail certificates replay at 256/384 bits, with exact Maxima checks and local self-review. The original cofinal arithmetic decay, Weil floor, G2 and RH remain open.
Version 1.65 (NS-82) retains the logarithmic physical tail as an exact rank-two form and bounds its complete Bernoulli remainder. This different comparator has sufficient cutoff O(N^(7/3) log^(1/3)(2N)), projected condition <=9, and ten ideal steps capture >98.84% of available block gain. Total atom count 512 needs cutoff 8435244. Only scalar cutoff certificates were evaluated; no millions-cell comparator or descent iteration was run. Two precisions, exact Maxima checks and local self-review only. No practical solver, cofinal decay, original Weil floor, G2 or RH claim.
Version 1.66 (NS-83) adapts Burnol’s critical-zero dual vectors to every fixed Hardy smoothing order q. The lower liminf constant is the sum of m(rho)^2/|rho|^(2q) over critical zeros. At q=2 a certified ten-pair subset exceeds 0.000072332433; no finite-size onset is supplied. Fixed-fraction contraction of the entire error at every sufficiently large doubling is impossible; cumulative relative gains are <=log K+O(1) through doubling K. This is not a pointwise 1/j bound, not a restriction on capture of available gain, and not a decay upper bound. Two-precision constants, exact Maxima checks and local self-review; cofinal signed arithmetic decay, the original Weil floor, G2 and RH stay open.
Every statement must be filed as exactly one of:
| Category | Standard |
|---|---|
| exact identity | algebraic, checkable |
| proved implication | hypotheses stated explicitly, in full |
| numerical illustration | not proof evidence; label it so |
| certified computation | interval/ball arithmetic, replayed at two precisions |
| open input | named, with what is missing |
Specific rules:
prop:v126-direction-complement
for the correct pattern.3.1 Finite windows do not accumulate. prop:v121-cofinal-rh: RH follows
from a cofinal family with error tending to zero. No finite list of
certified windows — however long — contributes anything. Computing lambda=5,
then 6, then 8 is not progress toward G2 unless it tests a stated prediction.
3.2 The target is now weaker than “decay”. prop:v136-bounded-floor: a
uniform finite floor q_a >= -C_* ||f||^2 with C_* independent of a
already suffices. You do not need to prove the error vanishes. Check whether
your estimate meets this weaker bar before abandoning it.
3.3 Windows cost exponentially. prop:v125-cutoff-cost proves the remote
cutoff satisfies N+1 > L exp(M_phi/(1-c)) with M_phi/lambda -> 1:
lambda 4 5 6 8 12 16
cutoff N 283 1502 7488 124442 ~2.6e7 ~5e9
Do not attempt lambda >= 8 without a specific reason. The method’s ceiling is near lambda = 10-12.
3.4 “Margin” names two different quantities. They are not comparable.
certificate margin 1 - lambda_max(U, K) does the gate pass
resolution margin m(M1,M2) = min (x*S_M2 x)/(x*S_M1 x) energy lost between cuts
Resolution margins at different lambda cannot be ordered — they belong to different operators. Always state which you mean.
3.5 Match the control’s actual hypotheses. Davenport-Heilbronn
(Titchmarsh 10.25) has an even completed function, a real even theta-type
kernel with double-exponential decay, and off-line zeros. The control uses
an odd-character conductor-5 completion and weight-3/2 theta relation;
these are not Riemann’s original gamma factor, coefficients or every
modular identity. It refutes a generic positivity implication only when
all the proposed hypotheses transfer. Show precisely where original
arithmetic or theta data absent from the applicable controls enter.
The controls/ computations are diagnostics, not certificates of universal
claims. The v1.39 probe-relaxation theorem is a separate, explicitly scoped
density obstruction; it is not a universal arithmetic-blindness theorem.
Z = T.solve(B).mid() discards error bounds; against cond(T) ~ 1e170 the
result is noise. This has produced numbers wrong by 67 orders of magnitude
at 768 bits that looked entirely plausible and threw no error.See REPO_LAYOUT.md for the full scheme. The short version:
manuscript/ one live .tex; build with ./manuscript/build.sh
evidence/vNNN ONLY what that version adds -- never cumulative
manifest/ sha256 per version
audits/ adversarial passes
log/ research log, revision notes
tools/ make_manifest.py, verify_manifest.py, make_map.py
controls/ known-false analogues for screening proposals (diagnostic)
PROPOSAL_TEMPLATE.md fill in before claiming a research task row
Do not build cumulative bundles. Re-bundling every prior artifact into each release produced a 207 MB ZIP that failed to upload (HTTP 502) and left the complete lambda=4 positivity result unreproducible. Git stores history; use it. No file over 100 MB — GitHub rejects it.
If you cite an artifact, commit it. If you cannot, add a row to
evidence/MISSING.md. Never let the manuscript imply an artifact is archived
when it is not. This is currently an open audit finding (MAJOR M1).
Before starting any task, claim it in NEXT_STEPS.md — write your name
in the owner column in its own small commit, then work. Two agents push
here concurrently; an unclaimed task gets done twice. Add a row for anything
not listed; never delete rows; record the version that finished a task.
Diagnostics that are not certificates go in evidence/diag_<topic>/ with
a results.md whose first line says so. They may use midpoint eigenvalues,
float scans or uncertified solves — but only under that label, never under
evidence/vNNN/, and never cited as a bound.
After adding evidence:
python3 tools/make_manifest.py vNNN
python3 tools/verify_manifest.py vNNN
After changing the research map, regenerate it:
python3 tools/make_map.py # updates RESEARCH_MAP.md
main live manuscript and committed evidence
lane/<topic> a long-running research direction
result/<label> one numbered result plus its evidence
closed/<route> a route proved closed -- keep it, never delete
audit/<date>-v<version> an audit pass
Nest as main <- lane/<topic> <- result/<label>. Name result/ branches
after the manuscript label (result/v137-scalar-no-go) so the branch and the
proposition are searchable together. Tag one v1.NN per manuscript version.
Several agents push here concurrently. Use a worktree per lane rather than
switching branches in place — a mid-run branch switch corrupts long interval
computations. Sub-agents and scripts must never run git checkout in the
shared checkout ~/riemann (on 2026-09-21 one did, and a coordinator’s
commit landed on the wrong branch); create a worktree first:
git worktree add ../riemann-worktrees/<name> lane/<topic>
The repository is public: github.com/AlexanderEastwood/riemann.
Anything you push is visible immediately and permanently.
Alex explicitly authorized publishing findings after every completed test, including failed admission screens and audits, and requested publication of the September 29 findings. This is standing authorization to prepare, push and merge the corresponding RH findings PR after the checks below; do not request fresh push approval for each such test. Publish the actual evidence, scope limits and stop/continuation decision, with board/map links. Preserve original records and correct descriptions forward. The proposal gate still applies to new research; this authorization does not thaw a frozen group or permit a manuscript version for failure-only work. Do not start another test while leaving a completed test unpublished, unless a concrete publication blocker is recorded and reported.
Push access belongs to the AlexanderEastwood account. Other accounts on
this machine have read access only and will fail with 403:
gh auth status # which accounts exist
gh auth switch --hostname github.com --user AlexanderEastwood
git push origin <branch>
gh auth switch --hostname github.com --user <previous> # switch back
Set the commit identity per repository, never globally — a work email on a public personal repo is a leak:
git config user.name "Alex Eastwood"
git config user.email "30302255+AlexanderEastwood@users.noreply.github.com"
Never put a token in a remote URL. Use gh or a credential helper.
./manuscript/build.sh # must build before you push
python3 tools/verify_manifest.py vNNN # artifacts must verify
git fetch origin && git rebase origin/main # others push here concurrently
git push origin main
git tag v1.NN && git push origin v1.NN # one tag per manuscript version
main. It is public and other agents branch from it.
If you need to discard something, revert it.closed/ branch or a version tag.main underneath someone
else’s in-flight work.There is no coordinator. The agent that opened a PR merges it, without waiting for anyone, once all of the following hold:
origin/main and merges cleanly../manuscript/build.sh passes on the merged state with the page count
and a zero undefined/duplicate-reference count recorded in the PR body.python3 tools/verify_manifest.py vNNN passes for any version the PR
adds, and the incremental evidence/vNNN/ rule of section 5 is met.git tag v1.NN && git push origin v1.NN, one tag per version,
and version numbers are taken in order of merge, not of claim.Use the merge button or gh pr merge <n> --merge; never squash or
rebase-merge, so the branch history stays reachable. Audit PRs and
diagnostic PRs follow the same rule. A PR that the author withdraws is
closed with a comment saying why and its version number is retired.
Observed in this project. Check here before debugging from scratch.
| Symptom | Cause | Fix |
|---|---|---|
Permission to ...denied / 403 on push |
wrong gh account active |
gh auth switch to AlexanderEastwood |
| Push rejected, file too large | a cumulative bundle was committed | commit artifacts unpacked and incremental; gitignore the archive |
HTTP 502 uploading a release bundle |
bundle grew past what the endpoint accepts | stop bundling; use evidence/vNNN/ |
fatal: 'origin' does not appear to be a repository |
fresh git init dropped the remote |
git remote add origin <url> |
| Manuscript claim has no artifact behind it | evidence generated but never committed | commit it, or add a row to evidence/MISSING.md |
| Value changes by tens of orders of magnitude between 768 and 2048 bits | uncertified midpoint solve at high condition number | certified interval solve; replay at two precisions |
singular matrix in solve() |
precision too low for cond(T), or head too small so the deep block sits in the tail |
raise precision; scale the head as N ~ lambda^2 |
| Finite-section result moves across cutoffs | expected — a different cutoff is a different finite problem | not an error; do not report it as one |
| Two “margins” disagree across versions | certificate margin vs resolution margin | state which; they are not comparable |
Manifest verification reports RELOCATED |
manifest predates a reorganization | expected; regenerate with make_manifest.py |
Manifest reports MISMATCH on a file you edited |
the manifest is stale | regenerate for that version |
| Gate passes but the conclusion does not follow | positivity combined across subspaces without the cross term | use the prop:v126-direction-complement pattern |
| A new version records only a failure | normal and correct here | publish it; do not pad it |
When you are given an experiment, run that experiment. If you substitute a cheaper diagnostic, say so explicitly and in the first sentence. Reporting a different quantity as though it answered the question has happened more than once and cost a full cycle each time.
When something fails, report:
“Source validation passed” is not a build. Run ./manuscript/build.sh and
report the page count and the undefined-reference count.
Do not produce a new version number to show motion.
Version-bump policy (Alex, 2026-09-23). No manuscript version for
failure-only work. Failed attempts, equivalent reformulations, controls and
audits go in evidence/nsNNN/ or audits/, with an appropriate board/map
record and no version. Rejected pre-claim screens need no research row.
There is no weekly exception. A new substantive bound, a precisely scoped
proved closure, a correction to a mathematical result or a genuinely new
certified computation can justify a version after review; a failed screen
alone cannot. Historical v1.58–v1.66 contain positive results and certificates
as well as failures; do not relabel them as nine failure-only releases.