v3.5.0
P.O.W.E.R. 3.5.0 release candidate
This document describes the 3.5.0 candidate contract. It is not a published
release until a clean signed v3.5.0 tag, package/SBOM artifacts, and remote
readback pass the final release workflow.
Core outcome
- Lean base installation and offline FTS are the canonical path.
- Dense, reranker, graph, query-expansion, and ROT implementations live under
power_framework.experimental;corekeeps lazy compatibility shims and does
not import optional adapters during startup. autoreportsactual_mode,fallback_reason, and index age; explicit
semantic retrieval remains fail-closed when its optional profile is absent.- CLI, local MCP, and library callers share typed application envelopes for
discovery, retrieval, proposal/apply, receipts, handoff, and degraded fleet status. - Portable lifecycle adapters cover session-start, post-write verification,
pre-compact checkpoint proposals, and stop/drift checks without silent
semantic writes; the fresh-agent chaos suite records eight redacted scenarios. - Doctor and bootstrap are bounded/read-only by default; proposal content is
accepted through a file or stdin rather than process arguments. - Maintenance is preview-first, exact-hash-bound, reversible for
safe_auto,
and plan-only for retention/deletion candidates. - The retention soak proves exact preview/applied manifests, bounded backup
growth, newest-valid-backup restore, and preservation of source/control files. - The cheap health loop deduplicates issue notifications with exponential
backoff; opt-in external evidence captures exact bytes in a content-addressed
store and fails closed on tamper or unavailable-source readback. power control-planematerializes a conflict-safe Markdown cockpit and an
optional, marker-ownedPOWER Control.basewith four views, while
power migrate-stateprovides a content-free state-plane inventory only.- The synthetic Phase 8 benchmark covers 20 technical workflows and compares
POWER with a declared no-POWER handoff baseline, bilingual strata, five
false-premise abstentions, and a historical/current state filter; it remains
technical-only and does not replace blind human or real-vault outcome
evidence. - A separate continuity receipt runs 20 handoffs across independent worker
processes and checks replay idempotency, proof-carrying resume, blocked
decisions, and source preservation; it remains synthetic evidence. - The executable upgrade matrix also kills a subprocess at
before_move,
after_move, andafter_pointer, then proves active-generation readback,
restart recovery, source-byte preservation, and no data loss. This is a
hermetic Ubuntu release matrix, not physical 3.4.5 runtime or Windows/macOS
compatibility evidence; macOS and Windows are deferred from this release. - Crash recovery reaps only lease-expired
buildingrows and their UUID-owned
staging/generation artifacts; fresh rows are retained for live writers. CI
uploads one content-free Ubuntu report and blocks on its aggregate.
Evidence boundary
The candidate gate records local tests, lint, types, documentation drift, the
FTS-first packaging contract, and the aggregated Ubuntu executable upgrade
matrix. macOS and Windows are explicitly deferred and are not supported-platform
claims for v3.5.0.
Dense quality, real-vault outcome improvement, blind sealed-human scoring,
signed tag, package indexes, and remote release readback remain separate
mandatory release evidence. Physical Windows/macOS migration is deferred and
is not a v3.5.0 gate. The final release
workflow fails closed unless the maintainer provisions the two content-free
Phase 8 receipts described in release/evidence/README.md.
The workflow receives them through the protected power35-stable-release
environment; they are not inferred from a passing unit suite.
Validation commands
./.venv/bin/pytest
./.venv/bin/ruff check src tests scripts
./.venv/bin/ruff format --check src tests scripts
./.venv/bin/mypy src/power_framework
./.venv/bin/python scripts/check_doc_drift.py
./.venv/bin/python scripts/verify_upgrade_matrix.py --from-version 3.4.5 --to-version 3.5.0
./.venv/bin/python scripts/retention_soak.py --output /tmp/power35-retention.jsonCI executes the content-free upgrade invariants on Ubuntu only for this release;
macOS and Windows are deferred. Final publication additionally requires a clean tag-bound baseline generated by
scripts/generate_release_baseline.py --tag v3.5.0 --validation-report <power.release-validation.v1.json>, validation with
scripts/verify_release_contract.py --require-tag, package smoke, SBOM and
readback of the release body/assets.