Skip to content

feat: add tracker anchor gate#41

Merged
mduthey merged 11 commits into
mainfrom
feat/tracker-anchor-gate-matching
Jun 18, 2026
Merged

feat: add tracker anchor gate#41
mduthey merged 11 commits into
mainfrom
feat/tracker-anchor-gate-matching

Conversation

@mduthey

@mduthey mduthey commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

No description provided.

mduthey and others added 11 commits June 18, 2026 11:17
Port tx3-lift 7e8bc32 (anchor gate matching, scoring/ranking) plus the
bundled upstream resilience and the utxorpc-spec 0.19.2 bump into the
registry's Postgres tracker fork.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…x_burn.tii

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add score/match_rank columns to the matches table via migration and wire
them through OwnedMatchRow + the INSERT statement (bound as i32 for
Postgres INTEGER/int4 columns). process.rs stubs both fields at 0/1
pending Task 5 population.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Port the two upstream tx3-lift regression test suites as pure (no Postgres)
characterization tests: gating_real_txs (2 CBOR-driven tests) and
over_matching_regression (4 hand-built PayloadSummary tests), plus the 7
required fixtures (2 CBOR hex, 5 protocol TIIs).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…k discovery

`pull_tii` used oci-client's high-level `pull`, which validates EVERY layer
against an accepted-media-type allowlist and errors the whole pull on any
unlisted layer. `trix publish` now attaches a `[protocol].logo` as an
`image/png` layer (and already a README markdown layer), so any protocol with
a logo made the tracker exit with `Incompatible layer media type: image/png`
— and since pull_tii errors are propagated per-protocol, one such protocol
broke the entire catalog fetch.

Fetch the manifest and pull only the `application/tii+json` blob by digest
instead. Other layers (logo, README, future types) are ignored, so a new
layer type on the publisher side can never break discovery. Drops the now
unused PROTOCOL/MARKDOWN media-type constants.

Regression test mocks a manifest with a TII + image/png layer and asserts
fetch_catalog succeeds without stubbing the logo blob (proving it is never
fetched).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mduthey mduthey merged commit 3a14f2c into main Jun 18, 2026
2 checks passed
@mduthey mduthey deleted the feat/tracker-anchor-gate-matching branch June 18, 2026 18:56
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