Skip to content

foundation, stage-contract, index: the foundation and thin chain as one page, replacing runs, products, checks and releases - #88

Merged
rusholme merged 1 commit into
mainfrom
foundation/specification
Oct 21, 2026
Merged

rusholme merged 1 commit into
mainfrom
foundation/specification

Conversation

@rusholme

@rusholme rusholme commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

What and why

Task 7 of the overnight run foundation-m1to4-2026-10-21: Parts 1 and 2 of the foundation plan (v5, 2026-10-20) become one page, system/foundation.md, written as a specification in the site's voice, now that milestone 3's procedure proof passed (thirteen PASS lines, Caltech-IPAC/rapid#283). It replaces runs.md, products.md, checks.md and releases.md. Not merged: merge is Ben's.

It documents what these PRs on rebuild built:

  • milestone 0: db, tests, ci: the foundation schema in one file, proved on every push (foundation m0) rapid#275 (the schema), #276 (publisher, change, undo), #277 (the synthetic proof), #278 (the five verbs; the run model retired);
  • milestone 1: #279 (job local, job run, the run(job) contract, the import stage);
  • milestone 2: #280 (associate, matched in memory), #281 (packet at schema 00.06), #282 (the reader and database/queries.sql);
  • milestone 3: #283 (the thirteen-step proof on the thin field);
  • milestone 4 prepared: #284 (s3:// prefixes, job submit), which the verbs table and the stage contract include.

Files

  • New: system/foundation.md: the six statements (runs, jobs, published rows naming their job with the scientific-key table, inputs recorded at launch, official bindings and change groups, publish-last), the decisions with their reasons, what is given up, the verbs, the thin chain's table with import, associate, packet and the reader, the thin run's settings, the eight queries and the twelve spatial and status shapes, the procedure proof, and "Not decided here".
  • Deleted: system/runs.md, system/products.md, system/checks.md, system/releases.md.
  • Rewritten: system/stage-contract.md (a stage is run(job: JobContext); settings from the run's body; PR 276's manifest; run_job behind job local, job run and job submit; the exit codes of the job verbs; the four stages still on the older --run/--unit/--attempt contract, and what their port adds); system/photometry.md (forced photometry is now inside packet; dev's standalone script stays unported).
  • system/index.md: the four rows and toctree entries removed, a foundation.md row added, the stage-contract.md and photometry.md scope cells updated.
  • system/decisions.md: one ruling, decision-foundation-dev-prior-art (Ben, 2026-10-20: coexistence with dev's schema and the minimise-differences port principle revoked), which the new page cites.
  • Inbound links: all 84 links to the four pages across 17 files now point at foundation; a link whose text was the old page's name now reads "foundation". Four sentences in operations.md that cited sections of the retired pages by name ("Identity", "Rules", "a run never spans a release") now say they were on the retired pages, and the specification's sequencing table loses its duplicate link.
  • A one-paragraph note under the status line of every page that still describes the run model: the seven retired stages (alerts, crossmatch, statistics, prune, maintain, load, export), the three on the older contract (reference, difference, finalize), and specification, tool, loop, observability. Each says the foundation page governs where they differ.
  • AGENTS.md: the system-section map names foundation.md and stage-contract.md as the model pages and drops the four.

Divergences, with the reason

  • The milestone 1 to 3 run behind these pages used a local PostgreSQL 18 container and file:// prefixes on rapid-rusholme, not the SMDC database and buckets: the host's instance role cannot read or write the SMDC buckets or read the migrator secret (IAM simulated 2026-10-20 23:21), so the SMDC step is an attended one (the launcher's decision for the run). The page states the design, not the venue.
  • Where the plan and the merged code differ, the page follows the code: exposures carries no field (#279); the sums are offsets from the founding position (#280); the third cutout is cutoutReference and the deferred matches are null, not empty (#281); the twelve spatial shapes as #282 lists them.
  • The page leaves out the plan's agent and lineage material (who drafted what, critic passes, Ben's credential and spend rulings, milestone numbering beyond the proof): it is the plan's history, not the system's.
  • The other pages are pointed, not rewritten. The brief asks for the four pages replaced and every inbound link fixed. Mechanically relinked sentences on the run-model pages (for example "the foundation page defines the release command") would read as false, so each such page carries the note above instead of a rewrite that would exceed this PR. Their rewrite or retirement is the next documentation PR.
  • log/2026-09-26-direction-review.md: two links to products.md now point at foundation.md. Posts are never revised after publication; this is a link fix the deletion forces, since a broken link fails the -W build. The post's text is unchanged.
  • Status stays DRAFT on every page, per the site's rule that only the team's review grants ADOPTED.

Build

docs.yml built this PR green at f22f5e1 (public-safety, sphinx-build -W --keep-going "build succeeded", linkcheck, all seven scripts/acceptance.sh checks PASS). The build was not run on the host: no Sphinx environment exists there and provisioning one would be an install. scripts/check-public-safety.sh passes locally; the new pages have no em dashes and none of the AGENTS.md excess-vocabulary words.

Left

  • Rewrite or retire the pages that carry the run-model note, starting with tool.md (most of its verbs are gone) and the seven retired stages' pages; a page each for import, associate and packet if the team wants the stage-page pattern kept.
  • The pipeline repository's own docs/ Sphinx tree still describes the run model (#278's "Left").
  • The specification's "Not decided here" list still holds items the foundation retired (check policies, automatic promotion); they leave it when the team rules that the foundation closes them.

🤖 Generated with Claude Code

…ne page, replacing runs, products, checks and releases

Parts 1 and 2 of the foundation plan (v5, 2026-10-20) as the site's
specification of what the rebuild branch implements after milestones 0
to 3 (rapid PRs 275 to 283): runs, jobs, recorded inputs, official
bindings, publish-last, the thin chain's stages, the verbs and the
queries. The four run-model pages go; every inbound link points at the
new page, and the pages that still describe the run model say so.
stage-contract.md is rewritten to the run(job) contract.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@rusholme
rusholme merged commit a74862a into main Oct 21, 2026
2 checks passed
@rusholme
rusholme deleted the foundation/specification branch October 26, 2026 04:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant