You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Carry the audit items from #4776 that are still unshipped on main into a single tracked follow-up, so that audit can close without losing them. Every item below was re-verified read-only against upstream/maina40ba85ac (submodule vendor/tinyplace @ d2545054) — none is speculative, and none is blocked on an upstream tiny.place contract change.
Problem / Context
#4776 was a full end-to-end audit of every Tiny Place surface. It spawned 12 sub-issues (#4920–#4931), all of which are now closed, and its last two open PRs (#5271 Directory search + pagination, #5278 Ledger filters + copy tx-id) merged on 2026-08-02. Three items were resolved as N/A — web-only / de-scoped because the pinned SDK exposes no contract for them (#4920 seller side → #5193, #4922 world relay presence, #4924 post media → #5295).
What is left is the residue: audit checkboxes that were never covered by a sub-issue and never shipped. They are all frontend/core wiring against surface the pinned SDK already exposes, plus a set of items that simply need a runtime pass on staging. Keeping them in a closed audit issue would bury them, so they move here.
Scope
In scope: the verified-remaining items below. Out of scope: anything needing a tiny.place SDK/backend contract change (post media, marketplace seller routes, world presence) — those are settled as web-only/de-scoped and should not be re-litigated here.
Filter bounties by status / asset — no filter or tab control in the section.
Bounty history (created / claimed) — no per-user history view. Cancel is wired (handleCancel:792 → apiClient.bounties.cancel); expire is backend-driven and needs-runtime.
§10 Cross-cutting — runtime verification pass(needs a staging build + funded wallet; the audit was code-level only)
All sections verified on macOS, Windows, and Linux desktop.
All sections verified over web (tinyhumans.ai), not just the desktop app.
JWT / auth-token refresh does not break a Tiny Place session mid-use.
Offline / disconnected state degrades gracefully in each section (no silent crash).
Diff coverage ≥ 80% — each implementing PR meets the changed-lines coverage gate (Vitest + cargo-llvm-cov, enforced by .github/workflows/ci-lite.yml).
Summary
Carry the audit items from #4776 that are still unshipped on
maininto a single tracked follow-up, so that audit can close without losing them. Every item below was re-verified read-only againstupstream/maina40ba85ac(submodulevendor/tinyplace@d2545054) — none is speculative, and none is blocked on an upstreamtiny.placecontract change.Problem / Context
#4776 was a full end-to-end audit of every Tiny Place surface. It spawned 12 sub-issues (#4920–#4931), all of which are now closed, and its last two open PRs (#5271 Directory search + pagination, #5278 Ledger filters + copy tx-id) merged on 2026-08-02. Three items were resolved as N/A — web-only / de-scoped because the pinned SDK exposes no contract for them (#4920 seller side → #5193, #4922 world relay presence, #4924 post media → #5295).
What is left is the residue: audit checkboxes that were never covered by a sub-issue and never shipped. They are all frontend/core wiring against surface the pinned SDK already exposes, plus a set of items that simply need a runtime pass on staging. Keeping them in a closed audit issue would bury them, so they move here.
Scope
In scope: the verified-remaining items below. Out of scope: anything needing a
tiny.placeSDK/backend contract change (post media, marketplace seller routes, world presence) — those are settled as web-only/de-scoped and should not be re-litigated here.Acceptance criteria
§6 Directory —
app/src/agentworld/pages/DirectorySection.tsxfilterin the file is theagentIddedupe atDirectorySection.tsx:142; there is no type control.§4 Ledger —
app/src/agentworld/pages/LedgerSection.tsxuseTinyplaceStream); rows only refresh on mount / "Load more".fetchWalletStatusfor the viewer-relative direction filter (feat(agent-world): Tiny Place ledger filters + copy tx-id (#4776 §4) #5278) but renders no balance; balance still lives only in the x402 confirm card.§3 Messages (DMs) —
app/src/agentworld/pages/MessagingSection.tsxblockhits are a Tailwind class at:550and the not-a-contact log at:1056).§7 Identities —
app/src/agentworld/pages/IdentitiesSection.tsxregistry.renew(vendor/tinyplace/sdk/rust/src/api/registry.rs:232), but it has notinyplace_registry_renewhandler insrc/openhuman/tinyplace/and no UI caller. Same shape as [Tiny Place] Handle transfer is unreachable — SDK registry.transfer has no core RPC handler or UI #4929 (transfer), which was closed by wiring the existing SDK method end-to-end in fix(tinyplace): wire handle transfer end-to-end (Closes #4929) #4998.IdentitiesSection.tsx; blocks a user from knowing renewal is even needed.§5 Bounties —
app/src/agentworld/pages/BountiesSection.tsxhandleCancel:792→apiClient.bounties.cancel); expire is backend-driven and needs-runtime.§10 Cross-cutting — runtime verification pass (needs a staging build + funded wallet; the audit was code-level only)
All sections verified on macOS, Windows, and Linux desktop.
All sections verified over web (tinyhumans.ai), not just the desktop app.
JWT / auth-token refresh does not break a Tiny Place session mid-use.
Offline / disconnected state degrades gracefully in each section (no silent crash).
Diff coverage ≥ 80% — each implementing PR meets the changed-lines coverage gate (Vitest + cargo-llvm-cov, enforced by
.github/workflows/ci-lite.yml).Related