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
11 changes: 11 additions & 0 deletions .agnir/decisions.md
Original file line number Diff line number Diff line change
Expand Up @@ -227,3 +227,14 @@
- Existing Project identity, lineage, selector, compatibility and released Preview tags remain
unchanged. The unpublished 0.2.0 candidate may change; older exact package/ZIP receipts stay
historical and cannot certify the new bytes.


## 2026-09-20 — First-use Agnir version selection follows Project truth

- Svif MUST distinguish an existing Agnir Project from a genuinely uninitialized Project before first-use bootstrap.
- If a Project already declares a valid Agnir Core/profile compatibility line, Svif preserves and dispatches that exact line. A `0.1`, `0.2`, `1.0`, or future supported `x.y` Project is not migrated merely because a newer Agnir distribution exists.
- If Svif binding is added to an existing Agnir Project, its continuity compatibility/profile MUST match the existing `AGNIR.yaml`; mismatch is a repair case.
- A genuinely uninitialized Project resolves the canonical `iorLab/agnir` latest **published non-prerelease stable** at operation time and initializes using the Core/profile and activation contract declared by that release.
- "Latest stable" MUST NOT mean moving `main`, an RC, an untagged revision, stale model memory, or fallback to Svif Preview's historical Core/profile `0.1` bootstrap. If stable resolution is unavailable, bootstrap stops with a capability blocker.
- Agnir package SemVer / operational provenance and Project Core/profile compatibility are separate version layers. A newer distribution may operate a supported older Project without silently relabeling it.
- The immutable Svif `v0.2.0-preview.1` artifact retains its historical `0.1` bootstrap bytes; this decision changes the current unpublished `0.2.0` line and future distributions only.
11 changes: 11 additions & 0 deletions .agnir/evidence/2026-09-20-bootstrap-version-selection.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Svif first-use Agnir version-selection repair — 2026-09-20

Status: implementation candidate on `fix/bootstrap-agnir-version-selection`; OpenAI Platform publication remains paused.

Principal correction: Svif must not pin all new/current Projects to Agnir Core/profile `0.1`. Existing Project truth wins. A valid existing Agnir Project keeps the Core/profile it declares; adding Svif creates/validates a matching continuity binding and does not authorize compatibility migration. Partial or contradictory Agnir artifacts remain repair cases.

Only a genuinely uninitialized Project resolves the canonical latest published stable Agnir at operation time. Stable means a published non-prerelease tag/Release, never moving `main`, RC, untagged source, stale model memory, or fallback to the old Svif Preview baseline. Package SemVer and Core/profile compatibility remain separate.

Current external observation on 2026-09-20: `iorLab/agnir` latest published stable is repository release `v1.0.2` at revision `b5626394ec40a5cb7a28c01892acde07cc0adc8e`; that release still declares Core `1.0` and `repository-filesystem/1.0`. This receipt is evidence of today's resolved stable, not a hard-coded future bootstrap constant. Future first-use operations must resolve latest stable again.

The immutable Svif `v0.2.0-preview.1` release is not modified. It remains historical evidence with its original `0.1` bootstrap behavior. The current unpublished `0.2.0` Skill is the first Svif line to supersede that rule.
14 changes: 2 additions & 12 deletions .agnir/next-actions.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,7 @@ and native install/discovery now have passing evidence; do not repeat the old cl
that the four audit findings are unrepaired or that publisher prerequisites are the P0.
Full current-version Skill effectiveness and whole-release sign-off remain open.

1. **Complete same-candidate authenticated native behavior.** Use the repaired Plugin
tree `7cc90517013306181a4df2238f849b85cf716665` from a fixed reviewed checkout.
`checks/check_local_install.py --output <isolated-directory>` verifies real install,
enabled state, every installed file and native Skill discovery. That no-auth layer
passed on Linux/macOS with Codex 0.155.1 in PR run `35509417968`.
Use the operator's authorized Codex login in the isolated CODEX_HOME, then run the
same harness with `--exercise`. It performs an ordinary Project task/checkpoint,
fresh process + new conversation recovery without an old transcript, and unchanged
reuse of an existing Project. Do not copy, request or commit secret token values.
1. **Accept the new bootstrap-version-selection Plugin subject before authenticated behavior.** The current Skill now preserves an existing Project's declared Agnir Core/profile and resolves latest published stable Agnir only for a genuinely uninitialized Project. This changes Plugin bytes, so tree `7cc90517013306181a4df2238f849b85cf716665` / run `35509417968` remains historical for the prior candidate. Run full CI and `checks/check_local_install.py --output <isolated-directory>` on the exact new candidate; require installed+enabled status, exact installed bytes and native Skill discovery on supported hosts before using `--exercise`. Then use the operator's authorized Codex login in the isolated CODEX_HOME and perform ordinary-Project bootstrap/task/checkpoint, fresh process + new conversation recovery, and unchanged existing-Project reuse. Do not copy, request or commit secret token values.
2. **Exercise all same-candidate negative host scenarios.** Follow
`conformance/RELEASE_READINESS.md`: broken discovery, other Continuity Provider,
identity/version mismatch, failing required checks, absent authority, missing
Expand Down Expand Up @@ -47,9 +39,7 @@ proof of the changed Skill. No new version tag or public release is authorized h
- Keep `v0.2.0-preview.1` immutable at `2b07b6b5ea0bc8feee59f9f647be9af3069d056e`.
Preserve its **immutable candidate**, real **Codex CLI** and **ChatGPT desktop/Codex**
historical acceptance evidence; it cannot certify the changed current candidate.
- Preserve Project identity, Core/profile 1.0 self-host, 0.1/0.2/1.0 adapter support,
current 0.1 first-use bootstrap, logical lineage, VCS selector and durable locators.
Installing new code is not authorization to silently migrate an existing Project.
- Preserve Project identity, Core/profile 1.0 self-host, 0.1/0.2/1.0 adapter support, logical lineage, VCS selector and durable locators. Existing target Projects preserve their own declared Agnir compatibility; only genuinely uninitialized Projects resolve latest published stable. Installing new code is not authorization to silently migrate an existing Project.
- Preserve accepted Agnir promotion/adoption, canonical brand and bilingual entry semantics.
- Live Cloudflare delivery stays disabled. All committed regression/CI fixtures are dummy,
credential-free and non-production. Optional future integrations stay separately scoped.
Expand Down
15 changes: 8 additions & 7 deletions .agnir/state.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,11 @@ The Principal requested release-standard functional repair and local effectivene
OpenAI Platform submission/Publish remains paused until an explicit new instruction.

**The four reproduced runtime blockers are repaired and cross-platform regression
checks pass. Native Codex installation, enablement, exact installed bytes and Skill
discovery pass on Linux and macOS. Full model-driven effectiveness and whole-product
release acceptance remain open; installation alone does not close them.**
checks pass. A new first-use version-selection repair is now under validation: existing
Agnir Projects preserve their declared Core/profile, while genuinely uninitialized
Projects resolve the canonical latest published stable Agnir. Because this changes Skill
bytes, the prior native install/discovery receipt remains historical for the preceding
candidate and must be rerun for the new candidate before model-driven release acceptance.**

## Verified repair subject

Expand All @@ -21,7 +23,7 @@ release acceptance remain open; installation alone does not close them.**
`fe7788bd53d3a240f663860133b741799d0470e3`.
- Reviewed repair source: `225e535e32a18bf8db2bfc7d76efe6bed9378e97`, tree
`12542123c9ab47e5e938f8db8fd8a7d36f28a513`, PR #11.
- Exact repaired Plugin tree: `7cc90517013306181a4df2238f849b85cf716665`.
- Prior repaired Plugin tree `7cc90517013306181a4df2238f849b85cf716665` passed native install/discovery and remains historical evidence. The bootstrap-version-selection change creates a new Plugin subject that requires its own exact tree and native receipt before acceptance.
- Local full suite: 128 tests pass on Linux/Python 3.13.5; repository integrity and
portable contracts pass. Tests execute real code, including process termination.
- PR candidate run `35509417968`: all eight jobs pass, including runtime on Linux
Expand Down Expand Up @@ -51,16 +53,15 @@ Orchestrator + Continuity Provider + Execution Surface + Capability Provider rem
first-class components. `conformance/RELEASE_READINESS.md` maps requirements to evidence.

Implementation, failures/repairs and exact CI/native receipts:
`.agnir/evidence/2026-09-20-runtime-readiness-repair.md`.
`.agnir/evidence/2026-09-20-runtime-readiness-repair.md`. Bootstrap version-selection rationale and current latest-stable observation are recorded in `.agnir/evidence/2026-09-20-bootstrap-version-selection.md`.

## Preserved continuity, release and product boundaries

- Project `urn:svif:project:svif-core`; Agnir Core/profile `1.0` / `repository-filesystem/1.0`.
- Lineage `urn:svif:lineage:authoritative`; distinct VCS selector `refs/heads/main`.
- Memory locators remain `.agnir/state.md`, `.agnir/next-actions.md`, `.agnir/decisions.md`,
`.agnir/evidence/`; applied Agnir remains v1.0.0 at `6d16dcfd17b8e9f22fd25804e22b9f8a516d06c3`.
- Adapter support remains 0.1/0.2/1.0. Skill founding bootstrap remains 0.1; no implicit
migration or Agnir operational upgrade is performed by this repair.
- Adapter support remains 0.1/0.2/1.0. Existing target Projects preserve the exact Agnir Core/profile they declare; invoking/installing Svif does not authorize migration. A genuinely uninitialized target resolves the latest published stable Agnir at bootstrap time and adopts that release's declared Core/profile. Svif's own self-host binding remains 1.0 and is not upgraded by this change.
- Released **Plugin MVP** / Preview `v0.2.0-preview.1` remains immutable at
`2b07b6b5ea0bc8feee59f9f647be9af3069d056e`, tag object `2535cb89426c2d38c2e061948e81954a7c7c26d7`.
Its historical real-client evidence is preserved, not generalized to the repaired Skill.
Expand Down
2 changes: 1 addition & 1 deletion ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ plugin/

- `plugin/plugin.json` is the portable Plugin manifest.
- `plugin/skills/svif/SKILL.md` is the first installable workflow component.
- The Plugin guides compatible execution surfaces through Agnir discovery, Svif lifecycle execution, provenance/authority guards, independent observation, and durable checkpointing.
- The Plugin guides compatible execution surfaces through Agnir discovery, Svif lifecycle execution, provenance/authority guards, independent observation, and durable checkpointing. On first use it preserves an existing Project's declared Agnir compatibility line; only a genuinely uninitialized Project resolves the canonical latest published stable Agnir and adopts the Core/profile declared by that release.
- The Plugin is a distribution layer and does not reimplement `src/svif/runtime.py`.

A Skill-only Plugin is a valid and useful first product increment. An optional `mcp.json` will be added when the concrete remote Svif MCP/App surface is ready; MCP completion is not a prerequisite for testing and iterating the Plugin workflow itself.
Expand Down
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,13 +58,14 @@ If an activation locator, identity, required memory locator, or compatibility ch

## What Svif Adds to a Project

On first use of Svif in a genuinely uninitialized repository/filesystem Project, the shared Skill establishes the founding Agnir continuity plus a matching Svif Project Binding. **Svif does not take over existing Project files.** Existing `AGENTS.md` and `README.md` receive only the activation/instruction entry they need, while unrelated content is preserved.
On first use, Svif first checks whether the Project already has Agnir. If it does, Svif preserves that Project's declared Agnir Core/profile compatibility exactly and creates/validates the Svif binding against the same line; installing Svif is not permission to migrate Agnir. Only a genuinely uninitialized repository/filesystem Project resolves the canonical **latest published stable Agnir** and initializes using the Core/profile and activation contract declared by that stable release. **Svif does not take over existing Project files.** Existing activation/documentation surfaces receive only the entry required by the selected Agnir contract, while unrelated content is preserved.

```text
Project/
├── AGENTS.md # [EDIT: add entry only] add Agnir activation locator; preserve existing instructions
├── README.md # [EDIT: add entry only] add ## Agnir Project Instructions; preserve existing content
├── AGNIR.yaml # [ADD] founding Agnir discovery anchor
├── AGENTS.md # [EDIT: add entry only] add selected Agnir activation locator; preserve existing instructions
├── AGNIR.md # [ADD when selected release requires it] canonical Project instructions for current stable packaging
├── README.md # [EDIT: add entry only] add selected release compatibility/instruction entry; preserve existing content
├── AGNIR.yaml # [ADD] founding Agnir discovery anchor using selected stable Core/profile
├── .agnir/ # [ADD] Project-owned durable continuity
│ ├── state.md # [ADD] current durable Project truth
│ ├── next-actions.md # [ADD] outstanding ordered work for the next Executor
Expand All @@ -73,7 +74,7 @@ Project/
└── SVIF.yaml # [ADD] Svif Project Binding: continuity, execution, capability and profile bindings
```

If compatible Agnir/Svif artifacts already exist, the Skill validates and reuses them rather than recreating them. Partial or contradictory artifacts are a repair case, not clean initialization. A Project intentionally bound to another Continuity Provider is not silently overwritten with Agnir.
If compatible Agnir/Svif artifacts already exist, the Skill validates and reuses their exact declared compatibility rather than recreating or upgrading them. Partial or contradictory artifacts are a repair case, not clean initialization. A Project intentionally bound to another Continuity Provider is not silently overwritten with Agnir. Agnir package release version and Core/profile compatibility are separate: a newer distribution may operate a supported older Project without relabeling it.

These are founding `repository-filesystem` onboarding artifacts, not universal Svif kernel requirements. Svif coordinates replaceable providers and execution surfaces; it does not make Git, GitHub, Agnir, ChatGPT, or Cloudflare permanent kernel dependencies.

Expand Down
11 changes: 6 additions & 5 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,13 +58,14 @@ Install and enable Svif for this Project: https://github.com/iorLab/svif

## Svif 会给 Project 增加什么

当 Svif 在一个真正未初始化的 repository/filesystem Project 中首次使用时,共享 Skill 会建立 founding Agnir continuity,并加入与之匹配的 Svif Project Binding。**Svif 不会接管已有 Project 文件。** 对已有的 `AGENTS.md` 和 `README.md`,只添加激活 / 指令入口,并保留原有无关内容。
首次使用时,Svif 会先判断 Project 是否已经使用 Agnir。若已经存在 Agnir,就原样保留该 Project 声明的 Agnir Core/profile compatibility,并让 Svif binding 与这一条兼容线保持一致;安装 Svif 不等于获得迁移 Agnir 的授权。只有真正没有 Agnir / 其他 continuity binding 的 repository/filesystem Project,才解析 canonical **最新已发布 stable Agnir**,并按该 stable release 声明的 Core/profile 与 activation contract 初始化。**Svif 不会接管已有 Project 文件。** 已有 activation / 文档表面只增加所选 Agnir contract 需要的入口,并保留无关内容。

```text
Project/
├── AGENTS.md # [编辑:仅添加入口] 加入 Agnir activation locator;保留原有 instructions
├── README.md # [编辑:仅添加入口] 加入 ## Agnir Project Instructions;保留原有内容
├── AGNIR.yaml # [新增] founding Agnir discovery anchor
├── AGENTS.md # [编辑:仅添加入口] 加入所选 Agnir contract 的 activation locator;保留原有 instructions
├── AGNIR.md # [所选 release 要求时新增] 当前 stable packaging 的 canonical Agnir Project instructions
├── README.md # [编辑:仅添加入口] 加入所选 release 的兼容 / 指令入口;保留原有内容
├── AGNIR.yaml # [新增] founding Agnir discovery anchor;使用所选 stable Core/profile
├── .agnir/ # [新增] Project 自己拥有的 durable continuity
│ ├── state.md # [新增] 当前仍然成立的 durable Project truth
│ ├── next-actions.md # [新增] 下一位 Executor 应继续推进的有序工作
Expand All @@ -73,7 +74,7 @@ Project/
└── SVIF.yaml # [新增] Svif Project Binding:continuity、execution、capability 与 profile bindings
```

如果兼容的 Agnir / Svif artifacts 已经存在,Skill 会校验并复用,而不是重新创建。部分存在或互相矛盾的 artifacts 属于 repair case,不按 clean initialization 处理。已经明确绑定其他 Continuity Provider 的 Project 不会被静默改写成 Agnir。
如果兼容的 Agnir / Svif artifacts 已经存在,Skill 会校验并复用其原本声明的 compatibility,而不是重新创建或顺手升级。部分存在或互相矛盾的 artifacts 属于 repair case,不按 clean initialization 处理。已经明确绑定其他 Continuity Provider 的 Project 不会被静默改写成 Agnir。Agnir package release version 与 Core/profile compatibility 是不同层级:新版 distribution 可以继续支持旧 Project,但不能因此静默改写 Project 的兼容性声明。

这些是 founding `repository-filesystem` onboarding artifacts,不是 Svif kernel 的普遍强制文件。Svif 协调的是可替换 provider 与 execution surface;Git、GitHub、Agnir、ChatGPT 或 Cloudflare 都不是永久 kernel dependency。

Expand Down
1 change: 1 addition & 0 deletions REPOSITORY_TREE.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ svif/ # Svif 产品主仓库
│ ├── 2026-09-18-public-submission-candidate-audit.md # Svif 0.2.0 public-submission candidate 版本边界、package tree、OpenAI packaging 审计与 CI 证据
│ ├── 2026-09-18-skills-only-submission-archive.md # exact Plugin tree 的 deterministic ZIP、archive guards、CI 与外部 submission evidence 边界
│ ├── 2026-09-20-runtime-readiness-repair.md # 可信策略/事务恢复修复、回归与原生验收层次证据
│ ├── 2026-09-20-bootstrap-version-selection.md # 现有 Agnir 版本保留 / 全新 Project latest-stable bootstrap 语义与验证证据
│ └── checkpoint-2026-08-28-validation-2.md # Validation 2 的持久 checkpoint 记录
│
├── .github/ # GitHub 托管侧自动化配置
Expand Down
Loading
Loading