Virtuous Circle
Platform build tracker
A read-only lens over Virtouscircle/vc-platform. GitHub is the single source of truth; this app never writes to it.
Read 2 min ago · · Refresh
What needs you
Nothing is waiting on you.
Open issues appear here when they carry needs:simon or blocked. No open issue carries either label yet — so this panel stays empty until the convention is in use on the board.
This week
the 7 days since 2026-08-17
- #19 Access: pseudonymisation decorator at the model adapter
Going live · closed 4d ago · 20.3d open
- #18 Access: persona invitations as human send events
Going live · closed 4d ago · 20.3d open
- #17 Access: magic-link login + middleware + session workspace
Going live · closed 4d ago · 20.3d open
- #15 Deploy: Neon to RDS Postgres + migration-tooling reconcile
Going live · closed 4d ago · 20.3d open
- #40 Nit: two colour ramps and two mean() copies, deliberately kept
Foundations · 5d since activity
- #39 Standards: one brand vocabulary — BUTTON_CLASS's Tailwind cyan vs the vc-cyan token
Foundations · 5d since activity
- #38 Standards: the slash-opacity convention contradicts ~30 call sites
Foundations · 5d since activity
17 of them untouched for 14 days or more
- #29 Close-out: DoD verification — N+1 dry run + audit-answer check
Close-out · 24d since activity · stale
- #28 Close-out: Executive / M10 reconciliation
Close-out · 24d since activity · stale
- #27 Encoding: Adoption Framework 1.0 — alerts, shelf & WoW
Encoding the method · 24d since activity · stale
- #26 Encoding: Adoption Framework 1.0 — engine
Encoding the method · 24d since activity · stale
- #25 Encoding: Risk Framework 1.0 — register & committee pack
Encoding the method · 24d since activity · stale
- #24 Encoding: Risk Framework 1.0 — engine (+ value finding-link)
Encoding the method · 24d since activity · stale
- 11 more in GitHub
Progress against plan
14 of 34 closed · 41%- Foundations9 of 17 · 53%
8 open · 3 in flight · 5 untouched — Build · Standards · Nit · Video Lab
- Going live5 of 6 · 83%
1 open · 0 in flight · 1 untouched — Deploy · Access
- Encoding the method0 of 8 · 0%
8 open · 0 in flight · 8 untouched — Encoding
- Close-out0 of 2 · 0%
2 open · 0 in flight · 2 untouched — Close-out
- Other0 of 1 · 0%
1 open · 0 in flight · 1 untouched
closedopen, worked on in the last 7 daysopen, untouched for 14 days or more
Workstreams come from the text before the colon in each issue title, listed under each bar. GitHub has no filter for them, so these rows are counted here rather than linked.
Milestones
No milestones are set on the repo.
Give a milestone a due date and it appears here on a timeline, with today marked against it and its completion alongside — that is the one thing the bars above cannot show, since issue titles carry no dates. Until then the workstream bars are the progress signal, and they need no milestone to be set.
Cycle time
4 closed since 2026-08-17Median 20.3d open — and every one of these took the same 20.3d, so they were opened and closed as a batch rather than worked through one at a time. Slower than the 14.4d median across everything closed.
- #15Deploy: Neon to RDS Postgres + migration-tooling reconcileGoing live · closed 4d ago20.3d
- #17Access: magic-link login + middleware + session workspaceGoing live · closed 4d ago20.3d
- #18Access: persona invitations as human send eventsGoing live · closed 4d ago20.3d
- #19Access: pseudonymisation decorator at the model adapterGoing live · closed 4d ago20.3d
None of these issues carries a comment, so there is no reason line to show. The reason is read from an issue's latest comment — the first line of it — and appears here whenever one exists.
Evidence
4 of 4 closed since 2026-08-17- #15Deploy: Neon to RDS Postgres + migration-tooling reconcileGoing live · closed 4d ago · 20.3d open
- PR #41 Deployed & reachable (#15, #16, #17, #18, #19)merged pull request referencing this issuedevelop · success · 55fb7d3 · 4d ago · 8 deploys of this commit · deploy run log ↗
- #17Access: magic-link login + middleware + session workspaceGoing live · closed 4d ago · 20.3d open
- PR #41 Deployed & reachable (#15, #16, #17, #18, #19)merged pull request referencing this issuedevelop · success · 55fb7d3 · 4d ago · 8 deploys of this commit · deploy run log ↗
- PR #36 One spine: command layer, route contract, model-JSON helper, audit spine, actor setmerged pull request referencing this issuedevelop · success · d913cab · 10d ago · deploy run log ↗
- PR #32 feat(security,docker): workspace scoping (#1) + Dockerfile estate artefact (#14)merged pull request referencing this issue
- #18Access: persona invitations as human send eventsGoing live · closed 4d ago · 20.3d open
- PR #41 Deployed & reachable (#15, #16, #17, #18, #19)merged pull request referencing this issuedevelop · success · 55fb7d3 · 4d ago · 8 deploys of this commit · deploy run log ↗
- #19Access: pseudonymisation decorator at the model adapterGoing live · closed 4d ago · 20.3d open
- PR #41 Deployed & reachable (#15, #16, #17, #18, #19)merged pull request referencing this issuedevelop · success · 55fb7d3 · 4d ago · 8 deploys of this commit · deploy run log ↗
GitHub recorded no closing pull request for anything closed this week — these issues were closed by hand — so each line above is a merged PR that references the issue, which is the weaker claim of the two.
Deployments reached develop. None recorded an environment URL, so each links to its deploy run rather than to the running app.
A deployment is matched to a pull request on the commit it went out with, never on timing.
Risks & blockers
1 open bugShowing open bug issues as a stand-in.
No open issue carries risk or blocked yet, so this list is not the risk register — it is the nearest thing the repo currently holds. It becomes the real list as soon as either label is in use.
- #38Standards: the slash-opacity convention contradicts ~30 call sitesno severity set · Foundations5d waiting
high severity0medium severity0low severity0no severity set1
Nothing here carries a severity label yet, so every dot is an outline. Applying severity:high, severity:med, severity:low sorts this list worst first.
Ordered by severity, then by how long each has gone without activity.