ouroboros/scripts
Ouroboros fca3dcee5b review: fix the trusted-base handoff and scope what it guarantees
Adversarial review of the handoff, four accepted findings.

Artifact paths (real bug): --output and --drive-root were forwarded verbatim
while the base-side run executes with cwd set to the temporary trusted
checkout, so a relative path resolved inside that checkout and was deleted with
it when the review returned. Both are absolutized against the invoking cwd
before the child argv is built.

Argv robustness: the forwarded options move to equals form
(--base-ref=/--head-ref=/--goal=/--scope=/--output=/--drive-root=). A goal,
scope or title beginning with "-" was parsed as a flag by the child, whose
argparse error surfaced as exit 2 — the code this script reserves for an empty
diff.

Test strength: the contract pin called the helper directly, so deleting the
main() hook kept it green. A new end-to-end test invokes the REAL wrapper as a
process from a checkout that is not the base and proves the base-side probe
executed; removing the hook fails it (verified by mutation). The seeded repo
gains a real (non-namespace) ouroboros package and the repository's own
__pycache__ ignores, so an out-of-repo wrapper resolves its import there and
importing does not dirty the tree. A second test pins the artifact-path and
flag-shaped-value behavior through the same probe.

Honesty: the guarantee is scoped wherever it is claimed (module and function
docstrings, packet trust text, CONTRIBUTING, DEVELOPMENT, ARCHITECTURE). The
handoff removes the dependency on which checkout the operator happened to stand
in; the wrapper performing it is still read from the invoking checkout, so that
checkout must be trusted — the same trust root as before, now stated instead of
assumed. The stale D31 legend in scripts/v7_migration.py and the stale
contributor-trust-boundary line in docs/ARCHITECTURE.md are synced to the new
contract, and the MIGRATION_v7.md row no longer claims the replacement test
covers eleven paths: it parametrizes three representative proposals.

Co-authored-by: Ouroboros <311266734+ouroboros-agent@users.noreply.github.com>
2026-08-19 19:11:42 +00:00
..
bench_delegated_snapshot.py release 6.100.0: delegated runs execute in private snapshots — capture, disposition, and GC carry one honest truth (sprint phase C) 2026-08-12 17:54:10 +03:00
build_appimage.sh fix(packaging): harden AppImage runtime lifecycle 2026-08-11 04:21:16 +03:00
build_linux_packages.sh fix(release): bind the systemd unit to package proof 2026-08-13 01:19:14 +03:00
build_repo_bundle.py fix: harden cross-platform release packaging 2026-08-11 17:18:31 +03:00
carrier_rebase_helper.py docs: the rebase helper names uv.lock among the carriers 2026-08-19 04:40:11 +00:00
claudexor_platform_smoke.py fix(ci): tolerate only the Windows Git atomic-object poll race 2026-08-07 06:05:26 +03:00
cleanup_test_pollution.py v5.15.0-rc.8: quality dx closed-loop skills wave on top of rc.7 2026-05-11 03:32:41 +03:00
contributor_review_evidence.py review: always run the contributor review on the trusted target base 2026-08-19 19:11:42 +00:00
download_node_standalone.ps1 rc(reliability): close subagent crash/ghost/spinner classes; provider-agnostic review; bundled node 2026-05-29 22:48:13 +03:00
download_node_standalone.sh rc(reliability): close subagent crash/ghost/spinner classes; provider-agnostic review; bundled node 2026-05-29 22:48:13 +03:00
download_python_standalone.ps1 fix(deps): complete uv migration contracts 2026-08-11 06:34:54 +03:00
download_python_standalone.sh build(deps): manage Python dependencies with uv 2026-08-11 05:28:21 +03:00
download_ripgrep_standalone.ps1 fix(ci): release-lane smoke paths and ripgrep pin parsing 2026-08-05 00:13:49 +03:00
download_ripgrep_standalone.sh feat(code-intelligence): add query_code and clearer evolution settings 2026-06-09 07:46:59 +03:00
fetch_claudexor_runtime.py Managed Claudexor runtime delivery: exact pin, single Connect, staged updates 2026-08-06 15:15:09 +03:00
pyi_rth_pythonnet.py chore(build): import build artifacts from main + adapt spec for Phase 5 skills 2026-04-22 14:31:53 +03:00
regenerate_size_ratchet.py refactor(review): activate the v7 1500-line ratchet 2026-08-15 23:47:23 +00:00
release_proof.py docs: make installer downloads direct and self-syncing 2026-08-14 04:12:45 +03:00
run_external_review.py review: fix the trusted-base handoff and scope what it guarantees 2026-08-19 19:11:42 +00:00
run_plan_review.py plan review becomes a domain-neutral spec gate 2026-08-17 11:37:32 +00:00
smoke_linux_packages.sh fix(release): bind the systemd unit to package proof 2026-08-13 01:19:14 +03:00
v7_evidence.py fix(prologue): isolate the migration evidence loader 2026-08-15 23:38:04 +00:00
v7_migration.py review: fix the trusted-base handoff and scope what it guarantees 2026-08-19 19:11:42 +00:00