Repository navigation
feat: declare lifecycle setup fields, render setup_resolved provenance, fix doc drift (likelihood-lifecycle 0D) - #40
Merged
Conversation
…e, fix doc drift (likelihood-lifecycle 0D)
- summary.lifecycle_errors validates the optional additive record fields on
every version's record path (v1, v2 catalogue, v3 shards): setup_mode in
{auto, explicit} (else "<rid>: setup_mode must be auto or explicit"),
setup_resolved (text-or-null backend/device/operator/precision/transformer,
int-or-null threads), host_class and model_variant text, likelihood
{dataset_type, variant}. Declarations only: no Pulse cross-check, no inferred
resolution, no acceptance.
- setup_browser: one "Setup: …" provenance line in each record disclosure.
- Fixture: experiment-cold declares setup_mode auto with setup_resolved; tests
for acceptance, the named refusal, malformed fields, v3 shards and rendering.
- Docs: lifecycle row in the identity table, live pins lens@2 / fit@3, two
live producers, full-fit wall-time validation routed to Pulse
(walltime-validation@1, lens-walltime); one CHECKIN sentence.
Closes #39
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…fecycle-p0-insight
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Likelihood-lifecycle phase 0, sub-issue 0D. This is infrastructure only: no runs, no new rows, no judgement of results.
Contract (
insight/summary.py)lifecycle_errors(record, rid)validates the optional lifecycle fields that autolens_inference has exported since 0C. They are checked as declarations only:setup_modemust beautoorexplicit. Any other value is refused with"<rid>: setup_mode must be auto or explicit".setup_resolvedmust be an object.backend,device,operator,precisionandtransformerare text or null;threadsis an integer or null.host_classandmodel_variantare text or null.likelihoodis null, or an object that namesdataset_typeandvariantas text.autois never resolved by inference, and none of the fields feeds acceptance, ranking or selection.Deviation from the plan: the plan put the v2 check in
insight/catalogue.pyand the v3 check insummary.py. Instead, the check runs once in the per-record loop ofsummary.validate, which v1, the v2 catalogue (catalogue.validateis called from there) and assembled v3 shards all go through. Putting it incatalogue.pyas well would have reported every v2 error twice. There is no version bump.Render (
insight/setup_browser.py)Each record disclosure now opens with
Setup: <setup_mode> · <backend>/<device>/<operator>/<precision> · <host_class> · <model_variant>, leaving out any part that is missing. A record that declares none of the fields shows no line. The structure ofboard.pyis unchanged.Fixtures and tests
lens_summary_v2.json:experiment-coldnow declaressetup_mode: autowithsetup_resolved(jax/cpu/dense/fp64),host_class,model_variantandlikelihood. The fixture still validatesok.test_catalogue.py: the fields are accepted. An invalidsetup_modegets the named refusal, and malformedsetup_resolved,host_class,model_variantandlikelihoodare refused.test_setup_browser.py: the provenance line renders and drops missing parts.test_sharded.py: v3 shard records accept the fields and refuse a bad mode. The v3 helpers live in this file, so the tests went here rather than intest_summary.py.Docs
REFERENCE.md: the Identity and ownership table gains a lifecycle row.automeans the library chose the setup (phase 5),setup_resolvedrecords what it chose, andhost_classis provenance, never identity.lens@2 andfit@3, and the deploy-order rule is kept.REFERENCE.mdandREADME.mdnow say there are two live producers.walltime-validation@1, instancelens-walltime, produced as autolens_inferencedashboard/walltime_validation.json). Insight does not host or validate it.CHECKIN.md: one sentence on the same routing.tasks/is untouched, so there is no overlap with graphical-ep: reconcile EP campaign state 2026-10-23 #38.Checks
ruff check .andruff format --check .are clean.python -m pytest tests -qgives 219 passed.bin/pyauto-insight check --offlinereportsfitok (12,973 records pass the new validator),dashboardcurrent andstatevalid. It also reports FAILlens: the committedreceipts/lens.jsonis still theinvalidcapture at autolens_inference bdc8b2d (57 producer-side reference errors). The same failure is on main, and it is whylintis red on graphical-ep: reconcile EP campaign state 2026-10-23 #38. The producer fix is fix(export): resolve prepared-problem references after the 2026-10 path move (likelihood-lifecycle 0D) autolens_inference#45. With it applied, Insight's validator reports 0 errors on the re-exported catalogue. Once #45 merges, the scheduled or dispatched Insight refresh rewritesreceipts/lens.jsontooutcome: ok, which is the witness, andlinthere should go green on re-run.Closes #39
🤖 Generated with Claude Code
Scripts Changed
insight/summary.py—lifecycle_errors(setup_mode/setup_resolved/host_class/model_variant/likelihood as declarations)insight/setup_browser.py—Setup:provenance line per recordtests/fixtures/lens_summary_v2.json,tests/test_catalogue.py,tests/test_setup_browser.py,tests/test_sharded.pyREFERENCE.md,README.md,CHECKIN.md— live pins, two producers, walltime-validation routed to PulseTest Plan
pytest tests -q219 passed; ruff clean;pyauto-insight check --offlineok except the pre-existinglensreceipt (clears after autolens_inference#45 + refresh)