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
59 changes: 59 additions & 0 deletions .agnir/evidence/2026-09-03-agnir-v0.2.0-main-acceptance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Published Agnir v0.2.0 authoritative-main acceptance — 2026-09-03

Status: **accepted on authoritative Svif main; post-publication verification complete.**

## Purpose

Close the real downstream migration loop for Svif across the published Agnir compatibility boundary from `v0.1.1` / Core-profile `0.1` to `v0.2.0` / Core-profile `0.2`, and record the exact target-reconciliation/publication receipts.

## Source and migration receipts

- captured authoritative Svif main before migration: `dac058789a27f32f4ed1949874c1954f31f12bd8`;
- published source Agnir package: `v0.1.1` -> `e9712357ab590e5c1e5357b3cf3219d07d789aff`;
- published target Agnir package: `v0.2.0` -> `fc84095ed5d500be9e1b43a4af0e93356571bbd4`;
- validated migration source: `267f3d706e4fba67f2fb4a3a7ea33e80b9fb48ef`;
- migration source tree: `d6ffec2fddc48ec0052dd0531ca0088fb13b37b2`;
- final migration-source CI: run `33724859300`, repository-integrity/runtime-kernel/portable-contracts all success.

The migration preserved Project identity `urn:svif:project:svif-core` and the existing State/Next/Decisions/Evidence locators while establishing an explicit Core 0.2 logical lineage distinct from its VCS selector.

## Target reconciliation

The validated source result was reconciled into target-owned main continuity before publication.

- target-reconciled candidate: `2b5b92ab234d4c1b0d6596bbb0b8439eb6e05cfa`;
- target candidate tree: `191db90c0b959254025cb061159044c1b0ddf3d6`;
- first parent: captured main `dac058789a27f32f4ed1949874c1954f31f12bd8`;
- second parent: validated migration source `267f3d706e4fba67f2fb4a3a7ea33e80b9fb48ef`;
- target logical lineage: `urn:svif:lineage:authoritative`;
- target VCS selector: `refs/heads/main`;
- target Agnir operational provenance: `v0.2.0@fc84095ed5d500be9e1b43a4af0e93356571bbd4`.

Candidate CI run `33725164044` passed repository-integrity, runtime-kernel and portable-contracts. PR #7's synthetic merge commit `1db24d60c7b4d60bde243c20fac1ab6ea1968798` produced exactly the candidate tree `191db90c0b959254025cb061159044c1b0ddf3d6`.

Fresh stale checks immediately before publication confirmed:

- main still `dac058789a27f32f4ed1949874c1954f31f12bd8`;
- migration source still `267f3d706e4fba67f2fb4a3a7ea33e80b9fb48ef`;
- integration ref still candidate `2b5b92ab234d4c1b0d6596bbb0b8439eb6e05cfa`.

## Publication and observation

Authoritative `main` advanced non-force exactly once from `dac058789a27...` directly to `2b5b92ab234...`. Ordinary PR merge was not used. No migration-line continuity was published first and repaired afterward.

Post-publication push CI run `33725240001` completed successfully with all three jobs green:

- `repository-integrity` — success;
- `runtime-kernel` — success;
- `portable-contracts` — success.

Fresh authoritative-main reads after publication confirmed:

- `AGNIR.yaml`: Core `0.2`, `repository-filesystem/0.2`, Project `urn:svif:project:svif-core`, lineage `urn:svif:lineage:authoritative`, selector `refs/heads/main`, unchanged durable locators, Agnir `v0.2.0@fc84095...`;
- `SVIF.yaml`: matching Project identity, compatibility/profile `0.2`, matching logical lineage and VCS selector.

## Product evidence

This real migration did not expose an Agnir `v0.2.0` semantic defect. The failures encountered during convergence were stale Svif guards that still encoded the previous current binding. Those guards were corrected while preserving Core/profile `0.1` regression coverage and the immutable `v0.2.0-preview.1` first-use bootstrap baseline.

This receipt is materially stronger than both synthetic migration fixtures and the earlier pre-release Core 0.2 real-consumer validation because both endpoints are published Agnir releases and the accepted result is now authoritative Svif main truth.
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Published Agnir v0.1.1 -> v0.2.0 real downstream migration — 2026-09-03

Status: **validated downstream migration with target-main reconciliation staged; authoritative publication pending exact candidate validation and stale checks.**

## Captured source Project

- repository: `iorLab/svif`;
- captured authoritative main: `dac058789a27f32f4ed1949874c1954f31f12bd8`;
- Project identity: `urn:svif:project:svif-core`;
- source `AGNIR.yaml` blob: `3c94e5b5a342c3515f1ef67e3aec323029d64665`;
- source `SVIF.yaml` blob: `d7e360f747afa9f9844c6b722ef0b35b476b29a5`;
- source State blob: `d70d21e3ab8b29828b89edf38b514f91d12160d2`;
- source Next Actions blob: `486e09ab08821169b72ea7d6473abd2d383a20cd`;
- source Agnir repository release: `v0.1.1` -> `e9712357ab590e5c1e5357b3cf3219d07d789aff`;
- source Core/profile: `0.1` / `repository-filesystem/0.1`.

The source already had durable State, Next Actions, Decisions, Evidence and one stable Project identity. This was therefore an explicit migration, never a clean re-initialization.

## Target published Agnir compatibility

- repository release: `v0.2.0`;
- exact stable tag target: `fc84095ed5d500be9e1b43a4af0e93356571bbd4`;
- Core compatibility: `0.2`;
- discovery profile: `repository-filesystem/0.2`.

## Migration implementation sequence

1. `ddaee058efe4c8381f60f5a2ebcae0de9ee9203d` added the already real-consumer-validated dual-line 0.1/0.2 Agnir adapter and tests without changing Project compatibility.
2. `eac2ab0dd70695d972b99afad084614eae26c77c` atomically migrated branch-local Project truth to Core/profile `0.2`, retained the Project identity and memory locators, introduced logical lineage `urn:svif:lineage:agnir-v0.2.0-stable-migration`, and separately bound selector `refs/heads/migration/agnir-v0.2.0-stable`.
3. Initial PR #6 run `33723726831` passed portable contracts; the only failures were Svif tests/checkers that still asserted the old current self-host binding plus one accidentally dropped distribution marker. No Agnir 0.2 adapter/runtime semantic defect appeared.
4. `8aaed18dbbbbb857873500505ae941289f0029c4` converged current-binding guards while preserving the immutable Preview.1 bootstrap Core/profile `0.1` contract. Run `33724143647` passed repository-integrity, runtime-kernel, and portable-contracts.
5. `5b2086bdc61cd5dad8397241565fbbda9592fc88` synchronized the active Skill and repository map. The Skill now explicitly distinguishes current Svif self-host Core/profile `0.2` from released Preview.1 first-use bootstrap Core/profile `0.1`, and validates Core 0.2 logical lineage plus applicable VCS selector binding.
6. Exact PR-head run `33724576017` passed all three jobs.
7. PR #6 synthetic merge `5d145ce1eb4ec4e6b837194a3e206b77bb71665b` produced tree `142051872a708c9944c737e1ebcee008ac27a381`, byte-identical to `5b2086...` tree.
8. `267f3d706e4fba67f2fb4a3a7ea33e80b9fb48ef` recorded the migration-line validation receipts without changing product semantics. Its exact tree is `d6ffec2fddc48ec0052dd0531ca0088fb13b37b2`; run `33724859300` passed repository-integrity, runtime-kernel, and portable-contracts.

No Agnir `v0.2.0` product defect has been observed in this real downstream migration. The observed friction was confined to downstream guards and version-surface wording, and was repaired without weakening 0.1 regression/bootstrap pressure.

## Product-boundary finding

The migration established two independently versioned facts:

1. the Svif repository Project's current self-host binding may consume published Agnir Core/profile `0.2`;
2. the already published `v0.2.0-preview.1` Plugin first-use bootstrap remains on its immutable Core/profile `0.1` baseline until a future Svif distribution deliberately changes onboarding.

Conflating them would either leave the repository's current binding stale or retroactively rewrite a released distribution contract.

## Target-main reconciliation staged

Fresh reads before candidate construction observed:

- authoritative main still at `dac058789a27f32f4ed1949874c1954f31f12bd8`;
- validated migration source still at `267f3d706e4fba67f2fb4a3a7ea33e80b9fb48ef`.

The target candidate is constructed from the validated migration source product/package tree but deliberately replaces migration-line continuity with target-owned main truth:

- Project identity remains `urn:svif:project:svif-core`;
- Core/profile remain `0.2` / `repository-filesystem/0.2`;
- stable Agnir operational provenance remains `v0.2.0` at `fc84095...`;
- authoritative logical lineage becomes `urn:svif:lineage:authoritative`;
- VCS selector becomes `refs/heads/main`;
- `SVIF.yaml` carries the same target lineage/selector binding;
- durable memory locators remain unchanged;
- target Current State / Next Actions preserve Svif Preview/distribution/authority obligations rather than copying migration-line State/Next verbatim.

The migration source lineage, selector, and branch-local continuity are reconciliation input only. They are not target truth.

## Publication invariant

Main must remain at the captured target while the exact target-reconciled candidate is validated. Any synthetic validation tree must equal the staged candidate tree. Immediately before publication, both main and migration source refs must be re-read; any advance invalidates the candidate. Ordinary PR merge is not the publication primitive.

Only after exact candidate validation and fresh stale checks may main advance once directly to the target-reconciled candidate. A subsequent authoritative-main run must prove fresh Core/profile `0.2` discovery, Project identity, target lineage/selector binding, preserved durable locators, stable Agnir provenance, and the complete Svif product check surface. A later checkpoint records the exact main receipt and closes the downstream-upgrade evidence loop.
Loading
Loading