Skip to content

release: publish Code Review 0.50.1 portable project runtimes - #477

Merged
djm81 merged 23 commits into
mainfrom
dev
Sep 16, 2026
Merged

djm81 merged 23 commits into
mainfrom
dev

Conversation

@djm81

@djm81 djm81 commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Promote Code Review 0.50.1 from dev to main so public signed installation can prepare and attach external Python project runtimes. This includes the portable runtime implementation from #475, the validated runtime/pytest corrections merged in #478, and the CI-produced 0.50.1 registry assets merged in #479.

Refs: User Story #473, defect #472, OpenSpec code-review-16-portable-project-runtime.

Scope and behavior

  • Discover and prepare pip/pip-tools, Hatch, uv and Poetry environments, with runtime inspect/prepare and explicit project configuration/runtime attachment.
  • Keep analyzer control environments separate from project workers; preserve project imports, pytest configuration, plugins, native outcomes and coverage policy.
  • Attribute installed package and standalone-module coverage through verified distribution ownership and exact source bytes. Report preparation failures and incomplete analysis explicitly.
  • Promote nold-ai/specfact-code-review 0.49.85 → 0.50.1 in the public main registry. Other bundles are unchanged; core compatibility remains >=0.55.1,<1.0.0.
  • Publish canonical GitHub CI artifacts and signatures. Preserve immutable 0.50.0 assets.

Validated candidate

PR #478 acceptance run 35150340281 passed on Linux x86-64 with Python 3.11, 3.12 and 3.13 at signed head 8ef33d6a7b9f9881acac81009da47a1c64ce93a8.

  • All three capsule jobs passed for pinned Requests, Hatch, Flask, Poetry and the explicitly reconstructed detached-Hatch fixture.
  • All 45 reports were independently verified: 30 cold/warm runs had passing tests, and all 15 controlled-defect runs detected both the injected type error and actual failing test. No required evidence was UNKNOWN; acceptance means completed applicable analysis, not zero static findings.
  • Each Linux quality suite passed 3,015 tests, with two existing warnings and no skips. Both case-sensitive identity tests passed on every ABI.
  • Signatures, Requirements evidence, documentation, CodeQL, minimum-core compatibility and PR reviews passed. fix(code-review): preserve portable runtime and native pytest coverage #478 merged as 046d366c190af7a188d6f48953a96edb65e766db.

Canonical publication run 35154689597 produced the 0.50.1 registry update merged through #479. The archive is 410,572 bytes, SHA-256 61489b8b3e9596082f738d093987fe0427815b2a6148cfae678a996878d117e7. Its embedded signed manifest exactly matches the validated candidate. This release PR must still satisfy its own current-head protected checks and merge requirements.

Remaining release gates and limits

Rollback requires a reviewed revert and a new signed version, preserving immutable artifacts. Reverting restores the earlier customer limitation.

djm81 and others added 10 commits September 15, 2026 01:12
Preserve the exact tree of PR #474 CI-signed source e46716d (6af17c7) on signed ancestry from current dev. PR #474 retains implementation history, real RED evidence and review dispositions. This successor must pass fresh required CI and external capsule acceptance; earlier receipts do not confer authority on this commit.
External Python repositories could reach capsule analyzers without their
dependencies or pytest plugins. This change discovers and prepares a
separate project runtime through pip/pip-tools, Hatch, uv or Poetry. It
adds read-only inspection, explicit project configuration and local v2
runtime descriptors while preserving existing review invocations and the
v1 reader.

Project imports, plugins and tests execute in isolated workers with
recorded dependencies. Preparation failures preserve independent static
findings and mark affected members incomplete. All review scopes attach
runtime context; local preparation cannot grant protected `pr_range`
authority.

Implements OpenSpec `code-review-16-portable-project-runtime`, story
#473 under Feature #163 / Epic #162. Addresses #472, which remains open
pending the inaccessible original customer reproduction. Context: #466,
#459, #175. This is the signed delivery successor to closed #474, which
preserves the original development history, actual RED evidence and
earlier review discussions. Core documentation follow-up is [PR
#730](nold-ai/specfact-cli#730).

Runtime discovery handles configuration-only setup.cfg repositories and
pytest file/glob testpaths. Nested Python retains caller environment,
cwd, private files and its verified member graph, including explicitly
empty environments. Initial worker isolation remains mandatory. Six real
subprocess cases exercise this in the reconstructed Hatch corpus.

Build diagnostics remain in a private controller log. Builder
stdout/stderr reaches it only through a pipe with bounded, nonblocking
reads, a shared deadline and deterministic child/descriptor cleanup. The
builder never inherits the regular log descriptor. Artifact preflight
rejects symlinks, special files and multiply linked files before
inventory/native enrichment; sealing and reuse also reject linked
payloads/descriptors. Installed distributions are copied to independent
artifact files. Actual RED/GREEN evidence covers log exposure, artifact
aliases, select/read races, failure/timeout retention and copied-package
compatibility. The exact reported Linux cross-bind hardlink exploit was
not reproduced; tests distinguish that claim from the validated
descriptor and topology boundaries.

Current head is `ce96307188f80fb1e694e462957c4daa43159a71`. Full and
smart suites each passed **2,697 tests**, with **one Linux-only /proc
skip** and two existing lark warnings (124.65 and 125.63 seconds). All
**28 contracts** passed. Formatting, typing, lint, YAML, import
boundaries, strict OpenSpec, planned Requirements and normal signed Git
hooks passed.

The latest review fixes preserve sanitized controller validation codes
and exact numeric builder exits alongside the private log path, without
exposing arbitrary exception details. Nested Python now retains caller
PYTHONPATH semantics, including relative/empty entries and
child/grandchild inheritance. Trusted startup precedes caller path
attachment. The final insertion uses a trusted list primitive captured
before project hooks, avoiding a newly reproduced post-validation
callback. Actual failing-before evidence records ten diagnostic
failures, twenty native-versus-attached import-path failures and one
callback regression. Focused checks passed 42 diagnostic tests (one
Linux-only skip) and 115 launch/bootstrap tests. The reconstructed Hatch
corpus now includes a caller-only relative import through a child and
grandchild.

Fresh explicit-file SpecFact bug-hunt review at
**2026-09-15T02:43:37.908786Z** returned **PASS_WITH_ADVISORY**, exit 0:
one testing error from the Linux-only local skip, six documented
startup-contract/private-access warnings and three explicit-structure
informational findings. The newly introduced line-length warning was
corrected. The platform skip remains incomplete evidence; exact
local-only dispositions in `REVIEW_EXCEPTIONS.md` cannot waive failed or
missing Linux acceptance. An earlier report was correctly discarded as
UNKNOWN because an evidence document changed during analysis; the final
report used an unchanged tree.

Canonical [CI signing run
34922474811](https://github.com/nold-ai/specfact-cli-modules/actions/runs/34922474811)
produced the publisher signature. Its exact manifest bytes were retained
in a normally hooked signed Git commit. Delivery tree
`73512dff07b46106daed3f1239c4d9e8f9932abf` is identical to CI source
`cf05d4a222810465fcb29ed47fa87e4bedf72e5e`; no unsigned bot ancestry was
merged. Strict public-key verification passed all seven manifests.
GitHub CI owns signatures and registry publication. All tracked review
findings are resolved after pushed fixes and current Linux validation.
Resolution replies 4011682282, 4011682362 and 4011682440 record the
evidence for the final three threads. Current-head Codex code review
completed without new findings; this does not claim a new dedicated
security review.

Current signed candidate `ce96307188f80fb1e694e462957c4daa43159a71`
passed every native and quality job in [run
34922619042](https://github.com/nold-ai/specfact-cli-modules/actions/runs/34922619042).
Independent checks verified all three provider ZIP digests/sizes, tested
merge `edfd14cd32f8281675fe0492b2618d3fafb50893`, its expected parents
and identical delivery tree. All **15 combinations** completed: **189
host, 189 cold and 189 warm passed calls**, plus **15 controlled failing
calls with source-defect detection**. All ten analyzers completed in 45
reports without unknown required evidence. The new explicit-PYTHONPATH
child/grandchild case passed all nine host/cold/warm executions across
the three ABIs. Linux quality logs confirm the descriptor, numeric-exit,
diagnostic, PYTHONPATH and container-hook regressions passed. Each ABI
full suite passed 2,696 tests, with two case-collision tests skipped
because the Linux filesystem preserves case-distinct identities and two
existing warnings.

Provider ZIPs: 3.11 artifact10379405086 SHA-256
`f4d251639c48441ce335ebea73d2a6d84e140cc9cd208aa45a9908e94b5ea12e`; 3.12
artifact10379063595 SHA-256
`c8f0b002ee76bc488c9f3877c27377585384b3e4256274d0dc6139744164727c`; 3.13
artifact10379181482 SHA-256
`766bcd2924fc742eb66c7728c96aa5f44e0924c279283736acb8a9b9b13c427e`.
These are candidate overlays over the public signed baseline, not public
signed 0.50.0 installation acceptance. Source immutability is recorded
by the harness; offline verification uses the retained namespace probe
rather than host-wide byte counters. Real static findings remain visible
in untouched Requests and reconstructed Hatch.

The corpus pins Requests, Hatch, Flask and Poetry plus a labelled
reconstructed detached-Hatch fixture across Python 3.11–3.13. It records
host, cold/warm capsule, controlled-defect, source-immutability, timing
and transfer evidence separately. Acceptance requires completed
applicable analysis and real execution, not zero findings. The
reconstruction does not validate the inaccessible customer PR.

Core PR #730 passes its normal checks and protected retained-RED
reconciliation: 38 actual original failures become 38 passes with
unchanged tests/mapping and verified ancestry. Its remaining review
thread tracks refreshing the documentation fixture to the final accepted
module source. Preserve its separate Requirements execution fixture and
obtain new exact-head authority after that update.

Execution support remains **Linux x86-64, Python 3.11–3.13**. Automatic
Windows/macOS handoff is not implemented. Mixed analyzer/project
namespace portions are not composed. Unsupported Poetry caret, tilde,
union and table constraints receive explicit diagnostics.

Version **0.50.0** is still unpublished; the registry baseline is
0.49.85. Remaining delivery gates are protected integration, CI registry
publication and the corpus through public signed installation. Protected
integration is blocked by a verified Code Quality trigger/ruleset
mismatch: the provider scans PRs to main, while ruleset 19505704 also
requires its result on dev. No Code Quality run exists for this PR, and
manual dispatch is unsupported (HTTP 422). Normal protected auto-merge
remains enabled. See the latest blocker evidence comment; no protections
were changed. Keep #472 open until its original customer reproduction is
validated. Rollback requires reviewed changes and a new signed version,
preserving immutable prior artifacts.

CodeRabbit skipped the original 193-file successor because its
per-review limit is 150; its green status does not establish review
coverage. Earlier review history remains in #474, supplemented by
independent reviews and Codex code/security reviews. Strix did not run
because its trial ended; no billing changes were made.
Automated registry publish update from workflow run 35007410944.

Bundle selection reasons:
- `specfact-code-review`: changed, registry-outdated
@strix-security

Copy link
Copy Markdown

Strix is installed on this repository, but we couldn't run this PR security review because this workspace's trial has ended. Add a card to resume code reviews here.

So far, Strix has reviewed 48 pull requests across this workspace.

@coderabbitai

coderabbitai Bot commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

Warning

Review limit reached

  • Run on-demand review

On-demand reviews are free for the next 4 days. After that, they cost $0.25 per reviewed file.

View limit details

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Essentials

Run ID: f9a43d1e-bea5-4c99-8f1d-f4e0fbfaf976

📥 Commits

Reviewing files that changed from the base of the PR and between c62f3a6 and 3d6e984.

⛔ Files ignored due to path filters (4)
  • docs/reference/commands.generated.json is excluded by !**/*.generated.*
  • docs/reference/commands.generated.md is excluded by !**/*.generated.*
  • registry/modules/specfact-code-review-0.50.0.tar.gz is excluded by !**/*.gz
  • registry/modules/specfact-code-review-0.50.1.tar.gz is excluded by !**/*.gz
📒 Files selected for processing (284)
  • .github/workflows/capsule-customer-execution.yml
  • .github/workflows/pr-orchestrator.yml
  • docs/_data/nav.yml
  • docs/bundles/code-review/run.md
  • docs/guides/portable-project-runtime.md
  • llms.txt
  • openspec/CHANGE_ORDER.md
  • openspec/changes/code-review-16-portable-project-runtime/ACTIVE_CONTEXT_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/ANALYSIS_EXCLUSIONS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/ANALYSIS_SOURCE_BINDING_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/ANALYZER_IMPORT_OWNERSHIP_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/ANALYZER_ORIGIN_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/ARTIFACTS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/AUTO_ENVIRONMENT_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/BOUND_GIT_CLOSURE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/BOUND_GIT_ORIGIN_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/BUILDER_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/BUILDER_VCS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/BUILD_ARTIFACT_BOUNDARY_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/BUILD_HARDLINK_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/BUILD_LOG_DOWNSTREAM_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/BUILD_LOG_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/BUILD_PIPE_READINESS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/BUILD_PIPE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/CACHED_COMMAND_VCS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/CANDIDATE_790C_EVIDENCE.json
  • openspec/changes/code-review-16-portable-project-runtime/CANDIDATE_A413_EVIDENCE.json
  • openspec/changes/code-review-16-portable-project-runtime/CHANGE_VALIDATION.md
  • openspec/changes/code-review-16-portable-project-runtime/CLI_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/COMPATIBILITY_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/CONSUMED_METADATA_TABLES_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/CORPUS_CONTINUATION_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/CORPUS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/CORPUS_ROSTER_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/CORPUS_TRANSFER_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/CUSTOMER_ACTIONS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/DEVELOPMENT_CONTEXT_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/DEVELOPMENT_TYPECHECK_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/DISCOVERY_HARDENING_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/DISCOVERY_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/EMPTY_XDIST_INVENTORY_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/ENVIRONMENT_TEST_SELECTION_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/EXECUTABLE_INVENTORY_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/FALLBACK_SANITIZATION_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/FROZEN_GIT_CONTEXT_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/GIT_EXPORT_ERRORS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/GIT_GRAFTS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/GROUP_SELECTION_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/HATCH_EXECUTION_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/HATCH_INSTALLER_DOMAIN_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/HATCH_NATIVE_EXPORT_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/HATCH_PYTEST_OPTIONS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/HOOK_INDEX_ISOLATION_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/HOSTED_RUNNER_ANCESTOR_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/HOST_PLUGIN_ALIAS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/IMMUTABLE_PROJECT_LINKS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/INDEX_CONTEXT_CLEANUP_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/INVENTORY_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/JUNIT_PARAMETER_IDENTITIES_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/LOCAL_LINK_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/LOCK_RANGE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/MEMBER_CLOSURE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/MEMBER_IMPORT_DOMAIN_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/MEMBER_PATH_INTROSPECTION_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/NATIVE_6B733_FAILURE.json
  • openspec/changes/code-review-16-portable-project-runtime/NATIVE_IMPORT_PRECEDENCE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/NATIVE_LOADER_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/NATIVE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/NATIVE_WORKER_LAUNCH_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/NESTED_PATH_CONTAINER_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/NESTED_PYTHONPATH_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/NESTED_PYTHON_CONTEXT_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/NESTED_SCOPE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/OFFLINE_CORPUS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/OFFLINE_DEVICES_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/OFFLINE_HOSTS_MOUNT_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/OFFLINE_PLUGIN_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/OPTIONAL_GIT_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PAIR_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PIP_METADATA_SELECTION_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/POETRY_MANAGER_INPUTS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PORTABLE_RANGE_SELECTION_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_ATTACHED_VCS_GIT_EVIDENCE.md
  • openspec/changes/code-review-16-portable-project-runtime/PR478_ATTACHED_VCS_GIT_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_CASE_IDENTITIES_EVIDENCE.md
  • openspec/changes/code-review-16-portable-project-runtime/PR478_CONTROLLED_PACKAGE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_CORE_DECLARATION_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_CORE_NATIVE_RED.json
  • openspec/changes/code-review-16-portable-project-runtime/PR478_CORPUS_CONTROL_RED.json
  • openspec/changes/code-review-16-portable-project-runtime/PR478_COVERAGE_BLOCKED_PRELOAD_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_COVERAGE_BOOTSTRAP_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_COVERAGE_EFFECTIVE_SCOPE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_COVERAGE_LIFECYCLE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_COVERAGE_PLUGIN_COMPATIBILITY.json
  • openspec/changes/code-review-16-portable-project-runtime/PR478_DEV_ALIGNMENT_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_IMPLICIT_HATCH_DEFAULT_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_INDEX_ACTIVATION_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_INSTALLED_ALIAS_CWD_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_INSTALLED_ALIAS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_INSTALLED_COVERAGE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_INSTALLED_FLAT_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_INSTALLED_RENAMED_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_LOGGING_PARSER_EVIDENCE.json
  • openspec/changes/code-review-16-portable-project-runtime/PR478_NATIVE_COVERAGE_FAILURE.json
  • openspec/changes/code-review-16-portable-project-runtime/PR478_NATIVE_COVERAGE_POLICY_EVIDENCE.md
  • openspec/changes/code-review-16-portable-project-runtime/PR478_NATIVE_COVERAGE_POLICY_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_NATIVE_ENVIRONMENT_FAILURE.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_NATIVE_ENVIRONMENT_PACKAGES.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_NATIVE_FIXTURE_FAILURES.json
  • openspec/changes/code-review-16-portable-project-runtime/PR478_NATIVE_TOOLS_CLOSURE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_NATIVE_TOOLS_COLLISION_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_NATIVE_TOOLS_GIT_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_NATIVE_TOOLS_LINUX_SMOKE.json
  • openspec/changes/code-review-16-portable-project-runtime/PR478_NATIVE_TOOLS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_NODE_DOMAIN_EVIDENCE.md
  • openspec/changes/code-review-16-portable-project-runtime/PR478_NODE_DOMAIN_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_NODE_POLICY_CACHE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_PUBLIC_TRUST_NATIVE_PROBE.json
  • openspec/changes/code-review-16-portable-project-runtime/PR478_PUBLIC_TRUST_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_PUBLISHED_CORE_API.json
  • openspec/changes/code-review-16-portable-project-runtime/PR478_PYTEST_PATH_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_PYTEST_STARTUP_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_REVIEWER_COVERAGE_RECONSTRUCTED_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_SEALED_SHELL_AUDIT.json
  • openspec/changes/code-review-16-portable-project-runtime/PR478_SEMGREP_DIAGNOSTICS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_SEMGREP_PARSER_EVIDENCE.json
  • openspec/changes/code-review-16-portable-project-runtime/PR478_SINGLE_MODULE_COLLISION_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_SINGLE_MODULE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_SINGLE_MODULE_WIRING_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_TARGET_COVERAGE_WIRING_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR478_TEMPLATE_FREE_GRAFTS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PREPARATION_DIAGNOSTIC_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR_REVIEW_474_ROUND1_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR_REVIEW_474_ROUND2_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR_REVIEW_474_ROUND3_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR_REVIEW_474_ROUND4_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR_REVIEW_474_ROUND5_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PR_REVIEW_474_ROUND6_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PTH_IMPORT_STATE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PYLINT_CORPUS_IMPORT_GUARD_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PYLINT_DISPATCH_CACHE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PYLINT_NAMESPACE_ROOTS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PYLINT_STARTUP_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PYTEST_DESELECTION_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PYTEST_EVIDENCE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PYTEST_NATIVE_DISCOVERY_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PYTEST_PATH_CONTAINMENT_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PYTEST_PATH_TYPES_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PYTEST_QUOTED_PATHS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PYTEST_RECURSION_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PYTEST_SETUP_EXECUTION_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PYTEST_TABLE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PYTHON_PATCH_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PYTHON_SELECTION_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PYTHON_VERSION_TRIGGER_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/PYTHON_WORKER_CLI_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/RECONSTRUCTION_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/RELATIVE_INCLUDE_CLI_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/RELATIVE_SELECTION_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/RELEASE_COVERAGE_ROOT_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/RELEASE_EMPTY_XPASS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/RELEASE_NATIVE_POLICY_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/RELEASE_NATIVE_ROOT_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/RELEASE_PYTEST_EVIDENCE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/REVIEW_EXCEPTIONS.md
  • openspec/changes/code-review-16-portable-project-runtime/SECTIONLESS_ELF_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/SECURITY_FIX.md
  • openspec/changes/code-review-16-portable-project-runtime/SETUP_CFG_INSTALL_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/SNAPSHOT_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/SOURCE_LINK_EXCLUSIONS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/SOURCE_LINK_REBASING_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/SOURCE_VENV_PACKAGE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/STAGED_VCS_TREE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/STARTUP_DISPATCH_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/STARTUP_EXIT_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/STARTUP_LOADER_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/TARGETED_TESTPATHS_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/TDD_EVIDENCE.md
  • openspec/changes/code-review-16-portable-project-runtime/UNBORN_VCS_CONTEXT_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/UNCHANGED_POLICY_MANIFEST_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/UV_TABLE_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/VCS_SNAPSHOT_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/VCS_VERSION_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/WORKER_BOUNDARY_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/WORKER_IDENTITY_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/WORKER_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/XDIST_WORKER_DOMAIN_RED.txt
  • openspec/changes/code-review-16-portable-project-runtime/design.md
  • openspec/changes/code-review-16-portable-project-runtime/proposal.md
  • openspec/changes/code-review-16-portable-project-runtime/requirements-evidence.yaml
  • openspec/changes/code-review-16-portable-project-runtime/specs/portable-project-runtime/spec.md
  • openspec/changes/code-review-16-portable-project-runtime/tasks.md
  • packages/specfact-code-review/module-package.yaml
  • packages/specfact-code-review/src/specfact_code_review/_review_utils.py
  • packages/specfact-code-review/src/specfact_code_review/review/commands.py
  • packages/specfact-code-review/src/specfact_code_review/run/commands.py
  • packages/specfact-code-review/src/specfact_code_review/run/installed_coverage.py
  • packages/specfact-code-review/src/specfact_code_review/run/portable_snapshot.py
  • packages/specfact-code-review/src/specfact_code_review/run/portable_worker.py
  • packages/specfact-code-review/src/specfact_code_review/run/runner.py
  • packages/specfact-code-review/src/specfact_code_review/run/runtime_adapters.py
  • packages/specfact-code-review/src/specfact_code_review/run/runtime_artifacts.py
  • packages/specfact-code-review/src/specfact_code_review/run/runtime_build_driver.py
  • packages/specfact-code-review/src/specfact_code_review/run/runtime_builder.py
  • packages/specfact-code-review/src/specfact_code_review/run/runtime_commands.py
  • packages/specfact-code-review/src/specfact_code_review/run/runtime_compatibility.py
  • packages/specfact-code-review/src/specfact_code_review/run/runtime_discovery.py
  • packages/specfact-code-review/src/specfact_code_review/run/runtime_domains.py
  • packages/specfact-code-review/src/specfact_code_review/run/runtime_git.py
  • packages/specfact-code-review/src/specfact_code_review/run/runtime_interpreter.py
  • packages/specfact-code-review/src/specfact_code_review/run/runtime_models.py
  • packages/specfact-code-review/src/specfact_code_review/run/runtime_native.py
  • packages/specfact-code-review/src/specfact_code_review/run/runtime_sources.py
  • packages/specfact-code-review/src/specfact_code_review/run/runtime_tools.py
  • packages/specfact-code-review/src/specfact_code_review/run/runtime_trust.py
  • packages/specfact-code-review/src/specfact_code_review/run/runtime_vcs.py
  • packages/specfact-code-review/src/specfact_code_review/run/sandbox.py
  • packages/specfact-code-review/src/specfact_code_review/run/scope.py
  • packages/specfact-code-review/src/specfact_code_review/run/sitecustomize.py
  • packages/specfact-code-review/src/specfact_code_review/run/target_bootstrap.py
  • packages/specfact-code-review/src/specfact_code_review/run/target_coverage.py
  • packages/specfact-code-review/src/specfact_code_review/run/target_launch.py
  • packages/specfact-code-review/src/specfact_code_review/run/target_pylint.py
  • packages/specfact-code-review/src/specfact_code_review/run/target_pytest.py
  • packages/specfact-code-review/src/specfact_code_review/tools/pylint_runner.py
  • packages/specfact-code-review/src/specfact_code_review/tools/semgrep_runner.py
  • pyproject.toml
  • registry/index.json
  • registry/modules/specfact-code-review-0.50.0.tar.gz.sha256
  • registry/modules/specfact-code-review-0.50.1.tar.gz.sha256
  • registry/signatures/specfact-code-review-0.50.0.tar.sig
  • registry/signatures/specfact-code-review-0.50.1.tar.sig
  • scripts/external_capsule_corpus.py
  • tests/fixtures/portable-runtime/corpus.json
  • tests/fixtures/portable-runtime/hatch-detached/README.md
  • tests/fixtures/portable-runtime/hatch-detached/hatch.toml
  • tests/fixtures/portable-runtime/hatch-detached/pyproject.toml
  • tests/fixtures/portable-runtime/hatch-detached/src/portable_customer/__init__.py.in
  • tests/fixtures/portable-runtime/hatch-detached/src/portable_customer/core.py.in
  • tests/fixtures/portable-runtime/hatch-detached/tests/test_core.py.in
  • tests/fixtures/portable-runtime/hatch-detached/tools/fixture_value.py.in
  • tests/unit/specfact_code_review/run/test_commands.py
  • tests/unit/specfact_code_review/run/test_installed_coverage.py
  • tests/unit/specfact_code_review/run/test_portable_pytest_discovery.py
  • tests/unit/specfact_code_review/run/test_portable_pytest_evidence.py
  • tests/unit/specfact_code_review/run/test_portable_pytest_policy.py
  • tests/unit/specfact_code_review/run/test_portable_snapshot.py
  • tests/unit/specfact_code_review/run/test_portable_worker.py
  • tests/unit/specfact_code_review/run/test_runner.py
  • tests/unit/specfact_code_review/run/test_runtime_adapters.py
  • tests/unit/specfact_code_review/run/test_runtime_artifact_boundary.py
  • tests/unit/specfact_code_review/run/test_runtime_artifact_hardlinks.py
  • tests/unit/specfact_code_review/run/test_runtime_artifacts.py
  • tests/unit/specfact_code_review/run/test_runtime_build_driver.py
  • tests/unit/specfact_code_review/run/test_runtime_builder.py
  • tests/unit/specfact_code_review/run/test_runtime_builder_logging.py
  • tests/unit/specfact_code_review/run/test_runtime_commands.py
  • tests/unit/specfact_code_review/run/test_runtime_compatibility.py
  • tests/unit/specfact_code_review/run/test_runtime_discovery.py
  • tests/unit/specfact_code_review/run/test_runtime_domains.py
  • tests/unit/specfact_code_review/run/test_runtime_git.py
  • tests/unit/specfact_code_review/run/test_runtime_interpreter.py
  • tests/unit/specfact_code_review/run/test_runtime_models.py
  • tests/unit/specfact_code_review/run/test_runtime_native.py
  • tests/unit/specfact_code_review/run/test_runtime_sources.py
  • tests/unit/specfact_code_review/run/test_runtime_tools.py
  • tests/unit/specfact_code_review/run/test_runtime_trust.py
  • tests/unit/specfact_code_review/run/test_runtime_vcs.py
  • tests/unit/specfact_code_review/run/test_scope.py
  • tests/unit/specfact_code_review/run/test_sitecustomize.py
  • tests/unit/specfact_code_review/run/test_snapshot_activation.py
  • tests/unit/specfact_code_review/run/test_target_bootstrap.py
  • tests/unit/specfact_code_review/run/test_target_coverage.py
  • tests/unit/specfact_code_review/run/test_target_coverage_bootstrap.py
  • tests/unit/specfact_code_review/run/test_target_coverage_boundaries.py
  • tests/unit/specfact_code_review/run/test_target_coverage_options.py
  • tests/unit/specfact_code_review/run/test_target_launch.py
  • tests/unit/specfact_code_review/run/test_target_pylint.py
  • tests/unit/specfact_code_review/run/test_target_pytest.py
  • tests/unit/specfact_code_review/run/test_target_pytest_selection.py
  • tests/unit/specfact_code_review/test_capsule_tool_commands.py
  • tests/unit/specfact_code_review/tools/test_pylint_runner.py
  • tests/unit/specfact_code_review/tools/test_semgrep_runner.py
  • tests/unit/test_external_capsule_corpus.py
✨ 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 dev

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

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 15, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-16T22:07:02.070802Z 3d6e984 New commits
🔒 Security Review Completed 2026-09-15T20:34:46.627817Z 23410c2 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 23410c2d1f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/specfact-code-review/src/specfact_code_review/run/portable_worker.py Outdated
@djm81 djm81 added bug Something isn't working enhancement New feature or request codebase Specfact codebase related topic dependencies Pull requests that update a dependency file labels Sep 15, 2026
@djm81 djm81 moved this from Todo to In Progress in SpecFact CLI Sep 15, 2026
djm81 and others added 6 commits September 16, 2026 18:39
Preserve installed project coverage identity, declared native tools and signed public trust. Keep native pytest coverage controls separate from reviewer measurement, retain worker evidence, and correct runtime activation and analyzer ownership. Refs #472 and #473.
Retain verified top-level installed coverage without broadening native scope. Exercise controlled corpus defects through explicitly pinned package imports while preserving coverage policy and complete-evidence gates. Refs #472 and #473.
#478)

Portable review now prepares and attaches the selected repository
runtime while preserving native imports, pytest options, test outcomes
and coverage policy. Previously, installed source copies could appear
uncovered; runtime activation was lost in materialized snapshots; and
review instrumentation could activate a customer aggregate coverage gate
that ordinary pytest had not requested.

The controller now attributes installed coverage only through verified
distribution ownership and exact source bytes. It preserves raw evidence
and rejects ambiguous, modified or transformed sources. Uniquely
RECORD-owned top-level `py_modules` also retain byte-verified
attribution without measuring all of site-packages; ambiguous default
module/directory selectors produce explicit incomplete evidence.
Snapshot runtime selection retains verified Hatch activation and
explicit configuration precedence. Declared native tools and public CA
certificates are sealed into the runtime, with cache identities and no
ambient host dependency fallback.

Pytest keeps every non-pass result and native coverage control,
including configured sources, exclusions, report destinations, disabled
coverage, thresholds and precision. Reviewer-owned measurement uses a
separate collector with the native plugin lifecycle; it does not alter
an active customer collector or suppress native failures. Missing worker
receipts, excluded reviewed sources and unsupported collection remain
explicit incomplete evidence. Each reviewed production file still
requires at least 80% coverage or the higher effective configured
threshold. Native aggregate threshold failures receive a specific
blocking diagnostic.

Related story #473, defect #472, release PR #477, and OpenSpec
`code-review-16-portable-project-runtime`. This also fixes release
comments4019944740/4019944751 and PR478 startup-root comment4020397305.

The controlled-defect corpus now imports and calls the deliberately
wrong-return function from an explicitly pinned package path. This
preserves native coverage scope and the required type-failure,
test-failure and complete-evidence checks. The previous injector never
called its function and placed it outside several native coverage
scopes.

## Validation

- Final original full and smart suites: **3,014 passed, one Linux-only
/proc skip, two existing lark warnings** each (149.94s and 149.57s).
- Real pytest-cov7.0.0/7.1.0, xdist and subprocess tests cover
native/reviewer lifecycle, report fidelity, thresholds, exclusions and
missing evidence. New collector coverage97.04%; introduced bootstrap
loader27/28 statements covered. Whole legacy bootstrap coverage remains
separately qualified; no coverage threshold was reduced.
- Strict OpenSpec, planned Requirements evidence, formatting, typing,
lint, YAML/import checks and all original commit hooks passed. Fresh
full bug-hunt passed with documented legacy/boundary advisories; the
final affected review had zero warnings/errors and two informational
fixture-length suggestions. Independent reviews reported no remaining
findings.
- Follow-up source commit `2cd93755` and exact CI-signature import
`8ef33d6a` are GPG-signed and GitHub verified. Canonical [CI signing
35131005219](https://github.com/nold-ai/specfact-cli-modules/actions/runs/35131005219)
passed. Exact CI manifest bytes were imported without unsigned bot
ancestry; strict filesystem payload, version and cryptographic
verification passed all seven manifests.
- Single-module regressions: 55 bridge, 128 wiring and 32 helper tests
passed, including real imports, unrelated-module exclusion and
native/configured source preservation. Controlled-package fixture
regressions: 47 passed, including actual traced function execution under
unchanged source_pkgs and omit-only coverage configurations. Committed
RED evidence and independent reviews support both corrections.
- [Current-head candidate CI
35150340281](https://github.com/nold-ai/specfact-cli-modules/actions/runs/35150340281)
passed all three candidate jobs for signed head `8ef33d6a` across Python
3.11–3.13. All 45 retained external reports were independently checked:
30 cold/warm executions passed; all 15 controlled defects produced
actual test and type failures with the bad function executed and zero
UNKNOWN evidence. All three corpus summaries are PASS. Signatures,
Requirements evidence, Docs Review, CodeQL, CodeRabbit and minimum-core
compatibility checks have passed; all three Linux quality suites passed
with 3,015 tests, two existing warnings and no skips each; both
case-sensitive file/directory tests explicitly passed on every ABI. All
current-head integration checks are green.
- Previous candidate 35124077143 failed: all 30 cold/warm pinned-corpus
executions passed without UNKNOWN evidence, but nine controlled-defect
runs exposed the injector defect corrected here. That failure and the
earlier signed 0.50.0 failures remain regression evidence, not
acceptance of the current candidate.

## Release and limits

Candidate version **0.50.1** preserves immutable0.50.0 assets. GitHub CI
owns registry publication and signatures. Linux x86-64 is the supported
execution platform; macOS/Windows controllers receive capability
diagnostics rather than claimed native execution. Current-head candidate
gates and the pinned upstream corpus must pass before integration;
public signed-installation acceptance follows protected publication.

The original customer repository remains inaccessible. Defect #472 and
story #473 stay open until acceptance passes. The paired core fixture
update must bind the final accepted module identity. Rollback is a
reviewed revert and a new signed version, preserving existing immutable
assets.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 046d366c19

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread registry/index.json Outdated
Automated registry publish update from workflow run 35154689597.

Bundle selection reasons:
- `specfact-code-review`: changed, registry-outdated

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3d6e984f8d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@djm81 djm81 changed the title release: publish Code Review 0.50.0 portable project runtimes release: publish Code Review 0.50.1 portable project runtimes Sep 16, 2026
@djm81

djm81 commented Sep 16, 2026

Copy link
Copy Markdown
Contributor Author

Deferred follow-up tracked in #480 (P2: preserve explicitly selected pytest files). The ticket includes the original annotation, proposed reproduction, acceptance criteria, and a triage ledger distinguishing the P1 findings already addressed by #478/#479.

Per the maintainer decision, Code Review 0.50.1 remains frozen. This follow-up is for a subsequent version and does not request further changes to the 0.50.1 source or release artifacts. The resolved P2 thread denotes deferral, not a completed fix.

@djm81
djm81 merged commit b3ca301 into main Sep 16, 2026
41 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in SpecFact CLI Sep 16, 2026
djm81 added a commit to nold-ai/specfact-cli that referenced this pull request Sep 16, 2026
Promote portable Code Review runtime documentation and authenticated
command generation from `dev` to `main`, accompanying [Code Review
module 0.50.1 / modules PR
#477](nold-ai/specfact-cli-modules#477). This
includes #730 and the validated fixture follow-up #737, linked to #728
and OpenSpec `docs-16-code-review-runtime-parity` /
`docs-17-code-review-pytest-fixture-parity`.

The generated reference includes runtime inspect/prepare and project
configuration/runtime options. Documentation workflows authenticate
their separate immutable module source before loading it. The approved
Requirements execution fixture and frozen test mappings remain
unchanged.

## Validation and promotion

- #737 merged as `1bd17dbfed1ae5b3b806e5d7d5882ab032cf2cef`; its tree
`4c9ba46b2ace65cd8df0fcd5a77c2b14a42f599c` exactly matches validated
head `947df30724953419d61ad0d9924c8e6c13024cba`.
- The documentation fixture now selects accepted, CI-signed modules
source `046d366c190af7a188d6f48953a96edb65e766db` (Code Review 0.50.1),
delivered by [modules
#478](nold-ai/specfact-cli-modules#478).
Automated registry publication was integrated by [modules
#479](nold-ai/specfact-cli-modules#479).
- Protected #737 Requirements CI run
[35156480395](https://github.com/nold-ai/specfact-cli/actions/runs/35156480395)
reconciled the six frozen pytest regressions against genuine prior
failing evidence: `implementation-verified`, `passing-after-red-proven`,
no findings. Existing 38-case proof remains intact.
- Local follow-up validation: six regression cases passed; existing 38
cases and 60 documentation tests passed; smart suite 3,206 passed, 10
skipped, two existing warnings. All #737 protected checks passed before
merge.
- CHANGE_ORDER now includes the omitted CI change and reconciles the
inventory to 35 active-tree, 21 parking-lot and 120 archived entries.
The corresponding release review thread is addressed by #737.
- Fresh main-target Requirements promotion [35157226973, attempt
2](https://github.com/nold-ai/specfact-cli/actions/runs/35157226973) and
Trusted Requirements Authority [35157229290, attempt
2](https://github.com/nold-ai/specfact-cli/actions/runs/35157229290)
passed on the merged head. All reported checks pass. GitHub still
expects `Assert signing reproducibility`, whose workflow is restricted
to a post-merge push to main; this protection/workflow mismatch remains
a merge blocker. No protection was changed or bypassed.

## Release boundaries

Code Review **0.50.1 is frozen**. The explicit pytest-file selection P2
is deferred to [modules
#480](nold-ai/specfact-cli-modules#480) for a
subsequent version; do not alter 0.50.1 source or immutable publication
assets for that follow-up.

Modules #477 merged to main as
`b3ca3014c8d0e064b860856d4b560a2591999532`; canonical
signing/publication workflows passed. Public signed-installation corpus
run
[35158056310](https://github.com/nold-ai/specfact-cli-modules/actions/runs/35158056310)
is still running, so its acceptance remains outstanding. Capsule
execution support remains Linux x86-64 on Python 3.11–3.13; automatic
Windows/macOS handoff is not implemented. No core version bump or Python
package publication is implied by this documentation promotion.

Rollback is a reviewed revert of the documentation/tooling changes;
immutable prior artifacts remain available.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working codebase Specfact codebase related topic dependencies Pull requests that update a dependency file enhancement New feature or request

Projects

Status: Done

1 participant