feat(tui): consume odek wire v2 — identity, queued, budgets, artifacts, cost - #57
Open
jkyberneees wants to merge 2 commits into
Open
feat(tui): consume odek wire v2 — identity, queued, budgets, artifacts, cost#57jkyberneees wants to merge 2 commits into
jkyberneees wants to merge 2 commits into
Conversation
…s, cost
Implements the bodek side of TEMP_ODEK_SUBAGENTS_WIRE_TASKS.md (P1-P6),
all fields omitempty so pre-v2 engines degrade to current behavior:
- P1: started frames seed cards with goal/profile/effective max_risk,
overriding the delegate-arg manifest; trust badges render in the
expanded details
- P2: queued tasks render as (circled) queued cards, count separately in
the rollup, satisfy pending slots, and upgrade on started
- P3: budget horizons render as 'it 9/15' and 'elapsed/30m' pairings,
only when the engine declares caps
- P4: framed results list artifact refs (id - uri, humanized size)
- P5 resolved deny-not-prompt: no approval state, documented in README
- P6: per-task cost renders as an estimate ('~sh.0421'), capped form
included; denials render in the result card with a transient note
Also: client.Event grows wire-v2 fields (approvals head-compare now uses
the event ID — the slice field made structs non-comparable); registry
entries carry the new fields through the agents tab detail.
taskSlot.maxRisk was declared but never populated (caught by CI's golangci-lint: unused field). Parse max_risk from the delegate arg and seed all three identity fields at card creation — the pre-v2 fallback that newer frames overwrite with effective values.
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.
Summary
Implements the bodek side of
TEMP_ODEK_SUBAGENTS_WIRE_TASKS.md(P1–P6), verified against odek's shipped structs (subagent_registry.go / subagent.go). Every new field isomitemptyon the wire, so pre-v2 engines degrade to current behavior.Changes
startedframes seed cards with goal, resolved profile, and effectivemax_risk(wire truth overrides the delegate-arg manifest; queued frames carry the requested values). Trust badges (profile=default · risk=local_write) render in expanded card details.phase:"queued"renders as◌ SA3 · queued(no fake elapsed), counts separately in the rollup (0/8 agents · 6 queued), satisfies manifest-pending slots, upgrades onstarted.it 9/15and elapsed/cap pairing (12s/30m), rendered only when the engine declares caps; later frames never zero them (omitempty-safe upsert).⎘ id · uri (size)refs; state-frame artifacts render as detail lines.waiting_approvalanywhere): no approval placeholder built; README documents it.~sh.0421(capped form~sh.0421/sh.5), final cost in the result head,⊘ N denied+ per-denial lines with a transient note when the result lands.Also:
client.Eventgrew slice fields, making structs non-comparable — the approval-expiry head check now compares the eventIDinstead.Verification
go vetclean ·go fmtapplied · fullgo test -race -count=1 ./...green (7 packages)subagent_wire_v2_test.go)