chore(celilo-module): declare celilo_contract 2.0 #34

Merged
forgejo-admin merged 1 commit from chore/celilo-contract-2 into main 2026-09-26 20:02:52 +00:00

Problem

celilo-module/manifest.yml still declares celilo_contract: "1.0", which is retired. #32 upgraded the celilo libraries, but not this declaration. The contract commit reached that branch after #32 had already merged, so it never landed.

Solution

  • The change: celilo_contract: "1.0" → "2.0", plus a patch changeset.
  • Why it's safe: the one thing contract 2.0 changes is that a hook's return value is no longer saved as the module's secrets or config. No hook here relied on that:
    • on_install and register_forge return nothing. The publish token is passed straight to the forge and never returned.
    • health_check returns only its health report.
    • The manifest declares no secrets and no config that hooks write.
  • Checked: celilo module check with @celilo/cli 5.1.0, the version CI's unpinned bunx resolves to, reports contract 2.0 (latest) with 6 checks passing and 0 failing. bun test passes 9 of 9.

🤖 Generated with Claude Code

## Problem `celilo-module/manifest.yml` still declares `celilo_contract: "1.0"`, which is retired. #32 upgraded the celilo libraries, but not this declaration. The contract commit reached that branch after #32 had already merged, so it never landed. ## Solution - **The change:** `celilo_contract: "1.0"` → `"2.0"`, plus a patch changeset. - **Why it's safe:** the one thing contract 2.0 changes is that a hook's return value is no longer saved as the module's secrets or config. No hook here relied on that: - `on_install` and `register_forge` return nothing. The publish token is passed straight to the forge and never returned. - `health_check` returns only its health report. - The manifest declares no secrets and no config that hooks write. - **Checked:** `celilo module check` with `@celilo/cli` 5.1.0, the version CI's unpinned `bunx` resolves to, reports contract 2.0 (latest) with 6 checks passing and 0 failing. `bun test` passes 9 of 9. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Contract 1.0 is retired. The one thing 2.0 changes is that a hook's
returned record is no longer persisted as the module's secrets/config;
state must be written explicitly via context.config/secrets.set against
declared names. Nothing here relied on the old channel: on_install and
register_forge return void (the minted publish token goes straight to
the forge, never returned), health_check returns only its canonical
status/checks, and the manifest declares no secrets and no hook-sourced
config.

`celilo module check` with @celilo/cli 5.1.0 (what CI's unpinned bunx
resolves to): contract 2.0 (latest), 6 ok, 0 fail. bun test 9/9.

Supersedes ed94d0d, which landed on chore/celilo-libs-latest after
#32 had already merged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
celilo/tango-nexus!34
No description provided.