Skip to content

fix(protocol): canonicalize composes_with.freeside-sonar → sonar-api (refs loa-freeside#234)#7

Open
zkSoju wants to merge 1 commit into
mainfrom
beacon-slug-canon
Open

fix(protocol): canonicalize composes_with.freeside-sonar → sonar-api (refs loa-freeside#234)#7
zkSoju wants to merge 1 commit into
mainfrom
beacon-slug-canon

Conversation

@zkSoju
Copy link
Copy Markdown
Contributor

@zkSoju zkSoju commented May 27, 2026

Refs loa-freeside#234 (slug canonicalization meta) · loa-freeside#236 (cluster sweep tracker)

Summary

One-line YAML key rename in packages/protocol/beacon.yaml:

```diff
composes_with:

  • freeside-sonar:
  • sonar-api:
    role: "Indexed read source: TrackedHolder (counts), Token (per-token ownership), chain_metadata (ACVP as_of_block)"
    tag: "[email protected]+0000000000000000" # PLACEHOLDER — doctor recomputes
    required: true
    ```

Why

The cluster's freeside-registry has always called this cell sonar-api. Inventory's beacon was using the legacy freeside-sonar form (a doctrine-drift artifact). Doctor (loa-freeside#231) cannot resolve composes_with. via registry lookup without fuzzy-matching when the key doesn't match the registered slug — this PR closes that gap for inventory.

Sequencing

Sub-step A (cell repair) per loa-freeside#234 build plan. Schema regex still admits both `freeside-sonar` and `sonar-api` today; sub-step B will tighten to `*-api` suffix only after all 3 sub-step A PRs merge.

Safe to land in any order with the other sub-step A PRs.

Test plan

  • V3 decode test against current schema — PASS inventory-api
  • /fagan review — APPROVED 3/3 voices, 0 findings, 0 dropped
  • Cluster post-merge smoke — re-run V3 decode after merge

🤖 Generated with Claude Code

…(refs loa-freeside#234)

The cluster's freeside-registry has always called this cell `sonar-api`
(per the *-api building-slug convention; ADR-008 §D-11). The inventory
beacon's composes_with key was still using the legacy `freeside-sonar`
form, which doctor (loa-freeside#231) cannot resolve via registry lookup
without fuzzy-matching.

Single-line YAML rename. Compatible with current loose schema regex
`^[a-z][a-z0-9-]*$` AND with the future strict regex `^[a-z][a-z0-9-]*-api$`
(loa-freeside#234 sub-step B). Validated: still passes V3 decode against
the current schema (8/8 cells PASS).

Refs: loa-freeside#234 (slug canonicalization meta), loa-freeside#236 (sweep tracker)
/fagan: APPROVED 3/3 voices, 0 findings

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant