Skip to content

Package an attested evaluator pilot kit - #28

Merged
Deathcharge merged 3 commits into
masterfrom
codex/attested-pilot-kit
Aug 2, 2026
Merged

Deathcharge merged 3 commits into
masterfrom
codex/attested-pilot-kit

Conversation

@Deathcharge

@Deathcharge Deathcharge commented Aug 2, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • add a deterministic, standard-library evaluator pilot-kit builder with strict archive and extracted-directory verification
  • package the exact wheel, source commit, quick-start, prefilled privacy-minimal record, schemas, protocol, checker, and Apache-2.0 notices behind a content manifest and SHA-256 checksums
  • upload the kit as a separate 30-day workflow artifact, include it in the release checksum manifest and GitHub provenance attestation, and attach it to tagged GitHub releases without widening the PyPI payload
  • update the pilot, release, productization, roadmap, strategy, examples, README, and changelog while preserving the real three-developer pilot as an unmet external gate

Verification

  • python -m ruff check .
  • python -m ruff format --check .
  • python -m mypy src scripts/pilot_bundle.py
  • python scripts/release_check.py source --version 0.2.0 --allow-unreleased
  • python -m pytest -ra — 391 passed
  • all 8 push/PR CI jobs passed on Python 3.10/3.14 across Ubuntu and Windows
  • exact-head fresh-clone source gate with --require-clean
  • source build, Twine check, structural distribution audit
  • archive verification under normal and optimized Python plus extracted-directory verification
  • fresh-wheel install, pip check, and installed self-check --format json
  • bundled pilot record validated with expected exit 1 (valid, adoption gate not ready)
  • every PowerShell block in the pilot/release docs parsed through the PowerShell AST
  • full CodeRabbit review completed; all 9 findings addressed in d0b7e35 and all threads resolved

Exact reviewed-branch artifacts

Commit: d0b7e35c47ebff024153d770269d41ebfaf26211

  • wheel: af86f34c4a7d895d0de60c4c4f77806d445485c767f761ff05fe68a1086f0959
  • sdist: 145a81caabbfd70f87ed01c7d659b27740555504d7db974113c5a0ed1e231519
  • evaluator kit: 2e06ab5c803295e59164ada75375d672bc28e27f9a9b79e3878ae6d2daea3130

These hashes identify one fresh-clone build of the final reviewed branch. The kit is byte-deterministic for an identical wheel and source commit; Python distribution builds are not claimed to be reproducible across separate build invocations. The post-merge manual workflow will rebuild and attest default-branch artifacts, whose hashes may differ because the merge commit and distribution bytes are kit inputs.

Boundaries

This does not publish to PyPI, call a live provider, collect participant content, or claim that the three-developer pilot passed. GitHub provenance and internal checksum verification establish build identity/consistency, not software safety or user adoption.

@coderabbitai

coderabbitai Bot commented Aug 2, 2026 •

Copy link
Copy Markdown

Review Change Stack

Summary by CodeRabbit

  • New Features

    • Added a deterministic evaluator pilot kit containing the exact package, source reference, pilot materials, schemas, verification tools, checksums, and provenance.
    • Release builds now create, validate, attest, and publish the kit as a separate downloadable artifact.
    • The kit can be verified as either an archive or extracted directory, including tamper and consistency checks.
  • Documentation

    • Updated pilot, release, onboarding, and product documentation with kit-based setup and verification guidance.
    • Added manifest schema and clarified pilot evidence requirements.

Walkthrough

The PR adds a deterministic evaluator pilot kit with strict manifest, checksum, archive, and directory verification. The release workflow builds, attests, uploads, and publishes the kit. Tests and documentation cover creation, validation, onboarding, and release evidence.

Changes

Evaluator pilot kit

Layer / File(s) Summary
Kit schema, creation, and verification
docs/pilot-kit-v1.schema.json, scripts/pilot_bundle.py
Defines the manifest schema and adds deterministic kit creation, checksum generation, archive and directory validation, and CLI commands.
Kit validation tests and source-distribution checks
tests/test_pilot_bundle.py, scripts/release_check.py
Tests reproducibility, tamper detection, path safety, schema consistency, invalid inputs, directory checks, CLI output, and source-distribution inclusion.
Release workflow artifact integration
.github/workflows/release.yml
Creates and verifies the kit, adds its checksum, uploads it with 30-day retention, and includes it in GitHub release assets.
Pilot onboarding and release documentation
docs/PILOT.md, docs/RELEASING.md, docs/PRODUCTIZATION.md, README.md, ROADMAP.md, CHANGELOG.md, docs/COMPETITIVE_STRATEGY.md, examples/README.md
Documents kit acquisition, verification, provenance, participant handoff, release evidence, and the remaining three-developer pilot status.

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

Sequence Diagram(s)

sequenceDiagram
  participant ReleaseWorkflow
  participant BuiltWheel
  participant PilotBundle
  participant EvaluatorKit
  participant GitHubRelease
  ReleaseWorkflow->>BuiltWheel: Build release wheel
  ReleaseWorkflow->>PilotBundle: Create kit from wheel and source commit
  PilotBundle->>EvaluatorKit: Write manifest, checksums, and deterministic ZIP
  ReleaseWorkflow->>PilotBundle: Verify kit archive
  PilotBundle-->>ReleaseWorkflow: Return verified summary
  ReleaseWorkflow->>GitHubRelease: Upload artifact and release asset
Loading

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 8.11% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly and concisely summarizes the primary change: packaging an attested evaluator pilot kit.
Description check ✅ Passed The description directly explains the evaluator kit, release workflow, verification, documentation updates, and project boundaries.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/attested-pilot-kit

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.

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 2, 2026 •

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 9

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/release.yml:
- Line 133: Update the release step’s Bash assignment around version so it no
longer interpolates steps.release-version.outputs.version directly into shell
source. Pass the step output through the step’s env configuration, then read the
resulting environment variable inside the script while preserving the existing
version value.

In `@docs/pilot-kit-v1.schema.json`:
- Around line 37-39: Update the path property in the published schema to retain
its non-empty constraint and add a bounded pattern that accepts only safe
canonical relative file paths, rejecting absolute paths, parent-directory
segments, drive prefixes, double slashes, backslashes, control characters, and
explicit directory entries.

In `@docs/PILOT.md`:
- Around line 35-43: Update the native verification command sequences in
docs/PILOT.md lines 35-43 and docs/RELEASING.md lines 70-78: after each gh
attestation command and after python scripts/pilot_bundle.py verify-directory .,
check $LASTEXITCODE and fail immediately when it is non-zero. Keep the existing
extraction and directory validation flow unchanged.
- Around line 238-241: Update the PowerShell wrapper around pilot_check.py to
capture $LASTEXITCODE and explicitly handle 0, 1, and 2, throwing for any
unexpected exit code. Also adjust pilot_check.py’s exception handling so runtime
or invalid failures consistently return the documented failure code rather than
allowing uncaught SystemExit(1), while preserving 1 for “valid but not ready.”
- Line 77: Update the macOS/Linux instructions in PILOT.md to use the
macOS-compatible shasum -a 256 command, or explicitly require GNU Coreutils
before the section; keep the existing hash verification workflow unchanged.

In `@scripts/pilot_bundle.py`:
- Line 83: Update the example record load in the surrounding creation flow to
pass the pilot-record size limit used by _verify_payload, rather than relying on
_load_json_file’s MAX_MANIFEST_BYTES default. Keep the same limit for reading
and verifying this artifact, while preserving existing defaults for other JSON
files.
- Around line 111-113: Move the output filename validation using root_name and
output.name to the beginning of create_pilot_kit, alongside the existing input
checks, before any wheel, repository asset, or example-record reads occur.
Preserve the current PilotKitError message and all existing validation outcomes.
- Around line 114-122: Update the archive.writestr call in the ZipFile creation
block to pass compresslevel=9 explicitly, ensuring entries using the precreated
_zip_info metadata are compressed at the intended deflate level.

In `@tests/test_pilot_bundle.py`:
- Around line 141-150: Add a test alongside
test_verify_directory_rejects_unexpected_file that creates a symlink within the
extracted pilot kit and verifies verify_pilot_kit_directory raises PilotKitError
for it, covering the symbolic-link rejection branch before checksum validation.
Use pytest.mark.skipif with the platform’s symlink-permission condition when
needed for Windows CI.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 76f47c53-12f2-4783-96fe-885737e0fa90

📥 Commits

Reviewing files that changed from the base of the PR and between 3ce6d20 and 3246dd4.

📒 Files selected for processing (13)
  • .github/workflows/release.yml
  • CHANGELOG.md
  • README.md
  • ROADMAP.md
  • docs/COMPETITIVE_STRATEGY.md
  • docs/PILOT.md
  • docs/PRODUCTIZATION.md
  • docs/RELEASING.md
  • docs/pilot-kit-v1.schema.json
  • examples/README.md
  • scripts/pilot_bundle.py
  • scripts/release_check.py
  • tests/test_pilot_bundle.py

Comment thread .github/workflows/release.yml Resolved
Comment thread docs/pilot-kit-v1.schema.json Resolved
Comment thread docs/PILOT.md Resolved
Comment thread docs/PILOT.md Resolved
Comment thread docs/PILOT.md Resolved
Comment thread scripts/pilot_bundle.py Resolved
Comment thread scripts/pilot_bundle.py Resolved
Comment thread scripts/pilot_bundle.py Resolved
Comment thread tests/test_pilot_bundle.py Resolved

Copy link
Copy Markdown
Owner Author

Addressed all nine review findings in d0b7e35: safe workflow env transfer, bounded schema paths, fail-fast native verification, macOS hashing guidance, complete pilot-check exit handling, the shared record-size limit, early output-name validation, explicit deflate level, and symlink-branch coverage. Local source gates pass with 391 tests; both updated Ubuntu/Windows CI matrices are green; all review threads are resolved.

@Deathcharge
Deathcharge merged commit fe654f4 into master Aug 2, 2026
9 checks passed

Copy link
Copy Markdown
Owner Author

Post-merge verification passed on master commit fe654f4a55b7bb71a95f9f8ee7befb75430d743f.

  • default-branch CI run 30745966027: Python 3.10/3.14 on Ubuntu/Windows passed
  • nonpublishing release run: https://github.com/Deathcharge/samsarix-codegen/actions/runs/30746020700
  • build/audit/install/pilot-kit/upload/attestation job passed
  • PyPI and GitHub release publication jobs skipped
  • downloaded SHA256SUMS verified all three release candidates
  • GitHub attestations verified for the sdist, wheel, pilot kit, and checksum manifest
  • repository archive verifier and bundled extracted-directory verifier passed
  • bundled wheel exactly matched the separately uploaded wheel, installed in a fresh environment, passed pip check and offline self-check
  • prefilled record returned the expected valid-but-not-ready decision

Workflow-produced SHA-256:

  • wheel: 241e8922202e011c93995a9c97798bc850864e34fa8ad34134b1410e069f565f
  • sdist: 00369452f3c9c144e95bcb34791885f1ce1ac3d567839df05af20c31be4bca91
  • evaluator kit: aac176bf7873fbb4e9a755e3250304f427c3a0fdce2a25afd54635d49c1f0314
  • SHA256SUMS: 776f2be42b11715825059e210ff6a73434eaba7050a4f6303463cbffd25b51fc

This remains nonpublishing evidence; it does not claim that the three-developer pilot passed.

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