Skip to content

[User Story] Portable capsule review with automatic external project runtimes #473

Description

@djm81

User Story

As a Python repository maintainer, I want SpecFact to discover and prepare my project's runtime automatically, so capsule review analyzes my actual code and dependencies without requiring SpecFact-specific packaging or repository patches.

Problem and verified scope

Addresses #472. Code Review 0.49.85 launches its capsule but ordinary reviews have no consumer runtime handoff; the current reserved import catalog also conflicts with common project packages and pytest policy rejects ordinary plugin controls. The original customer PR remains inaccessible to the implementation identity; customer logs are reported evidence, not an independently reproduced result.

Delivery contract

  • Automatically discover and prepare pip/pip-tools, Hatch, uv and Poetry project runtimes, preserving constraints, locks, environment selection, source roots and test configuration.
  • Add specfact code review runtime inspect --json, runtime prepare --json, and review --project-config / --project-runtime options.
  • Add a local, content-addressed project-runtime-layer-v2 descriptor; preserve v1 and protected PR authority boundaries.
  • Separate sealed control code from target dependency and plugin execution; diagnose genuine incompatibility and native-library failures without altering project pins.
  • Keep independent static findings when preparation fails, with one root diagnostic and incomplete dependent evidence instead of cascading import findings.
  • Validate real collection/execution and normal consumer GitHub Actions without clearing GITHUB_ACTIONS.

Acceptance

  1. Pinned Requests (pip), Hatch, Flask (uv), and Poetry checkouts complete applicable analysis and real test slices on non-root Ubuntu 24.04, Python 3.11/3.12/3.13.
  2. A clearly labelled reconstruction covers [Bug] Capsule review fails closed on external Hatch projects without project-runtime handoff #472's detached Hatch src layout, third-party/native imports and pytest plugin configuration.
  3. Cold preparation, offline warm reuse, descriptor attachment, source immutability, genuine defect detection and corrupt/incompatible runtime rejection are proven.
  4. Relevant PRs require the external corpus; the published signed release repeats the same acceptance.
  5. Required quality, signature, Requirements, and SpecFact review gates pass; actionable PR findings are fixed.
  6. [Bug] Capsule review fails closed on external Hatch projects without project-runtime handoff #472 stays open until its original customer reproduction is verified. A reconstructed fixture does not substitute for that evidence.

OpenSpec and governance

Change: code-review-16-portable-project-runtime.
Branch: codex/feature-code-review-16-portable-project-runtime; PR targets dev.
Parent: Feature #163 under Epic #162. Blocks resolution of #472.
Related baseline only: #466, #459, #175. No open prerequisite has been identified.
Labels: enhancement, module, codebase, openspec, change-proposal. Assignee: djm81. Project: SpecFact CLI #1. Priority: High.

Implementation explicitly authorized on 2026-09-14 (Europe/Berlin). Follow spec → tests → recorded failure → production implementation → passing evidence. Initial platforms are Linux x86-64, CPython 3.11–3.13. Use 90-minute corpus job ceilings and record actual resource cost. Rollback uses reviewed revert and new signed publication; prior release remains affected by #472.

Activity

  1. self-assigned this
    on Sep 14, 2026
  2. added
    moduleSpecfact Module related topic
    codebaseSpecfact codebase related topic
    on Sep 14, 2026
  3. added theissue type on Sep 14, 2026
  4. moved this from Todo to In Progress in SpecFact CLIon Sep 14, 2026
  5. djm81 commented on Sep 14, 2026

    @djm81
    ContributorAuthor

    Protected delivery now continues in #475 (supersedes #474 while preserving its complete history). The exact final CI-signed source tree is carried in a single GitHub-verified commit from dev; fresh required checks and all 15 external corpus combinations are running in https://github.com/nold-ai/specfact-cli-modules/actions/runs/34907939755. Final local smart/full suites each passed 2,593 tests; independent review found no new defects. The stronger corpus guard must confirm correction of the demonstrated Poetry/Pylint namespace false findings. Core follow-up nold-ai/specfact-cli#730 has verified retained RED/final proof and awaits the final signed/merged module fixture. Public 0.50.0 acceptance remains pending; #472 still requires the original customer reproduction.

  6. moved this from In Progress to Done in SpecFact CLIon Sep 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

change-proposalProposal for a new changecodebaseSpecfact codebase related topicenhancementNew feature or requestmoduleSpecfact Module related topicopenspecopenspec change

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions