fix: registry UX truthfulness — try-out gating, snippet correctness, stable ordering, homepage, ref discovery - #44
Open
scarmuega wants to merge 1 commit into
Open
Conversation
…stable ordering, homepage, ref discovery
- Try-out tab: gate channels on actual profile presence in the .tii;
empty channel stubs (environment/parties both empty) are hidden.
- Quick-start snippets: import from the generated protocol module (no
gen/ segment) in all four languages; setup notes state the real
default codegen output dir (.tx3/codegen/{plugin}/).
- Quick-start snippets: the signer goes on the first non-script party
(user/participant), never on a script party; script parties take
their address from the profile env when published, and an explicit
'<name script address>' placeholder otherwise.
- Backend: transactions and parties resolvers sort by name so the UI
order is stable across reloads (TII maps have no iteration order).
- Backend/frontend: homepageUrl read from the org.opencontainers.image.url
manifest annotation and rendered in the protocol info panel.
- Activity: reference inputs of each match are parsed and listed in the
detail view so callers can discover ref-UTxO parameter values (e.g.
bodega's project_info_ref).
Plan: Brain/tx3 plans/feedback-cba-07-services-docs-registry-ux.md
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Plan
plans/feedback-cba-07-services-docs-registry-ux.md(Trellis rootBrain/tx3, ownerorg/coder) — items A, B, C, E and the registry half of D. Origin: user feedback ("UI lies", Bodega, Appendix).Done criterion (from the plan) and status
.tii: met. Publishers emit empty stubs for every known channel (verified against the publishedopen-tx3/bodega-marketTII:local/preview/preprodare{environment: {}, parties: {}}), so the tab now filters profiles to those with actual parties or environment content. When plan 06 publishes the missing profiles they appear with no further UI work.gen/in any language: met. TS./{name}/protocol(the generatedprotocol.ts), Pythonfrom {snake_name} import ..., Go"yourapp/{name}"(generated package name isprotocol), Rust was already clean (use {snake_name}::Client). The setup-step note now states the real default codegen output dir (.tx3/codegen/{plugin}/{name}/per trixCodegenConfig::output_dir) instead of the nonexistent./gen/....HashMaps; both resolvers now sort by name.project_info_reflistable: implemented.homepageUrlis read from theorg.opencontainers.image.urlOCI manifest annotation on the detail pull and rendered in the info panel. The Activity match detail now lists the matched transaction's reference inputs (txhash#index), which is the discovery surface for ref-UTxO parameters such as bodega'sproject_info_ref— the values real on-chain transactions used. Note: it renders for bodega oncetrix publishemits the homepage annotation and bodega is republished (see companion PR open-tx3/bodega-protocols and the follow-up plan in the Trellis root).withParticipant/withUser, script addresses from env: met. The signer now goes on the first non-script unbound party; script parties (*script) take a bech32 address from the profile environment when one is published, and an explicit<name script address>placeholder otherwise — never the caller's own signer/address. Verified against the published bodega (signer was landing onpositionscript) and hydra-heads (signer was landing oncommitscript) TIIs.Verification run
cargo checkandcargo test(backend): 21 unit tests pass. The 9db_matches+ graphql integration tests fail locally withDATABASE_URL must be set— pre-existing environmental requirement (live Postgres), unrelated to this change (db.rsuntouched); reported as a finding.pnpm lint,pnpm typecheck(frontend): clean.pnpm codegenregenerated@types/graphql.d.tsfrom the backend-exported SDL (frontend/schema.graphqlsynced fromcargo test regenerate_sdloutput).withUser/withParticipant; script parties get named placeholders; imports carry nogen/segment.Escalations
None for this PR. Residual work (trix
[protocol].homepage→ OCI annotation emission; bodega.tx3reference-datum read to drop theproject_info_refcaller param; SDKs-tab channel dropdown gating) is filed as a draft plan in the Trellis root.🤖 Generated with Claude Code