3 started, 10 carried live.
Busiest record: c59 inventory (8 entries) · 55 carried cycles have gone quiet · layer v0.9.0 → v0.9.2
Commits
16 commits across 7 repos, on each repo's checked-out branch.
Cycles
Started 3
Design qdash inventory page to surface agent status and footprint at a glance
Precedent research for an AI asset inventory page — how existing products present inventories of agents, MCP servers, files, models, and related AI assets
Live qflow visualization of qcontrol agent events — agents pulsing to event-type nodes, fed by qdash SSE, with a growing timeline scrubber
Still open 10
Mock up two compliance framework pages from Figma designs
Design-site mock of the v2 Policy & Enforcement page from Figma — tabbed policy-control table built on UxTableList
AgentMiniCard — compact agent summary card composing the AgentPawn, with mock page
Build the agent pawn state system from the first real Illustrator pawn art
Post-mortem incident map — visualizing an incident that already occurred: the actors involved (user, agent, MCP servers, files, repos) and their state, on an incident page alongside traditional detail sections
Understand the fractured qcontrol app ecosystem and consolidate it into a simple, clean, demoable product on a Nuxt + q-nuxt-layer front-end
Align the qcontrol agent-monitoring dashboard to specific personas and find market alignment — hypothesis-first, validated against calls later.
Explore and integrate Avoma notes data into extraction pipeline and dashboard visualizations.
Refine how extracted data is displayed in the dashboard and improve extraction quality where gaps exist.
Add Google OAuth to restrict dashboard access to @qpoint.io team members.
Closed 0
Nothing closed
Pages & components
What this week's captures picture — . Each links to its evolution: every moment it was shot, across cycles.
No page or component captures this week.
Log
Key Changes entries dated inside the week, from each cycle's record — newest first within a cycle.
c59 inventory
- Phase 0 complete (2026-08-02):
design-brief.md— page purpose (fleet-lens substrate: what exists, is it alive, what's its footprint, what's unmonitored), three-tier data reality from a full qdash data-model audit (live / captured-but-hidden / permanently-NULL), at-a-glance hierarchy (presence → coverage → footprint → risk-as-exception), and three design directions (V1 Roster, V2 Ledger, V3 Footprint) with a recommendation to mock V1 + V2 and fold V3 in as a lens. Mock data to speak the Meridian staged world.
- Phase 2 complete (2026-08-02): two page mocks built per
plan.md, registered inpage-registry.ts(groupinventory), dev-server smoke-checked (200s, no Vue warnings):/pages/inventory-roster— V1 presence-first: dark canvas, AgentMiniCard grid grouped by user, coverage header (87% · 34/39) with clickable shadow chips, footprint strip, shadow installs as dashed ghost cards inline in their machine's group, search + state filters ("chen" acceptance test passes)./pages/inventory-ledger— V2 dense ledger: coverage/footprint band, four lenses (Agents / Machines / Harnesses / Surface). Agents lens = UxTableList with sorters, posture regression marker ("↓ was Critical" on marcus), "new · 7d" on chen, and the designed expand-row (fingerprint, quota bar with overage pill, cwd-derived repo chips, MCP servers with oauth-pending, recent runs, denied-calls line). Surface lens folds in the V3 general-inventory idea (Models / MCP Servers / Repos / Tools panels). Numbers cross-foot with the roster and the Meridian world.
- Iteration 2 (2026-08-02, from
revisions.md— ledger chosen as the direction): two new pages so v1 stays archived, registered and smoke-checked (200s, clean log):/pages/inventory-ledger-v2(Stacked) — overview as a proportional 39-segment coverage bar (34 neutral / 5 amber shadow segments with hover identity), footprint counts + risk line beneath; all four lenses open as stacked sections with a sticky anchor-pill jump nav./pages/inventory-ledger-v3(Composite) — overview as a DataMetric_Base tile row (Coverage 87, At-risk 5, five footprint tiles) with shadow chips in a strip below; no tabs — agents table primary, Machines / Harnesses / Surface as a three-rail band underneath.
- Iteration 3 (2026-08-02):
/pages/inventory-overview-ideas— three overview concepts rendered working on one page for visual comparison: (1) trend-aware tiles with DataMetricSpark sparklines telling the Meridian story (coverage 89→87 dip on chen's Windsurf, day-61 at-risk spike/recovery); (2) the coverage bar regrouped as a clickable 14-machine fleet map with a detail line (chen-mba preselected — could replace the machines table); (3) hybrid — v3's tile row with the proportional 39-segment bar inside the coverage tile.
- Iteration 4 (2026-08-02, Mark's picks folded back into v2): ledger-v2 overview revised — hybrid's mini coverage tile (compact 39-segment bar) + At-risk tile replace the full-width bar, right side left empty; footprint items keep their small text and gain the grey 90-day sparks + trend captions beneath (idea 1, without the big-tile treatment). Jump nav moved beneath the overview. Sparks are hand-rolled inline SVG (min-max normalized, stroke-only line) — DataMetricSpark needs a baseline/min-max mode + line-only stroke to absorb this (layer candidate).
- Buildability audit (2026-08-02):
buildability.md— ledger-v2 audited element-by-element against qcontrol. ~85% buildable today; a 5-item backend punch list converts the captured-but-unserved rest; only agent pawn-states and trend sparks are genuinely staged (both on qdash's own roadmap: liveness states, IA-doc §8 trend reconstruction).
- AgentInline extracted to the layer (2026-08-02): new
q-nuxt-layer/components/agent/Inline.vue— pixel pawn + bold name + "Vendor / kind / ● status" sub-line for table rows; status ∈ active/idle/stopped/errored (honest qdash vocabulary — idle renders the sleeping body, stopped dims + hollow dot). Required adding adecorationsprop to AgentPawn (suppresses floating zzz/binary/alert that would overflow rows). Ledger-v2's lead cell now uses it (page states converted working/needs-input → active) with a status legend in the section header. Documented:_demos/AgentInline.vue+ registry entry (AgentPawn entry updated fordecorations). NeedsNUXT_LOCAL_LAYER=1dev restart to render (new layer component + new demo glob).
- Theme-compatible pixel art (2026-08-02, approved plan): new
UxPixelArtlayer component inlines pawn + pixel-icon SVGs and rewrites their palette hexes to--px-*CSS variables at load time (Illustrator exports untouched — futureb-exports drop in unchanged). Handles both art shapes: style-block classes (pawns) and fill attributes (icons), plus the fill-less pupil rects.--px-*roles added totokens/semantic.mjs(pixelArt export, hex form) and emitted bytokens/build.mjsinto tokens.css; light values = art hexes verbatim (zero visual change), dark values = conservative first pass for Mark to tune. AgentPawn body/decor and AgentMiniCard icons now render through it (provider overlay stays<img>— brand marks don't theme). Documented:_demos/UxPixelArt.vue+ registry entry, theme-contexts scenario in the AgentPawn demo. Follow-up logged: AgentInputBubble is still hard-coded dark.
Captures
0 screengrabs taken this week.
No captures this week.
Releases & deploys
Layer releases 3
Design-site deploys 0
No deploys recorded this week.
Note: Deploys come from this checkout's deploy-branch reflog, which starts 2026-10-16.