Cycles by week
Week of Aug 31

9 started, 3 closed, 16 carried live.

Busiest record: c81 Phase 1 Pages (7 entries) · 45 carried cycles have gone quiet

Started
9
Still open
61
Closed
3
Record entries
21
Commits
81
Captures
34
Releases · deploys
0
/pages/phase1/fleet-overview — Fleet Overview, attention state — the fixture world with something to act on
c81Phase 1 Pages34 captures · 7 log entries — the week's busiest recordSee all 34 shots ↓

All 17 Phase-1 dashboard pages on one unified fixture world — built by 16 parallel agents in an unattended cloud run, with an attention state and an all-clear state per page

Commits

81 commits across 10 repos, on each repo's checked-out branch.

Cycles

Started 9

c84Cycles Status Page

Redesign /cycles into a living Design status surface - working now, decisions, seeds, blocked work, abandoned ideas, and the existing atlas

started Sep 33 in the log
c11Conversation ProfilesMarket Analyst

Declare the nature of each conversation at triage (source type × call type), tag every observation with the speaker's perspective (first-hand / relayed / internal), enforce evidence ceilings and a code-computed validation gate, extract session records (decisions / todos / ideas) from working sessions, and formalize the conversations → insights → brief hand-off into the design machine.

started Sep 36 in the log
c81Phase 1 Pages

First-pass mocks for all 17 Phase-1 dashboard pages (Linear PRO-19…35) on one unified fixture world — the simplest literal execution of the listing → expand → detail → actor-web pattern

started Sep 17 in the log
c10API ModernizationMarket Analyst

Modernize Claude API usage across the pipeline, evaluate and finalize data-architecture decision, reshape cross-call analysis for use-case honing.

started Aug 31

Still open 16

c80brotli-stream-termination

qproxy MITM truncates streamed brotli response bodies — client apps show Decompression error: BrotliDecompressionError

started Aug 272 wks · moved this week
c78fleet-overview-reports

Design the four product reports (Compliance, SLA Insights, Inventory, Board) and the fleet overview landing page as a summary of them.

started Aug 203 wks · moved this week
c72Integrations Create & Manage

Create/configure modal for 11 connectors with per-integration custom UI and step-by-step operator guidance

started Aug 154 wks · moved this week
c70Thesis Kindle

Convert "Looking In" thesis to Kindle-compatible formats (EPUB + print-replica PDF) while preserving images and foundational status

started Aug 154 wks · moved this week
c67Teams

Refine the qdash /teams design — composition from c61 concepts, mapping workspace as the pre-SCIM write path, slim spend overview, credentials relocated

started Aug 144 wks · moved this week
c49Fix the Cloudflare Pages Deploy

Make push to main reliably deploy the design site to Cloudflare Pages *(2026-09-25: reframed as "make the build a manual local step", see PICKUP.md)*

started Jun 1113 wks · moved this week2 in the log
c79Finding Lifecycle

Mock the finding-lifecycle state machine and the mechanics/UI of turning findings into SLA data — the design answer to c78's open resolution-workflow gap.

started Aug 252 wks · quiet 1
c68index-overview

Design the qdash landing page — what the user is greeted with on login, resolving the Fleet Overview / Agent Inventory overlap.

started Aug 144 wks · quiet 1
c77Session View

Session viewer / replay mode for qcontrol AI agent sessions — mocks-first on the design site

started Aug 203 wks · quiet 2
c8Agent PivotMarket Analyst

Reorient pipeline and app around AI-agent-security pivot: archive phase 1, use-case-centric extraction, multi-source feedback, architecture debt paydown.

started Aug 203 wks · quiet 2
c7avoma-notesMarket Analyst

Explore and integrate Avoma notes data into extraction pipeline and dashboard visualizations.

started Feb 25parked
c4refinementMarket Analyst

Refine how extracted data is displayed in the dashboard and improve extraction quality where gaps exist.

started Feb 24parked
c3oauthMarket Analyst

Add Google OAuth to restrict dashboard access to @qpoint.io team members.

started Feb 20parked
c69Operating System

Methods & tooling retro — evaluate how we work against the design methodology, restore order, modernize the skill/agent tooling, and make the philosophy load-bearing

started Aug 15parked
c62build-partner

Build-partner portal — research, ideation, and a plan for a page that makes partners insiders

started Aug 8parked
c55agent-market-definition

Align the qcontrol agent-monitoring dashboard to specific personas and find market alignment — hypothesis-first, validated against calls later.

started Jul 24parked

Closed 3

c10API ModernizationMarket Analyst

Modernize Claude API usage across the pipeline, evaluate and finalize data-architecture decision, reshape cross-call analysis for use-case honing.

closed Sep 3 · started Aug 31

Pages & components

What this week's captures picture — 17 pages · 15 first captured this week. Each links to its evolution: every moment it was shot, across cycles.

Log

Key Changes entries dated inside the week, from each cycle's record — newest first within a cycle.

c84 Cycles Status Page

Sep 3
Sep 3
  • 2026-09-03 - First design pass completed under /pages/_meta: four lo-fi wireframes, four q-nuxt-layer mockups, _meta page registry support, and a local status fixture in app/data/meta-cycle-status.ts. npm run build completes successfully; /pages/_meta and all eight prototype routes return HTTP 200 on the local dev server. Existing prerender warnings remain outside this cycle's routes.
Sep 3
  • 2026-09-03 - Mark selected M3 Matrix as the strongest direction and clarified that iterations should preserve older experiments. Restored M3 as the original first-pass mockup and added cycles-status-m5-current-matrix as the promoted refinement. M5 adds a clearer first viewport, row/column definitions, decision queue, live register, and a hidden-by-default closed archive backed by /api/cycles (91 closed cycles in the local atlas). Prompt and plan saved as iteration-2-prompt.md and iteration-2-plan.md.

c81 Phase 1 Pages

Sep 3
  • v2 — Mark Peterson second-pass (2026-09-03): Sourced a design brief (mark-peterson-design-brief.md) from the Sept 3 advisor walkthrough (call 09ecfede-75cf-4139-8559-0a2627eae803 in market-analyst) plus Mark Parson's own notes, correlated per page against the Linear issues. Per-page plans (teams-v2-plan.md, user-detail-v2-plan.md, session-detail-v2-plan.md, device-detail-v2-plan.md) then built non-destructively as <slug>-v2.vue siblings — v1 files untouched, both live and linked from /pages/phase1 (a new "v2 →" affordance, additive to the index). Teams & Users: Intensity column/meter dropped (already redundant with the roster's tokens-descending base order), a lack-of-signal note, the person's LLM work summary promoted into the expand card (previously an unrendered fixture field), a stated web-AI coverage gap. User detail: top stats swapped to tokens · spend · providers/agents, a Models card (per-person token breakdown, no auto-attribution), same work-summary promotion. Session detail (heaviest): Chapters dropped per direct in-call confusion, three views (Summary always on-screen, Transcript ⇄ Surface tab switch, raw events nested under Transcript), minimized-by-default dialogue text, person-right layout, a stated BYOK-encryption line, labelled rail glyphs. Device detail (lightest — v1 already matched what the call validated): a lack-of-signal flag, a ghosted MDM deep-link scaffold. Team-level cost comparison and quota-vs-overage cost representation both stay explicitly open, not built. npm run build not yet re-run for this round; all four pages verified rendering via the live dev server.
Sep 1
  • kick-off (2026-09-01): Cycle created with plans only — no pages built yet, per Mark. Three exploration sweeps (prior work per page, chassis/fixtures, founding docs) synthesized into prior-art.md; architecture, build order (world + Agent Inventory exemplar first, Fleet Overview last), and 17 per-page briefs ruled in execution-plan.md. Sibling cycle c82.cloud-execution parked with the remote-execution thinking.
Sep 1
  • cloud run — setup (2026-09-01): Executed unattended in a claude.ai/code environment as the c82 experiment (notes in cycles/c82.cloud-execution/first-run-notes.md). Layer installed from the public git tag; private viz packages stubbed locally; one dev server; capture proven early (scripts/capture.mts now honors PW_CHROMIUM_PATH). Mechanics for 16 parallel agents ruled in cloud-agent-brief.md: slug/selection protocol, links-land-first, world read-only for page agents, per-page commits, registries committed by the orchestrator.
Sep 1
  • stage 1 — world + chassis + exemplar (2026-09-01): app/data/phase1/ — 18 people, 21 devices, 5 companies → 7 technologies → 28 installs, 5 accounts, 7 models with a 12-week trend, 12 MCP servers, 36 tools, 4 skills, 2 plugins, 7 repos, 16 endpoints, 11 files, 55 sessions (4 with the c77 event grain absorbed); validateWorld() in both states; allClearWorld() overlay = the calm morning on the same cast; routes.ts (entityRoute) + state.ts (?state=). Chassis app/components/phase1/ — Phase1EntityChip, Phase1StatBlock, Phase1VerdictLine, Phase1StateToggle. Agent Inventory exemplar at /pages/phase1/inventory, both states. Record: stage1-plan.md.
Sep 1
  • stages 2–4 — 15 pages in parallel (2026-09-01): one agent per page, ~7–19 min each, all 15 landed in 31 minutes wall-clock: Teams & Users, User detail, Session detail, Device detail, Providers, Agent detail (slug agent-instance — agent-detail belongs to a phase-0 mock), Accounts, Models, MCP servers, Tools, Skills, Plugins, Repos, Endpoints, Files. Each has <slug>-prompt.md + <slug>-plan.md with its question, framing, 5-question pass and fold-in notes. Registry conflicts: none.
Sep 1
  • stage 5 — Fleet Overview + reconcile (2026-09-01): /pages/phase1/fleet-overview re-derives the v3 spine (verdict → exception queue → band → gateway cards → funnel) from the pages' verdicts; 17/17 designed on /pages/phase1. Reconcile folded every page's sharpened verdict into verdicts.*, moved page rollups into derived.ts, turned fabrications into world facts (integrations.ts, Device.enrolledAt/processes, McpServer.endpointId, THRESHOLDS), fixed the overlay/duration/$0 bugs, swept hand-typed stats (6 fixed). Record: reconcile-plan.md.
Sep 1
  • cloud review + fixer round (2026-09-01 → 02): all 17 pages captured and reviewed unattended (cloud-review.md): the chassis holds; the defects were systemic — content-sized bands, red spent outside the warn class, uppercase micro-headings, two attention colors on one row, two-line verdicts. Seven fixer bundles landed across two sessions (the first hit its session limit after F2; its uncommitted work was lost and redone): F2 mechanical sweep · F1 chassis + derived (Phase1StatBlock equal-width, every *Verdict() ≤ 90 chars with a subLine() helper, plural(), fmtRatePerMTok(), home/echo card dots, the (, ) host set) · F3 detail pages (verdict under the identity line, four-block bands, full-width body) · F4 inventory/providers/accounts/fleet-overview (one color per row, providers table fits, queue folds to two red cards + nine one-liners) · F5 models/mcp/tools/skills (mute columns dropped, tools band inverted to the 212 debt, 15-row cap) · F6 plugins/repos/endpoints/files/teams (verdict first, conditional Port/TLS and Sessions columns) · F7 zero-not-dash sweep. npm run build passes clean. Round-2 captures of all 17 pages in both states are in public/cycles/design/ (<slug>[-clear][-full].png); the round-2 review is appended to cloud-review.md. Round 2 verdict: 114 of 118 round-1 items resolved, no blocking items; the all-clear state (seen for the first time) reads as the calm morning on 14 pages, and 6 new should items came out of it — 5 fixed in F8 the same night, the receipt-tone ruling (tools + files) and the nits left for the local visual pass.

c11 Conversation Profiles market-analyst

Sep 3
  • 2026-09-03 — Kick-off: Fetched the Sep 2 AMZ call (6fe4a00b-85a1-40b6-8b1b-c17d3706bc08, 91 min, all-Qpoint attendees) into data/raw/ via npm run fetch -- --uuid 6fe4a00b-… without extracting. Confirmed the Aug 31 Mark Peterson call (38075ead-…, "Mark | Qpoint Dashboard + Reporting") already in corpus as ciso-advisory. Baseline measurement: both Mark Peterson calls (interest 5/5, validates / reaction-based evidence despite advisor status); Aug 20 AMZ + Sam Curry call (21 observations, 12 attributed to Qpoint speakers—the Guideline 1 blunder); 0 of 7 use cases would pass the validation gate today. Decision confirmed: Mark Peterson stays ciso-advisory (product advisor under his own firm's identity); perspective tagging + declared callType prevent his conviction from reading as customer validation. Pipeline map lives in ../design/brand/pipeline.md with clear references from this repo's docs. No stopgap extraction of the AMZ call under the current prompt—extract only as T1 pilot.
Sep 3
  • 2026-09-03 — T1 profile + perspective + session record: Triage now declares sourceType × callType with registry-derived defaults (pipeline/extract.ts, shared loader pipeline/classifications.ts; data/call-classifications.json migrated from the external boolean). CONVERSATION_PROFILES + PERSPECTIVES in schemas/vocabularies.ts; Observation.perspective, CallData.profile, CallData.session, Classification.observedCallType in schemas/call.ts; prompt gains a profile table (static, cached) and a per-call "This Conversation" block (dynamic); pipeline/finalize.ts stamps the profile and runs the two deterministic rules in schemas/validation.ts (Qpoint speaker ⇒ internal; evidence above the ceiling or not first-hand ⇒ downgraded). build-index.ts precedence: declared → person override → company → all-Qpoint ⇒ internal → prospect, with disagreement warnings. Pilot: AMZ Sep 2 (internal × working-session) → 21 observations all internal (4 auto-corrected from relayed), no interest/funnel, company null, session 5 decisions / 6 todos / 4 ideas. Mark Peterson Aug 31 (ciso-advisory × roadmap-planning) → 16 observations (10 first-hand, 2 relayed, 4 internal — Tyler's forced), "CISO-board consensus" evidence downgraded to speculative, interest 4/5 as conviction, session 6 decisions / 4 todos / 4 ideas (visibility-first decision, spec todo, gamified-rollout and auto-docs ideas parked). Prompt cache held across the two profiles (10.4K tokens read on call 2).
Sep 3
  • 2026-09-03 — T2 gate + site: schemas/validation-gate.ts computeValidation() (≥2 companies with validates + usage-based + first-hand, non-internal) used by pipeline/analyze.ts Map A (written as validation + perspectiveBalance; the use-case prompt is told the status and may not override it; Map B keeps evidence qualifiers and the session record) and by the site (useCallData.ts use-case rollup). Site: perspective pills + filter, declared-vs-observed call type, session record on the call page, Direction section (open / decided / tabled, todos by owner, parked ideas) and gate status with reasons on use-case cards; interest KPIs count prospects and build partners only.
Sep 3
  • 2026-09-03 — T3/T4 docs + hand-off: README "How to Interpret" (declared profile, perspective, computed validation, session records), CLAUDE.md (architecture, data flow, schema, Sister Projects operating model: design is the driver, this repo turns conversations into insights and briefs), goals.md (rule now enforced in code), /extract and /analyze skills, new /brief skill. briefs/TEMPLATE.md (required ## Source block) + briefs/INDEX.md; cam-dashboard-directives.md retrofitted with its phase-1 Cisco call ids. ../design/brand/pipeline.md (seven stages, owners, artifacts, the c21 worked example, follow-ups for stages 5–7) + pointer in ../design/CLAUDE.md; ../bob-wire/.claude/agents/brief-writer.md now reads briefs/INDEX.md first and carries a Source block. Design and bob-wire edits left uncommitted in their repos (both had work in progress).
Sep 3
  • 2026-09-03 — T3 corpus re-extracted + analysis: All 5 calls now carry declared profiles and perspective: Tiled (prospect × demo) 20 first-hand / 3 internal; Moto Aug 20 (ciso-advisory × advisor-input) 20 / 3 relayed / 2 internal, session 5/4/5; Mark Peterson Aug 31 10 / 2 / 4, session 6/4/4; AMZ Sep 2 (internal × working-session) 21 internal, session 5/6/4; AMZ + Curry Aug 20 (prospect × demo) 18 first-hand / 7 internal — the 12/21 leakage is now labelled rather than counted. Rules downgraded 4 internal-perspective reaction-based items to speculative. Registry pattern for Mark Peterson loosened (\b, not $) because the extractor renders him "Mark Peterson (Mark M)". npm run analyze -- --force: gate result 0 of 7 validated with reasons written per use case (data/analysis/use-cases/*.json → validation, perspectiveBalance); the Opus overview keeps agent-inventory "strengthening but formally unvalidated" and tells the team to stop counting heartbeat/FinOps as validated internally. Prompt cache read 10.4K on every call after the first. Still open: today's (Sep 3) Mark Peterson follow-up is not visible to the Avoma API (404 on 09ecfede-…, not in any list) — likely private or unshared; fetch by uuid or drop the exported transcript into data/raw/ once it is.
Sep 3
  • 2026-09-03 — Sep 3 Mark Peterson call ("Qpoint Product", 09ecfede-…): became API-visible after Mark adjusted sharing in the Avoma UI (it had 404'd all afternoon). He now holds a mark.peterson@qpoint.io address, which would have made the triage default internal and the "Qpoint speaker ⇒ internal" rule swallow his observations — fixed so a person-level source override in known-entities.json outranks the email domain in triage defaults (extract.ts), in the prompt (attendee note in the declared-profile block, prompt.ts) and in finalize (isQpoint forced false, finalize.ts). Extracted ciso-advisory × roadmap-planning: 19 observations (11 first-hand / 7 internal / 1 relayed), interest 4/5 as conviction, session 6 decisions / 5 todos / 5 ideas (MVP ingestion via CSV/JSON exports, transcript display deferred to the governance phase, last-heartbeat as the online signal, BYOK + WORM transcript governance direction; open: quota-vs-overage cost representation). His CFO-driven FinOps ask landed as first-hand reaction-based validates; the team's own heartbeat/enforcement claims capped at speculative. Corpus: 6 calls.

c49 Fix the Cloudflare Pages Deploy

Sep 2
  • Add CLOUDFLARE_API_TOKEN + CLOUDFLARE_ACCOUNT_ID repo secrets (admin action — no code change). Moot after 2026-09-02.
Sep 2

Git-connected Pages (2026-09-02, outside this cycle): Tyler replaced the direct-upload qpoint-design project with a Git-connected design project (design-f39.pages.dev), fixing deploy.yml's auth in PR #14 and then deleting it in PR #15. Only pr.yml (install/build/generate check) remains. Pushes deployed green until 2026-09-21 (b94ce25). Known limit: Cloudflare clones only design, so the deployed cycle atlas lacks the sister repos.

c21 Inventory + Users / Devices bob-wire

Sep 1

m1 pages built in design /pages (2026-09-01): All three mocks built and registered in design's page registry (inventory / teams groups): inventory-companies-v1 (company→technology→instance rollup, detected-only strip, accounts & licensing with the personal-ChatGPT standout + ghost "block personal accounts" affordance, 12-week model-drift trends, surface directories, ?user= filter chip), users-devices-v1 (coverage vs Okta/Jamf denominator with the Alexis investigate callout and macOS-only Windows gap, 15-person DataTable roster with tokens⇄$ toggle and LLM summaries, attribution-debt band), user-detail-v1 (device↔identity↔agent chain, flagged personal-account sessions, person switcher over Dana/Kamal/Jonah/Alexis states). Shared fixtures c21-inventory-fixtures.ts — every number derived, story beats verified by execution. Cross-links: users-devices → user-detail (?person=) → inventory (?user=) → back.

Sep 1

Mockups go hi-fi-first, cross-repo in design (2026-09-01): Mark chose to skip the bob-wire wf1 wireframe pass and build hi-fi mockups directly in ../design app/pages/pages/ (flat versioned mocks, real layer components, page-registry groups) — that's where the current qcontrol design language lives and where the c21 ancestors sit (design c59 inventory, c67 teams, c78 fleet-overview-reports from the same Mark Peterson engagement). Three pages: inventory-companies-v1 (technology view), users-devices-v1 (people view), user-detail-v1 (drill + sessions), on shared fixtures app/data/c21-inventory-fixtures.ts. The c21 Fleet Overview page is dropped — design c78's fleet-overview-v3 owns that thread; c21 widget ideas feed it rather than fork it. bob-wire keeps cycle records, design brief, and technical plan as source of truth.

Aug 31

Inventory scaffold & Mark Peterson call input (2026-08-31): Cycle created from Mark Peterson fractional-CISO advisor call (roadmap-planning session, 2026-08-31, call data at ../market-analyst/data/processed/38075ead-4294-428f-bb58-13898dad7160.json). Split c16's agent inventory into two focused surfaces: Inventory (agent/technology rollup, company consolidation, licensing enforcement, monitored coverage) and Users/Devices (identity-integrated, per-user AI usage, tokens/spend, MDM deployment coverage). Initial prompt and notes captured in initial-prompt.md. Design brief and technical plan being drafted separately.

Captures

34 screengrabs taken this week, 22 of a subject with an evolution history.

All 17 Phase-1 dashboard pages on one unified fixture world — built by 16 parallel agents in an unattended cloud run, with an attention state and an all-clear state per page

/pages/phase1/fleet-overview — Fleet Overview, attention state — the fixture world with something to act on
/pages/phase1/fleet-overview — Fleet Overview, attention state — the fixture world with something to act on
/pages/phase1/files — Files, all-clear state — the same page when nothing needs attention
/pages/phase1/files — Files, all-clear state — the same page when nothing needs attention
Sep 2
/pages/phase1/plugins — Plugins, all-clear state — the same page when nothing needs attention
/pages/phase1/plugins — Plugins, all-clear state — the same page when nothing needs attention
Sep 2
/pages/phase1/accounts — Accounts, all-clear state — the same page when nothing needs attention
/pages/phase1/accounts — Accounts, all-clear state — the same page when nothing needs attention
Sep 2
/pages/phase1/agent-instance — Agent Detail, all-clear state — the same page when nothing needs attention
/pages/phase1/agent-instance — Agent Detail, all-clear state — the same page when nothing needs attention
Sep 2
/pages/phase1/providers — Providers, all-clear state — the same page when nothing needs attention
/pages/phase1/providers — Providers, all-clear state — the same page when nothing needs attention
/pages/phase1/inventory — Agent Inventory, all-clear state — the same page when nothing needs attention
/pages/phase1/inventory — Agent Inventory, all-clear state — the same page when nothing needs attention
/pages/phase1/user-detail — User Detail, all-clear state — the same page when nothing needs attention
/pages/phase1/user-detail — User Detail, all-clear state — the same page when nothing needs attention

Releases & deploys

Layer releases 0

No q-nuxt-layer tags this week.

Design-site deploys 0

No deploys recorded this week.

Note: Deploys come from this checkout's deploy-branch reflog, which starts 2026-10-16.

Qpoint Brand Style Guide