~bigbes/sr-ht-dolt · parade

main · last commit 5 hours ago · ti41arbu

← Back to the parade

sr-ht-dolt-44n.5 /ready: the cross-database ready page Past Stand

status: closed P2 task
bd reopen sr-ht-dolt-44n.5
Created byEugene Blikh
Ownerbigbes@gmail.com
Created2026-08-12T20:11:50Z
Started2026-08-13T05:55:14Z
Updated2026-08-13T06:44:08Z
Closed2026-08-13T06:44:08Z
Description
Seventeen databases on this instance carry the beads fingerprint, and "what is ready to work" is answerable in each and nowhere across them. Add GET /ready (a page, not a View): for every database the caller may browse, check the fingerprint and collect the ready set through the shared beads/ rule, grouped by database. Filters: q, assignee, priority, db.
Design
docs/DESIGN.views.md ch.4. Bounded three ways: a per-database cache keyed by (repoID, head hash) so an unmoved head reads no rows, a 60s TTL, and a 64-database ceiling that the page reports when hit. The cache holds projections, never open browse handles. The aggregator is the one /mcp ready_work calls.
Acceptance criteria
A PRIVATE tracker the caller may not browse is absent rather than 403; a second request with unmoved heads performs no row reads; the ceiling reports itself.

Depends on

  • sr-ht-dolt-44n — Beads views, round two: stream, memory, freshness, cross-database parent-child closed
  • sr-ht-dolt-m63 — db: enumerate the databases a caller may list across owners blocks closed
  • sr-ht-dolt-0qf.1 — Extract the beads projection into a root beads/ package blocks closed

Depended on by

Prerequisite chain — everything this waits on, transitively

  • sr-ht-dolt-44n — Beads views, round two: stream, memory, freshness, cross-database parent-child closed
  • sr-ht-dolt-m63 — db: enumerate the databases a caller may list across owners blocks closed
  • sr-ht-dolt-0qf.1 — Extract the beads projection into a root beads/ package blocks closed
  • sr-ht-dolt-0qf — MCP surface: a read-only agent door to hosted databases parent-child closed

No comments.

Close reason

Landed in 043b0fd: GET /ready over beads.ReadyAcross with the three bounds (head-hash gate, 60s TTL, 64-database ceiling), per-group freshness, filters. Mutation-checked by dropping the cache consultation and watching the read counters go 4->8.
  • Eugene Blikh added under epic sr-ht-dolt-44n · 2026-08-12T23:11:50Z
  • Eugene Blikh created the issue · 2026-08-12T23:11:50Z
  • Eugene Blikh sr-ht-dolt-0qf.7 now depends on this · 2026-08-12T23:12:58Z
  • Eugene Blikh sr-ht-dolt-44n.6 now depends on this · 2026-08-12T23:13:00Z
  • Eugene Blikh added dependency on sr-ht-dolt-0qf.1 · 2026-08-12T23:13:00Z
  • Eugene Blikh added dependency on sr-ht-dolt-m63 · 2026-08-13T08:24:50Z
  • Eugene Blikh changed status to in_progress · 2026-08-13T08:55:13Z
  • Eugene Blikh closed the issue · 2026-08-13T09:44:07Z
    Landed in 043b0fd: GET /ready over beads.ReadyAcross with the three bounds (head-hash gate, 60s TTL, 64-database ceiling), per-group freshness, filters. Mutation-checked by dropping the cache consultation and watching the read counters go 4->8.
Stored rows — what this pane was built from, as read
issues 1 row
id sr-ht-dolt-44n.5
content_hash b094d41863ae456425aa8ab3ff458192890cfd4439196ad6523e1ae52cebdcdd
title /ready: the cross-database ready page
description Seventeen databases on this instance carry the beads fingerprint, and "what is ready to work" is answerable in each and nowhere across them. Add GET /ready (a page, not a View): for every database the caller may browse, check the fingerprint and collect the ready set through the shared beads/ rule, grouped by database. Filters: q, assignee, priority, db.
design docs/DESIGN.views.md ch.4. Bounded three ways: a per-database cache keyed by (repoID, head hash) so an unmoved head reads no rows, a 60s TTL, and a 64-database ceiling that the page reports when hit. The cache holds projections, never open browse handles. The aggregator is the one /mcp ready_work calls.
acceptance_criteria A PRIVATE tracker the caller may not browse is absent rather than 403; a second request with unmoved heads performs no row reads; the ceiling reports itself.
notes
status closed
priority 2
issue_type task
assignee NULL
estimated_minutes NULL
created_at 2026-08-12T20:11:50Z
created_by Eugene Blikh
owner bigbes@gmail.com
updated_at 2026-08-13T06:44:08Z
closed_at 2026-08-13T06:44:08Z
closed_by_session
external_ref NULL
spec_id
compaction_level 0
compacted_at NULL
compacted_at_commit NULL
original_size NULL
sender
ephemeral 0
wisp_type
pinned 0
is_template 0
mol_type
work_type
source_system
metadata �{}
source_repo
close_reason Landed in 043b0fd: GET /ready over beads.ReadyAcross with the three bounds (head-hash gate, 60s TTL, 64-database ceiling), per-group freshness, filters. Mutation-checked by dropping the cache consultation and watching the read counters go 4->8.
event_kind
actor
target
payload
await_type
await_id
timeout_ns 0
waiters
hook_bead
role_bead
agent_state
last_activity NULL
role_type
rig
due_at NULL
defer_until NULL
no_history 0
started_at 2026-08-13T05:55:14Z
is_blocked 0
dependencies 5 rows
id 2d66939c-0949-5b35-8af2-2cdc938f2a8b
issue_id sr-ht-dolt-44n.5
type parent-child
created_at 2026-08-12T23:11:50Z
created_by Eugene Blikh
metadata �{}
thread_id
depends_on_issue_id sr-ht-dolt-44n
depends_on_wisp_id NULL
depends_on_external NULL
id ac7765bb-5acd-5651-92e5-92f44e780723
issue_id sr-ht-dolt-44n.6
type blocks
created_at 2026-08-12T23:13:00Z
created_by Eugene Blikh
metadata �{}
thread_id
depends_on_issue_id sr-ht-dolt-44n.5
depends_on_wisp_id NULL
depends_on_external NULL
id cda4e6b1-d58a-5958-b9a6-56a1d6a054f4
issue_id sr-ht-dolt-0qf.7
type blocks
created_at 2026-08-12T23:12:58Z
created_by Eugene Blikh
metadata �{}
thread_id
depends_on_issue_id sr-ht-dolt-44n.5
depends_on_wisp_id NULL
depends_on_external NULL
id d0a85755-2590-54c5-97e6-17600c965e6d
issue_id sr-ht-dolt-44n.5
type blocks
created_at 2026-08-13T08:24:50Z
created_by Eugene Blikh
metadata �{}
thread_id
depends_on_issue_id sr-ht-dolt-m63
depends_on_wisp_id NULL
depends_on_external NULL
id dd4cb536-6dd5-569b-9286-13c53e668dad
issue_id sr-ht-dolt-44n.5
type blocks
created_at 2026-08-12T23:13:00Z
created_by Eugene Blikh
metadata �{}
thread_id
depends_on_issue_id sr-ht-dolt-0qf.1
depends_on_wisp_id NULL
depends_on_external NULL
events 3 rows
id 019ff79a-4467-7660-8846-ccd7937ef049
issue_id sr-ht-dolt-44n.5
event_type created
actor Eugene Blikh
old_value
new_value
comment NULL
created_at 2026-08-12T23:11:50Z
id 019ff9b0-5fe0-7d88-93fd-005adce1b10c
issue_id sr-ht-dolt-44n.5
event_type status_changed
actor Eugene Blikh
old_value {"id":"sr-ht-dolt-44n.5","title":"/ready: the cross-database ready page","description":"Seventeen databases on this instance carry the beads fingerprint, and \"what is ready to work\" is answerable in each and nowhere across them. Add GET /ready (a page, not a View): for every database the caller may browse, check the fingerprint and collect the ready set through the shared beads/ rule, grouped by database. Filters: q, assignee, priority, db.","design":"docs/DESIGN.views.md ch.4. Bounded three ways: a per-database cache keyed by (repoID, head hash) so an unmoved head reads no rows, a 60s TTL, and a 64-database ceiling that the page reports when hit. The cache holds projections, never open browse handles. The aggregator is the one /mcp ready_work calls.","acceptance_criteria":"A PRIVATE tracker the caller may not browse is absent rather than 403; a second request with unmoved heads performs no row reads; the ceiling reports itself.","status":"open","priority":2,"issue_type":"task","owner":"bigbes@gmail.com","created_at":"2026-08-12T20:11:50Z","created_by":"Eugene Blikh","updated_at":"2026-08-12T20:11:50Z"}
new_value {"status":"in_progress"}
comment NULL
created_at 2026-08-13T08:55:13Z
id 019ff9dd-2548-7854-bad1-bb6ac111eeb4
issue_id sr-ht-dolt-44n.5
event_type closed
actor Eugene Blikh
old_value
new_value Landed in 043b0fd: GET /ready over beads.ReadyAcross with the three bounds (head-hash gate, 60s TTL, 64-database ceiling), per-group freshness, filters. Mutation-checked by dropping the cache consultation and watching the read counters go 4->8.
comment NULL
created_at 2026-08-13T09:44:07Z