Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions specs/025-returned-generation/plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
**Branch**: `025-returned-generation` | **Date**: 2026-10-09 | **Spec**: [spec.md](spec.md)
**Input**: Feature specification from `specs/025-returned-generation/spec.md` (CShells #167)

**Delivery**: Completed through [PR168](https://github.com/valence-works/cshells/pull/168) and public preview `.173`; see [qualification](qualification.md) for exact gates and limitations.

## Summary

Add a nullable scalar returned-generation value to the transient activation attempt and immutable target snapshot. Populate it from the descriptor of the successful shell returned by the runner's own registry call, for built-in and custom registries. Keep `VerifiedGeneration` semantics unchanged, leave existing public constructors unchanged, and ensure external satisfaction does not fabricate a returned value.
Expand Down
19 changes: 19 additions & 0 deletions specs/025-returned-generation/qualification.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Returned Generation Diagnostics Qualification

[CShells #167](https://github.com/valence-works/cshells/issues/167) is complete. Product [PR168](https://github.com/valence-works/cshells/pull/168) normal squash-merged as `f5bfc0db5ef9440dd777c2dd0d97fbf817f22e2f`; public Feedz preview **0.0.30-preview.173** is the executable acceptance version. [Final issue evidence and claim release](https://github.com/valence-works/cshells/issues/167#issuecomment-6073687376) records root and independent reviews, verification, publication and consumer proof.

## Verification

- Production builds for .NET 8/9/10 passed with zero warnings/errors. The full library suite passed 811 tests and E2E passed 31; final focused runner tests passed 24/24. A final bounded-wait-only test adjustment followed the full-suite run and passed in that focused suite; production source was unchanged.
- An unchanged consumer binary compiled against the prechange public abstractions executed the original 9/15-parameter constructors against candidate abstractions on actual .NET 8/9/10. Both compiled capture/projection mutations failed only the intended custom-current row (expected 37, actual null); stale controls passed. Exact source/DLL restoration and a restored focused pass were recorded.
- [Exact-head CI](https://github.com/valence-works/cshells/actions/runs/37878478247) passed for PR head `757abfb4dbcbe4b183abc0aa4da147622f8688fd`. Resulting-main [Packages attempt 2](https://github.com/valence-works/cshells/actions/runs/37878600719/attempts/2) passed build/test/pack and Feedz deployment. NuGet.org deployment was skipped for the preview.
- All ten public archives are byte-identical to pipeline artifacts; nuspec versions/source commits and family dependencies match, and all thirty net8/net9/net10 assets are present. `CShells.Nuplane` alone declares Nuplane `0.0.11-preview.99` dependencies, across all three TFMs. Independent archive recomputation agrees.
- The fresh-cache PackageReference-only consumer passed ten groups and 44 assertions on each actual runtime: .NET 8.0.10, 9.0.9 and 10.0.8 (30 groups/132 assertions total). Six loaded DLLs match the audited public TFM assets, and both cached archives trace to Feedz. Cases include constructor/default-null, built-in/custom success, stale/failure/call cancellation, cancellation during a gated observer after successful return, external-only and late current/stale results, and terminal history after actual reload. Independent review corroborates raw reports, source hashes and package provenance.

## Retained failures and boundaries

Publisher attempt 1 failed an existing weak-probe test (810/811 passed; expected count 0, collected sentinel -1); one failed-job rerun passed. Its cause is not claimed fixed. Consumer attempt 1 failed restore on a stale HTTP index; attempt 2 restored but failed a harness-only collection-interface compile binding. Attempt 3 used an isolated HTTP cache and corrected `IServiceCollection` declaration, built with zero warnings/errors and passed all runtime cases. An early source review overlapped a deliberate mutation; its raw record is excluded from acceptance and superseded by a fresh restored-source review.

Raw logs, TRX, hashes, archives and independent/root addenda are retained in session artifact `cshells-167-returned-generation/` (`root-qa`, `feedz-audit`, `public-consumer-execution-3`). The consumer qualification JSON SHA-256 is `d35d448ecdddf60cae523b05268b36e5411a0423dffafe345577fb0ffda50d7a`.

Copilot and Greptile requests were waived by the owner; neither is represented as approving the change. This qualifies the bounded diagnostic feature and preview consumer. Final stable releases, pruning admission/safety, and Foundation host adoption/readiness remain separate program work. A later documentation-only publication does not replace this immutable `.173` executable acceptance.
2 changes: 1 addition & 1 deletion specs/025-returned-generation/spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

**Feature Branch**: `025-returned-generation`
**Created**: 2026-10-09
**Status**: In progress — local implementation qualified; review, hosted gates and public-package acceptance pending
**Status**: Implemented and qualified in public preview `0.0.30-preview.173` ([qualification](qualification.md)); stable program releases and Foundation adoption remain separate.
**Input**: GitHub issue #167, “Expose the returned generation in activation-run diagnostics”

## User Scenarios & Testing
Expand Down
12 changes: 8 additions & 4 deletions specs/025-returned-generation/tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@
- [x] T010 [US1] Compile a small compatibility consumer against the pre-change `CShells.Abstractions` binary from the base commit, then run the unchanged consumer with the candidate `CShells.Abstractions` binary substituted; prove both existing activation-result constructors bind and execute, and retain source/package provenance and logs under `artifacts/modular-hosting-2500/cshells-167/` in the session-owned artifact workspace.
- [x] T011 [US1] Perform the compiled reversible mutation from `specs/025-returned-generation/quickstart.md`: remove only the successful returned-generation assignment, prove the causal returned-generation test fails, restore byte-identical source, rebuild, and rerun the focused suite successfully; retain mutation and restoration evidence.
- [x] T012 [US1] Complete an independent exact-source review of the candidate diff and test evidence before opening an organization pull request; record the reviewed commit and findings under `artifacts/modular-hosting-2500/cshells-167/` in the session-owned artifact workspace.
- [ ] T013 [US1] Open the normal organization pull request after local gates and exact-source review pass; require all current-head hosted checks and applicable review gates to pass before merge.
- [ ] T014 [US1] After normal merge, verify resulting-main checks and the normal preview-package publication; audit the complete published CShells family for source commit, package/version metadata, dependency versions, TFMs, and archive/DLL identity under `artifacts/modular-hosting-2500/cshells-167/` in the session-owned artifact workspace.
- [ ] T015 [US1] Build and run a fresh-cache PackageReference-only consumer against the exact published preview package family on .NET 8, 9, and 10; verify successful built-in/custom returned-generation values, `NotCurrent`/failure/cancellation null values, external-only and in-flight external-satisfaction behavior, later-generation stability, and existing verified-generation semantics; retain loaded-assembly/archive/cache provenance and logs under `artifacts/modular-hosting-2500/cshells-167/` in the session-owned artifact workspace.
- [ ] T016 [US1] Post the required issue evidence for implementation, review, merge, resulting-main checks, and public-package qualification to CShells #167, then release the issue claim only after the task is complete.
- [x] T013 [US1] Open the normal organization pull request after local gates and exact-source review pass; require all current-head hosted checks and applicable review gates to pass before merge.
- [x] T014 [US1] After normal merge, verify resulting-main checks and the normal preview-package publication; audit the complete published CShells family for source commit, package/version metadata, dependency versions, TFMs, and archive/DLL identity under `artifacts/modular-hosting-2500/cshells-167/` in the session-owned artifact workspace.
- [x] T015 [US1] Build and run a fresh-cache PackageReference-only consumer against the exact published preview package family on .NET 8, 9, and 10; verify successful built-in/custom returned-generation values, `NotCurrent`/failure/cancellation null values, external-only and in-flight external-satisfaction behavior, later-generation stability, and existing verified-generation semantics; retain loaded-assembly/archive/cache provenance and logs under `artifacts/modular-hosting-2500/cshells-167/` in the session-owned artifact workspace.
- [x] T016 [US1] Post the required issue evidence for implementation, review, merge, resulting-main checks, and public-package qualification to CShells #167, then release the issue claim only after the task is complete.

## Dependencies & Execution Order

Expand Down Expand Up @@ -58,3 +58,7 @@
- Do not change public constructor parameter lists, lifecycle settlement, retry policy, cancellation, external reconciliation, or readiness behavior.
- Test assertions must distinguish the external target's existing `VerifiedGeneration` from a later successful in-flight call's `ReturnedGeneration`.
- No new project, dependency, package pin, or generated-map update is expected.

## Delivery record

All tasks completed. [Qualification](qualification.md) records the exact product/main/public-package acceptance. This completion record adds no production change or stable-release acceptance.
Loading