mirror of
https://github.com/razzant/ouroboros.git
synced 2026-08-25 19:11:44 +00:00
Retire the first-parent manifest history replay and re-anchor the size
ratchet on the official repository line (owner decisions Q7-C, Q18-A,
Q19-A of the update-flow redesign sprint). A locally evolved fork can now
take a managed update without being trapped by inherited structural debt,
while the official line keeps ratcheting pairwise.
- ouroboros/review.py: validate_size_ratchet loses
_audit_committed_manifest_history and the BASELINE==HEAD bootstrap trap.
The previous manifest resolves merge-aware (HEAD's tree, else ANY parent
whose tree carries it, else bootstrap accepted from the current tree with
tree-seeded immutable baselines). New entry points:
validate_size_ratchet_candidate (in-memory candidate validation for the
generator) and validate_size_ratchet_transition_against_base (pairwise
base-vs-tip shrink-only check for CI: an all-zeros or missing/unresolvable
base degrades to the tip's parent manifest, verified against the parent's
own tree - never a skip; a resolvable base without the manifest fails
closed, so genuine first adoption re-runs with a post-adoption base; only
a checkout with no parent manifest at all bootstraps with the transition
skipped). Manifest-vs-live-tree
exactness, validate_manifest_transition shrink-only semantics,
staged-tree checks, and MAX_TOTAL_FUNCTIONS are unchanged.
- scripts/regenerate_size_ratchet.py: typed refusal on an unmerged index
("merge in progress: resolve conflicts first") before any inventory
work, merge-aware previous resolution, and candidate validation BEFORE
the manifest is written - a red regeneration no longer clobbers the
checked-in file (it also creates the manifest directory on a fresh
bootstrap).
- New pytest marker `size_ratchet` carries the live-repo size gates:
test_no_oversized_modules, test_size_ratchet_manifest_matches_live_tree,
test_no_extremely_oversized_functions, the generator --check half of the
render-determinism test (split in two), and the new pairwise transition
test reading OURO_SIZE_RATCHET_BASE_REF. The three pinned exclusion
surfaces gain " and not size_ratchet" synchronously
(preflight_runner.LANE_EXCLUSION_EXPR, pyproject addopts, all four
ci.yml markexprs; the preflight pin tests stay green through their
SSOT). quick-test and full-test run a dedicated blocking
`python -m pytest tests/ -m size_ratchet` step with the event base
(PR base SHA / push event.before) in the env, and marker-guards gains
the lane's non-empty canary. fetch-depth stays 0.
- Local warning surfaces: check_worktree_readiness appends the validator's
findings as "official CI will enforce: ..." warnings (try/except, never
blocking); codebase_health reports the same findings in a dedicated
section.
- check_worktree_version_sync moves to ouroboros/tools/release_sync.py
(version-sync logic lives with its authority) with a compatibility
re-export in review_helpers.py: the module hard gate caught
review_helpers.py crossing 1600 lines with the new warning check, and
the extraction pays the debt instead of grandfathering it.
- Docs (frozen-file edits owner-sanctioned): CHECKLISTS.md row 7 and
reviewer item 2(c); DEVELOPMENT.md "Module Size & Complexity",
compliance checklist, and "Pytest marker lanes"; ARCHITECTURE.md
structural smoke gates and the CI paragraph in section 8.
- tests/test_repo_health_smoke.py: the history-replay pins are retired or
rewritten as contract tests for the new semantics (merge-aware previous
through a merge parent for validator and generator, pairwise transition
with explicit/degraded/all-zeros/pre-bootstrap bases, bootstrap-from-tree
acceptance, bootstrap-baseline tree match, unmerged-index refusal,
candidate-mode write-nothing-on-red and write-validated-on-green).
Accepted tradeoff (Q18-A): intra-interval archaeology (transient states,
same-interval retire+re-enter) is no longer detected anywhere.
- Manifest regenerated: tests/test_repo_health_smoke.py enters the
1001-1500 band with its rationale.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| bench_delegated_snapshot.py | ||
| betterleaks_platform_smoke.py | ||
| build_appimage.sh | ||
| build_linux_packages.sh | ||
| build_repo_bundle.py | ||
| claudexor_platform_smoke.py | ||
| cleanup_test_pollution.py | ||
| contributor_review_evidence.py | ||
| download_node_standalone.ps1 | ||
| download_node_standalone.sh | ||
| download_python_standalone.ps1 | ||
| download_python_standalone.sh | ||
| download_ripgrep_standalone.ps1 | ||
| download_ripgrep_standalone.sh | ||
| fetch_claudexor_runtime.py | ||
| pyi_rth_pythonnet.py | ||
| regenerate_size_ratchet.py | ||
| release_proof.py | ||
| run_external_review.py | ||
| run_plan_review.py | ||
| smoke_linux_packages.sh | ||