Skip to content

release: isolate experimental source - #1

Merged
mitro merged 7 commits into
mainfrom
agent/experimental-source-isolation
Aug 14, 2026
Merged

release: isolate experimental source#1
mitro merged 7 commits into
mainfrom
agent/experimental-source-isolation

Conversation

@mitro

@mitro mitro commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

What changed

  • derives every experimental source root from the release catalog and binds it to an executable
    gate
  • rejects domain checkout locators and mutable provenance references
  • adds one canonical GitHub Actions workflow that runs the root repository check
  • adds revision-bound workflow receipt validation and current model facets

Why

The alpha release must demonstrate that its experimental corpus is self-contained. The prior
command sequence ran existing lanes but did not fail when a catalog root lost its gate or when
domain-owned source became an executable dependency.

Validation

  • complete ./scripts/check.sh from a clean temporary clone
  • 19 release qualification tests, including 12 isolation tests
  • 11 of 11 experimental roots, 49 executable inputs, and 3 immutable citations accounted for
  • current Azimuth model: 10 claims, 0 holes, 0 errors, 0 warnings

Acceptance and archival intentionally wait for this PR's workflow to succeed at commit 5b09451
and for that exact receipt to be judged.

Summary by CodeRabbit

  • New Features

    • Added automated checks across supported development environments.
    • Added experimental-source isolation qualification and validation.
    • Added verification for clean-checkout execution, immutable citations, workflow configuration, and revision-specific evidence.
    • Added generated qualification and linkage records.
  • Bug Fixes

    • Improved shell-script portability by replacing a platform-dependent search command.
    • Strengthened release checks with argument validation and expanded manifest verification.
  • Tests

    • Added comprehensive coverage for isolation, workflow receipts, source references, and validation failures.
  • Documentation

    • Documented experimental source isolation requirements, verification criteria, rollout plans, and outcomes.

Derive every experimental root from the release catalog, bind it to executable repository gates, and reject domain-owned source or mutable evidence locators.

Add the canonical clean-checkout workflow and revision-bound receipt contract. Mutation review exposed no-op gate mentions, incomplete citation populations, and standalone release qualification as false-positive paths; the new account fails each closed.
@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: b8b186ca-1669-4ed9-ba78-187973c0ffac

📥 Commits

Reviewing files that changed from the base of the PR and between b5d3262 and 48c0b9e.

📒 Files selected for processing (18)
  • .github/workflows/ci.yml
  • azimuth/changes/archive/2026-08-14-experimental-source-isolation/design.md
  • azimuth/changes/archive/2026-08-14-experimental-source-isolation/finalization.json
  • azimuth/changes/archive/2026-08-14-experimental-source-isolation/outcome.md
  • azimuth/changes/archive/2026-08-14-experimental-source-isolation/plan.md
  • azimuth/changes/archive/2026-08-14-experimental-source-isolation/proposal.md
  • azimuth/changes/archive/2026-08-14-experimental-source-isolation/specs/framework-release-artifacts.md
  • azimuth/changes/archive/2026-08-14-experimental-source-isolation/verification.md
  • azimuth/changes/archive/2026-08-14-experimental-source-isolation/workflow-receipt.json
  • azimuth/model/framework/release-artifacts/design.md
  • azimuth/model/framework/release-artifacts/judgments.md
  • azimuth/model/framework/release-artifacts/spec.md
  • azimuth/model/framework/release-artifacts/verification.md
  • experiments/assurance-extensions/check.sh
  • release/check.sh
  • release/isolate_experiments.py
  • release/test_isolate_experiments.py
  • scripts/check.sh

📝 Walkthrough

Walkthrough

This PR adds a GitHub Actions CI workflow, an experimental-source isolation qualification tool (release/isolate_experiments.py) with tests, integrates isolation checks into release/check.sh and scripts/check.sh, and adds corresponding model requirements, judgments, verification claims, and an archived change record.

Changes

Experimental Source Isolation

Layer / File(s) Summary
CI workflow
.github/workflows/ci.yml
Adds a workflow triggered on push/PR that sets up multiple toolchains and runs ./scripts/check.sh.
Isolation qualification tool
release/isolate_experiments.py
Implements root-account derivation, workflow/receipt validation, fingerprinting, sequencing checks, domain-reference validation, linkage generation, and a CLI entry point.
Isolation tool tests
release/test_isolate_experiments.py
Adds unittest coverage for gate derivation, domain validation, workflow checks, sequencing, and receipt handling.
Release check integration
release/check.sh, scripts/check.sh, experiments/assurance-extensions/check.sh
Requires --experiments-executed, runs isolation checks and validates linkage manifests; switches one script from rg to grep.
Model design, spec, verification, judgments
azimuth/model/framework/release-artifacts/design.md, .../spec.md, .../verification.md, .../judgments.md
Adds the experimental-source-isolation requirement, related scenarios, verification claims, and updated/new judgment records.
Archived change record
azimuth/changes/archive/2026-08-14-experimental-source-isolation/*
Adds proposal, design, plan, verification, outcome, finalization, spec, and workflow receipt documents for the accepted change.

Estimated code review effort: 4 (Complex) | ~60 minutes

Sequence Diagram(s)

sequenceDiagram
  participant CLI as isolate_experiments.py CLI
  participant Qualify as qualify_experimental_isolation
  participant Catalog as experiment catalog
  participant Workflow as CI workflow validator
  participant Receipt as workflow receipt validator
  CLI->>Qualify: run with --experiments-executed
  Qualify->>Catalog: derive root accounts
  Qualify->>Workflow: validate_workflow
  Qualify->>Receipt: validate_workflow_receipt
  Receipt-->>Qualify: fingerprint and revision match
  Qualify->>Qualify: write_linkage artifacts
  Qualify-->>CLI: qualification record
Loading
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch agent/experimental-source-isolation

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

mitro added 6 commits August 14, 2026 19:10
GitHub rejected setup-java v6 during job preparation because that major is not published. Use the current v5 major so the clean-checkout gate can start; the other declared action majors were confirmed through GitHub.
Run the hosted gate under Java 21, matching the Kotlin experiment's declared toolchain and the clean local execution. Java 25 reached the fixture but caused JUnit Jupiter discovery to fail before any test ran.
Use grep for the assurance-extension model counts so the experiment gate runs on the declared hosted runner. The GitHub execution exposed that local ripgrep availability had hidden this checkout dependency.
Accept C3 from the exact successful GitHub workflow receipt, record sound judgments for both hosted-run-dependent claims, and preserve the deterministic finalization fingerprint.

Hosted execution surfaced two action/toolchain mismatches and one undeclared ripgrep prerequisite before succeeding; the outcome records all three rather than treating failed runs as evidence.
Reopen C3 after the post-archive workflow proved that an ignored receipt could not survive the acceptance commit. Store future receipts with the archive and bind reuse to both Git ancestry and a derived isolation-account fingerprint.

The first archive finalization is removed because its own hosted check produced two stale judgments. Full checkout history is now an explicit workflow prerequisite, and receipt/account mutations fail closed.
Archive C3 with the exact successful workflow receipt, its derived isolation-account fingerprint, current sound judgments, and finalization model. The complete local post-archive root gate now reuses that receipt and remains green.

This supersedes the earlier archive attempt, which was honestly revoked after its hosted check showed that ignored rollout evidence made accepted judgments stale.
@mitro
mitro marked this pull request as ready for review August 14, 2026 15:08
@mitro
mitro merged commit bcffaaa into main Aug 14, 2026
1 of 2 checks passed
@mitro
mitro deleted the agent/experimental-source-isolation branch August 14, 2026 15:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant