Commit graph

3 commits

Author SHA1 Message Date
Anton Razzhigaev
de02b6c14d fix(updates): make managed channels conflict-safe
Add stable-by-default managed update channels with explicit QA and development feeds. Keep clean updates deterministic, invoke assisted merging only for real conflicts, and reserve hard reset for explicit recovery.

Preserve local work, Colab migration, process custody, and complete binary-aware review evidence without adding path-specific restrictions.

Co-authored-by: Ouroboros <311266734+ouroboros-agent@users.noreply.github.com>
Co-authored-by: Claudexor <noreply@claudexor.dev>
2026-08-03 20:27:54 +03:00
Anton
e5a5115a1d chore(release): converge re-audit findings and bump VERSION to 4.50.0-rc.3 (pre-release)
Closes the re-audit cycle. Six non-committing advisory+triad+scope
cycles converged with 0 open findings before this commit.

Extension runtime:
- extension_loader.py stages each load under data/state/skills/<name>/__extension_imports/<uuid>/skill/
  to defeat Python module caching on rapid in-place edits; fail-closed if
  any symlink in the skill tree resolves outside the reviewed checkout.
- extensions_api.api_extension_manifest reports live-SSOT load_error,
  not the stale discovery copy, so index and manifest agree.
- tools/registry.list_non_core_tools() now merges live ext.* tools.

Release / packaging guards (BIBLE.md P7):
- scripts/build_repo_bundle.py fail-closed if no release tag is resolved,
  verifies the tag is annotated (git cat-file -t == tag), and that it
  points at HEAD.
- build.sh / build_linux.sh / build_windows.ps1 enforce the same three
  checks before invoking PyInstaller. Synthetic/fake tags no longer
  accepted.
- _validate_source_branch no longer treats an ls-remote-only branch as
  usable; requires local ref availability, symmetric with
  _ensure_source_sha_tracks_branch.
- release_sync._normalize_pep440 now collapses alpha->a and beta->b per
  PEP 440 canonical pre-release spelling.

Onboarding preservation:
- Wizard no longer silently wipes OPENAI_BASE_URL, OPENAI_COMPATIBLE_*,
  CLOUDRU_FOUNDATION_MODELS_BASE_URL on re-run. The wizard only resets
  keys it actually exposes.

Docs and prompts sync:
- ARCHITECTURE.md describes the bundle-bootstrap model, the
  __extension_imports/ staging surface, the build-script release tag
  prerequisite, the extension HTTP review endpoint, and
  VALID_EXTENSION_ROUTE_METHODS as part of the frozen contract.
- BIBLE.md + prompts/SYSTEM.md release invariant now distinguishes
  author-facing spelling (VERSION / README / tag / ARCHITECTURE) from
  the PEP 440 canonical form required by pyproject.toml.
- prompts/SYSTEM.md Immutable Safety Files list matches
  SAFETY_CRITICAL_PATHS exactly (BIBLE.md included).
- docs/CHECKLISTS.md row 1 explains the author-facing vs PEP 440 split.

Runtime SSOT:
- server.py::_run_supervisor feeds workers.init the manifest-driven
  branch names from _runtime_branch_defaults() instead of hardcoded
  ouroboros / ouroboros-stable.
- contracts/skill_manifest.py accepts body-only instruction-skill
  markdown that starts with a --- thematic break.

Regression coverage added for every real fix above across
test_extension_loader, test_extensions_api, test_build_scripts,
test_build_repo_bundle, test_launcher_sync, test_onboarding_wizard,
test_packaging_sync, test_release_sync, test_contracts, plus a new
test_release_workflow guard for the CI release path.

VERSION carriers synchronized:
- VERSION = 4.50.0-rc.3 (author-facing)
- pyproject.toml = 4.50.0rc3 (PEP 440 canonical)
- README.md badge + Version History row = 4.50.0-rc.3
- docs/ARCHITECTURE.md header = 4.50.0-rc.3
2026-04-24 04:41:22 +03:00
Ouroboros
6700358a41 Initial commit from app bundle 2026-04-22 01:04:48 +03:00