The archive
Auto-written every Sunday, straight off the database
What shipped this week
Week in Review: Jun 29 – Jul 5, 2026 — 87 PRs, 2,225 commits
Stu Mason21 min read
87 PRs merged, 2225 commits, +83,284 lines
Summary
- 87 pull requests merged (↑156% vs last week)
- 2 pull requests opened
- 2,225 commits pushed (↑86% vs last week)
- 35 issues resolved
Top Pull Requests
- remote-dev v1+v2: packs, url-lower card, 747 sfx, run learni... — edator-studio
+29,876/-1 - prompt-caching video: pack + image-B-roll pipeline fixes — edator-studio
+18,958/-167 - feat: mobile app slice 1 — /api/v1 auth + Expo app skeleton — cleanconnect
+9,718/-1 - ci: mobile checks workflow + teach claude-review the mobile... — cleanconnect
+5,399/-1,579 - feat(v2): the tail joins the channel — proof, reviews, case... — progress
+2,743/-3,992
Code Impact
+96,877 additions · -13,593 deletions
Net: +83,284 lines across 815 files
Activity by Repository
| Repository | PRs | Commits | Changes |
|---|---|---|---|
| crunch | 23 | 420 | +5,064/-389 |
| coolify-mcp | 11 | 250 | +3,923/-528 |
| progress | 17 | 240 | +11,458/-9,962 |
| cleanconnect | 13 | 310 | +20,368/-1,879 |
| roll | 6 | 420 | +1,669/-95 |
| cockpit | 10 | 210 | +2,852/-233 |
| edator-studio | 3 | 120 | +50,348/-375 |
| stumason | 0 | 90 | +0/-0 |
▶Full Activity Index (400 items)
Pull Requests Merged
- Engine sync: sfx field + matrix cases, loudness AAC headroom, v5 cut ruleset in edator (+490/-101)
- Fix funnel TLS: tailscaled needs --statedir for cert storage in cockpit (+4/-0)
- feat: word end-times + confidence on transcript (roll pack 0.0.16) in crunch (+38/-15)
- Roll pack cruncher v1: POST /pack -> joined crunch.json in crunch (+1396/-1)
- Cap ASR CPU for shared Netcup box + arm64→x86 refresh in crunch (+25/-8)
- fix(pack): numeric spoken keywords crashed segment titling in crunch (+19/-1)
- Make ocr-sidecar Dockerfile comment arch-neutral (x86 port-readiness) in crunch (+6/-3)
- Same-origin OAuth endpoints; public authorize 302s to the tailnet in cockpit (+76/-70)
- Fix empty PaddleOCR at runtime: pin HOME + self-verify on load (#13) in crunch (+42/-2)
- Fix empty PaddleOCR on prod: pin sidecar to py3.13 + build self-test (#13) in crunch (+49/-5)
- Dedicated OCR sidecar: Tesseract (default) + PaddleOCR, engine= selectable (#13) in crunch (+415/-26)
- Async batch OCR: POST /ocr/batch for roll packs (#14) in crunch (+461/-82)
- Restore transcript punctuation (initial_prompt) + ASR_THREADS=16 in crunch (+9/-0)
- Revert ASR_THREADS=7 — it regressed transcription speed in crunch (+0/-4)
- v5 gold standard: sound palette, ticker + number-hit, comedy air, GRADE contract in edator-studio (+1514/-207)
- feat(v2): the hub becomes the Monitor — broadcast chrome, live rundown, desk meters in progress (+575/-310)
- feat: consume roll's new pack inputs (keyframes, sysaudio, typed text) in crunch (+214/-13)
- MCP v0.2: broker on the MCP, find, connector health, estate read tools, prompts & digest resource in cockpit (+1362/-21)
- feat(app): one-click Crunch — upload the pack, stream progress, land crunch.json (#19) in roll (+1287/-14)
- feat: sysaudio transcript + on-camera presence track (roll pack 0.0.15) in crunch (+307/-18)
- chore(release): 2.13.0 in coolify-mcp (+57/-4)
- feat(repos): bulk-import GitHub repos into the activity feed in progress (+370/-0)
- Vision timeout → 422 (CF eats 504) + ASR_THREADS=7 for faster transcribes in crunch (+22/-12)
- Vision timeout 30s + raise PHP upload limits to 100M (#12 + transcription uploads) in crunch (+4/-2)
- feat(v2): /v2/work-with-me — book the studio in progress (+794/-0)
- fix(feed): stop PR opened/merged duplicates; kill the Twitter-job CI flake in progress (+129/-3)
- feat(v2): channel UX — living smoke, expand-in-place rundown, rail guide in progress (+220/-61)
- feat(funnel): advertise markdown twin + MCP to raw-HTML AI fetchers in progress (+142/-1)
- feat(v2): greenfield hub at /v2 — one Signal system, slim signature, live feed in progress (+1201/-0)
- fix(v2): recut the smoke — calmer plate, crossfade loop, no reversed motion in progress (+0/-0)
- fix(v2): re-light work-with-me — a deal room, not a dimmed hub in progress (+243/-132)
- feat(v2): /v2/showcase + /v2/editor — the work shown, the flagship home in progress (+1222/-55)
- docs: cross-link laravel-coolify in README in coolify-mcp (+2/-0)
- docs: cross-link coolify-mcp in README in laravel-coolify (+2/-0)
- fix(funnel): make signal palette @theme inline so light mode is legible in progress (+14/-3)
- feat(repos): review queue + scheduled auto-import in progress (+386/-289)
- fix(v2): showcase crashed on real case studies — results are objects in progress (+15/-4)
- fix: correct .env.example deploy keys + Passport key fallback on boot (#249) in cleanconnect (+38/-4)
- fix(web): prevent browser-translation crash (NotFoundError on removeChild) in cleanconnect (+49/-0)
- Let composer use a GitHub token at build (reliable api.github.com path) in crunch (+11/-3)
- fix: refresh bundled OpenAPI spec and add client-vs-spec drift check in coolify-mcp (+2533/-489)
- feat: expose dockerfile application creation in coolify-mcp (+81/-2)
- feat(app): human-readable rollpack-
pack names in roll (+25/-9) - Guard against fixed-budget payment overcharge (#242) in cleanconnect (+41/-0)
- chore: repo community kit (CONTRIBUTING, templates, dependabot) in roll (+180/-0)
- chore: fix Pint nit + make CI fail on style in crunch (+4/-12)
- SuperDuperMegaCrunch: roll pack pipeline, editorial signals + hardening in crunch (+1414/-88)
- remote-dev v1+v2: packs, url-lower card, 747 sfx, run learnings in edator-studio (+29876/-1)
- Fix /pack upload path (Storage::path, local disk root is app/private) in crunch (+36/-4)
- feat: THE CUTOVER — the channel takes the apex in progress (+879/-1165)
- fix: add stable Stripe idempotency keys to every mutation (#246) in cleanconnect (+23/-9)
- fix: prevent two quotes on one job both being accepted (#244) in cleanconnect (+123/-0)
- fix: make payment capture-retry reachable on transient Stripe errors (#243) in cleanconnect (+156/-11)
- fix: count marketplace jobs in cleaner availability (#245) in cleanconnect (+97/-2)
- ci: run browser tests on demand for PRs, backstop on main in cleanconnect (+13/-0)
- feat: mobile app slice 1 — /api/v1 auth + Expo app skeleton in cleanconnect (+9718/-1)
- refactor: extract cleaner search into SearchCleaners action in cleanconnect (+153/-161)
- ci: mobile checks workflow + teach claude-review the mobile standards in cleanconnect (+5399/-1579)
- feat: mobile app slice 2 — marketplace browse + cleaner profiles, design system foundation in cleanconnect (+1602/-96)
- feat(v2): per-agency pages — the deal room lit in their colour (#180) in progress (+768/-355)
- Mesh-only read-only SQL endpoint over Tailscale in devtrends (+289/-2)
- feat: mobile app slice 3a — client jobs: post-a-job wizard, my jobs, quotes in cleanconnect (+2956/-16)
- feat(v2): the tail joins the channel — proof, reviews, case studies, articles, stats, activity + Signal OG in progress (+2743/-3992)
- feat(v2): burn the legacy front-end — the channel owns every surface (#185) in progress (+1757/-3592)
- Full page visit into the OAuth consent screen after Inertia login in cockpit (+102/-0)
- fix(capture): explicitly request camera/mic consent (silent TCC deny in installed app) in roll (+19/-0)
- Funnel the MCP machine endpoints for remote clients (claude.ai) in cockpit (+36/-0)
- MCP v0.3: typed gated actions, metric trends, broker target auto-discovery in cockpit (+1063/-47)
- prompt-caching video: pack + image-B-roll pipeline fixes in edator-studio (+18958/-167)
- Dedicated funnel node on :443 for the public MCP surface in cockpit (+101/-79)
- Split OAuth discovery across the two exposure ports in cockpit (+78/-4)
- Fix: funnel is per-port — scope the public MCP surface to :8443 in cockpit (+15/-6)
- Fix: funnel is per-port — scope the public MCP surface to :8443 in cockpit (+15/-6)
- Engine sync: roll-format pipeline, image-B-roll fixes, face-solved zoom, matrix test in edator (+414/-29)
- feat: diagnose_app cross-checks latest deployment status (#239) in coolify-mcp (+69/-0)
- feat: add wait option to deploy tool (#238) in coolify-mcp (+395/-8)
- feat: add run_once action to scheduled_tasks (#233) in coolify-mcp (+369/-3)
- fix(pack): VAD-filter sysaudio transcription (silence hallucinations) in crunch (+49/-8)
- fix: validate scheduled-task command length client-side, add error hints in coolify-mcp (+138/-3)
- chore(release): 2.12.1 in coolify-mcp (+17/-3)
- fix: project deployment get through essential projection when logs requested (#232) in coolify-mcp (+200/-16)
- feat(pack): analyse the camera proxy when the manifest declares one in crunch (+58/-1)
- fix(deploy): stop the database volume shadowing migrations in crunch (+19/-5)
- fix: accept destination_uuid on database create (#217) in coolify-mcp (+62/-0)
- feat(capture): live camera.proxy.mp4 — pack-sized analysis copy (#13) in roll (+113/-59)
- feat(capture): commit 1080p/6Mbps camera deliberately + encode knobs (#12) in roll (+45/-13)
- perf(pack): parallelise the pipeline + live job progress in crunch (+466/-76)
Pull Requests Opened
- PR #162 opened: Reverb /app proxy: 404 non-WebSocket requests instead of 500 in progress
- PR #12 opened: Ensure structural roles are seeded on every boot in shop-template
Commits
- 10 commits to shop-template
- 10 commits to progress
- 10 commits to shop-template
- 10 commits to cockpit
- 10 commits to crunch
- 10 commits to cockpit
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to crunch
- 8 commits to claude-sandbox
- 7 commits to claude-sandbox
- 6 commits to claude-sandbox
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to cockpit
- 5 commits to claude-sandbox
- 4 commits to claude-sandbox
- 10 commits to edator
- 10 commits to edator
- 10 commits to cockpit
- 10 commits to cockpit
- 3 commits to claude-sandbox
- 2 commits to claude-sandbox
- 10 commits to roll
- 10 commits to roll
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to laravel-coolify
- 10 commits to crunch
- 10 commits to shop-template
- 10 commits to edator-studio
- 10 commits to edator-studio
- 10 commits to edator-studio
- 10 commits to progress
- 10 commits to crunch
- 10 commits to shop-template
- 10 commits to cockpit
- 10 commits to cockpit
- 10 commits to roll
- 10 commits to roll
- 10 commits to roll
- 10 commits to roll
- 10 commits to roll
- 10 commits to roll
- 10 commits to roll
- 10 commits to roll
- 10 commits to roll
- 10 commits to roll
- 10 commits to roll
- 10 commits to roll
- 9 commits to roll
- 10 commits to devtrends
- 10 commits to crunch
- 10 commits to coolify-mcp
- 10 commits to coolify-mcp
- 10 commits to coolify-mcp
- 10 commits to progress
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to progress
- 10 commits to progress
- 8 commits to roll
- 10 commits to progress
- 10 commits to progress
- 10 commits to edator-studio
- 10 commits to progress
- 10 commits to progress
- 10 commits to cleanconnect
- 10 commits to progress
- 10 commits to progress
- 10 commits to roll
- 10 commits to roll
- 10 commits to roll
- 10 commits to cleanconnect
- 10 commits to progress
- 10 commits to progress
- 10 commits to progress
- 10 commits to coolify-mcp
- 10 commits to coolify-mcp
- 10 commits to coolify-mcp
- 10 commits to coolify-mcp
- 10 commits to laravel-coolify
- 10 commits to laravel-coolify
- 10 commits to laravel-coolify
- 10 commits to roll
- 10 commits to coolify-mcp
- 10 commits to roll
- 10 commits to progress
- 10 commits to stumason
- 10 commits to stumason
- 10 commits to progress
- 10 commits to cleanconnect
- 10 commits to cleanconnect
- 10 commits to cleanconnect
- 10 commits to cleanconnect
- 10 commits to cleanconnect
- 10 commits to cleanconnect
- 10 commits to cleanconnect
- 10 commits to crunch
- 10 commits to coolify-mcp
- 10 commits to coolify-mcp
- 10 commits to coolify-mcp
- 10 commits to roll
- 10 commits to roll
- 10 commits to cleanconnect
- 10 commits to roll
- 10 commits to cleanconnect
- 10 commits to cleanconnect
- 10 commits to cleanconnect
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to stumason
- 10 commits to stumason
- 10 commits to crunch
- 10 commits to edator-studio
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to cockpit
- 10 commits to roll
- 10 commits to roll
- 10 commits to roll
- 10 commits to roll
- 10 commits to roll
- 10 commits to roll
- 10 commits to roll
- 10 commits to roll
- 10 commits to roll
- 10 commits to progress
- 10 commits to roll
- 10 commits to roll
- 10 commits to roll
- 10 commits to roll
- 10 commits to cleanconnect
- 10 commits to cleanconnect
- 7 commits to roll
- 6 commits to roll
- 10 commits to edator-studio
- 10 commits to cleanconnect
- 10 commits to cleanconnect
- 10 commits to cleanconnect
- 10 commits to stumason
- 10 commits to cleanconnect
- 10 commits to cleanconnect
- 10 commits to cleanconnect
- 10 commits to cleanconnect
- 10 commits to cleanconnect
- 10 commits to edator-studio
- 10 commits to cleanconnect
- 10 commits to cleanconnect
- 10 commits to cleanconnect
- 10 commits to cleanconnect
- 10 commits to cleanconnect
- 10 commits to cleanconnect
- 10 commits to progress
- 10 commits to devtrends
- 10 commits to cleanconnect
- 10 commits to cleanconnect
- 10 commits to cockpit
- 10 commits to progress
- 10 commits to progress
- 10 commits to progress
- 10 commits to progress
- 10 commits to edator-studio
- 10 commits to cockpit
- 10 commits to cockpit
- 10 commits to edator-studio
- 10 commits to roll
- 10 commits to progress
- 10 commits to cockpit
- 10 commits to cockpit
- 10 commits to cockpit
- 10 commits to stumason
- 10 commits to stumason
- 10 commits to cockpit
- 10 commits to cockpit
- 10 commits to cockpit
- 10 commits to edator-studio
- 10 commits to edator-studio
- 10 commits to cockpit
- 10 commits to cockpit
- 10 commits to cockpit
- 10 commits to edator
- 10 commits to coolify-mcp
- 10 commits to coolify-mcp
- 10 commits to coolify-mcp
- 10 commits to coolify-mcp
- 10 commits to crunch
- 10 commits to coolify-mcp
- 10 commits to coolify-mcp
- 10 commits to coolify-mcp
- 10 commits to coolify-mcp
- 10 commits to coolify-mcp
- 10 commits to coolify-mcp
- 10 commits to coolify-mcp
- 10 commits to coolify-mcp
- 10 commits to coolify-mcp
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to coolify-mcp
- 10 commits to edator-studio
- 10 commits to roll
- 10 commits to roll
- 10 commits to roll
- 10 commits to crunch
- 10 commits to crunch
- 10 commits to cockpit
- 10 commits to stumason
- 10 commits to stumason
- 10 commits to progress
Issues
- Opened: Issue #19 opened: feat(app): one-click Crunch — upload the pack to crunch, stream progress in the UI, land crunch.json in the take dir in roll
- Opened: Issue #29 opened: [ocr] Verify/enable PaddleOCR on the new x86 server (paddle returned empty on the old aarch64 box) in crunch
- Opened: Issue #237 opened: Ideas: deploy --wait, execution output modelling, friendlier 5xx mapping, diagnose_app deploy-status cross-check in coolify-mcp
- Opened: Issue #235 opened: application tool: createApplicationDockerfile / createApplicationDockerCompose exist in the client but are unreachable in coolify-mcp
- Opened: Issue #234 opened: scheduled_tasks: command length limit surfaces as bare 'HTTP 500' — validate client-side and document in coolify-mcp
- Opened: Issue #233 opened: scheduled_tasks: add a run_once action (one-off command execution with output, safe cleanup) in coolify-mcp
- Opened: Issue #232 opened: deployment get with
linesbypasses the essential projection — leaks server secrets and blows token budgets in coolify-mcp - Opened: Issue #253 opened: [EPIC] Payment-at-booking (card-on-file) rework — replace the authorize-hold model in cleanconnect
- Opened: Issue #252 opened: [security] Abuse hardening: register/reset + SMS rate limits, phone uniqueness in cleanconnect
- Opened: Issue #251 opened: [docs] Stale identity docs: Laravel 12→13, Inertia 2→3, removed Filament, HasUid inversion in cleanconnect
- Opened: Issue #13 opened: Pack-time camera proxy: ship a small analysis copy of camera.mp4 in the pack, keep full-res local in roll
- Opened: Issue #12 opened: Camera encode settings: local build records 1080p/6Mbps but main ships 720p/2.5Mbps — commit deliberately + expose knobs in roll
- Opened: Issue #250 opened: [MEDIUM] Recurring booking series lifecycle holes (Completed unreachable, N+1 emails, held re-fire) in cleanconnect
- Opened: Issue #248 opened: [MEDIUM][security] Private-file streaming trusts stored path (owner-prefix allowlist missing) in cleanconnect
- Opened: Issue #247 opened: [MEDIUM] Complete/cancel race can overwrite a captured payment to Cancelled in cleanconnect
- Opened: Issue #246 opened: [HIGH] No Stripe idempotency keys on any mutation in cleanconnect
- Opened: Issue #245 opened: [HIGH] Double-booking: AvailabilityService ignores marketplace jobs in cleanconnect
- Opened: Issue #244 opened: [HIGH] AcceptJobQuote race: two quotes on one job can both be accepted in cleanconnect
- Opened: Issue #243 opened: [HIGH] Payment capture-retry is dead code — transient Stripe error strands a completed job unpaid in cleanconnect
- Opened: Issue #242 opened: [P0] Fixed-budget jobs overcharged: client charged quote × duration_estimate in cleanconnect
- Opened: Issue #186 opened: confirm X handle in signature in progress
- Opened: Issue #185 opened: burn the legacy front-end in progress
- Opened: Issue #184 opened: hub: owner tools in-world (compose + annotate) in progress
- Opened: Issue #183 opened: content once-over: proof library, NOW strip, showcase copy in progress
- Opened: Issue #182 opened: cutover: editor.stumason.dev 301 + retire CF Pages project in progress
- Opened: Issue #181 opened: signal OG card template in progress
- Opened: Issue #179 opened: tail: /activity/{id} permalink in-world in progress
- Opened: Issue #178 opened: tail: /proof/* deep pages in-world in progress
- Opened: Issue #177 opened: tail: /work/{slug} case-study details in-world + content once-over in progress
- Opened: Issue #176 opened: tail: /reviews in-world or fold into showcase in progress
- Opened: Issue #175 opened: tail: /stats delivery metrics in-world in progress
- Opened: Issue #174 opened: tail: /articles + article pages in-world in progress
- Opened: Issue #241 opened: i18n: serve the app in users' languages so they don't rely on browser translation in cleanconnect
- Opened: Issue #249 opened: [HIGH] .env.example key mismatches break fresh deploy (R2 endpoint, Passport keys, Resend) in cleanconnect
- Opened: Issue #10 opened: DECISION: alimiter level=true re-normalises to 0 dBFS — the loudness-undershoot root cause (one-flag fix, audio is LOCKED) in edator-studio
- Opened: Issue #9 opened: Backlot-style live board for a cut in progress (file-watch + SSE, read-only) in edator-studio
- Opened: Issue #8 opened: Per-video cost receipt on the QC sheet (AssemblyAI + nano-banana + ElevenLabs per run) in edator-studio
- Opened: Issue #7 opened: B-roll corpus: project-local, download-once image/clip library for memes + stock (the backlot pattern) in edator-studio
- Opened: Issue #6 opened: Card-pacing verifier: assert teach items + timed cards land on their words (compositor dry-run gate) in edator-studio
- Opened: Issue #5 opened: Envelope-onset cut-point finder (ebur128 momentary loudness) — place in/out points on the real waveform in edator-studio
- Opened: Issue #180 opened: agencies: research pass + per-agency /work-with-me/{slug} in-world in progress
- Opened: Issue #4 opened: Consume crunch camera track (on_camera spans + moments) in pack authoring in edator-studio
- Opened: Issue #3 opened: Drop AssemblyAI: crunch transcripts now carry word end-times + confidence (NITS note is stale) in edator-studio
- Opened: Issue #17 opened: Installed Roll.app: unsigned bundle breaks TCC (camera silently denied) + sidecar not bundled (externalBin) in roll
- Opened: Issue #236 opened: Bundled OpenAPI spec is stale: scheduled-tasks, storages, and database-envs endpoints are missing in coolify-mcp
- Opened: Issue #43 opened: [roll] Filter Whisper hallucinations from near-silent sysaudio ("Thank you. Thank you. Thank you.") in crunch
- Opened: Issue #239 opened: diagnose_app: cross-check latest deployment status vs running container in coolify-mcp
- Opened: Issue #238 opened: deploy: add wait option to poll deployment to terminal status in coolify-mcp
- Opened: Issue #41 opened: Verify the camera track end-to-end on a real pack (v1 CLIP presence has only been exercised in absence) in crunch
- Closed: Issue #13 closed: [roll] OCR quality poor on dense UI text — evaluate PaddleOCR/Tesseract vs Florence-2 in crunch
- Closed: Issue #14 closed: [roll] Async batch OCR job for packs (mirror /transcribe) in crunch
- Closed: Issue #19 closed: feat(app): one-click Crunch — upload the pack to crunch, stream progress in the UI, land crunch.json in the take dir in roll
- Closed: Issue #164 closed: Ability to connect with multiple servers in coolify-mcp
- Closed: Issue #249 closed: [HIGH] .env.example key mismatches break fresh deploy (R2 endpoint, Passport keys, Resend) in cleanconnect
- Closed: Issue #236 closed: Bundled OpenAPI spec is stale: scheduled-tasks, storages, and database-envs endpoints are missing in coolify-mcp
- Closed: Issue #235 closed: application tool: createApplicationDockerfile / createApplicationDockerCompose exist in the client but are unreachable in coolify-mcp
- Closed: Issue #246 closed: [HIGH] No Stripe idempotency keys on any mutation in cleanconnect
- Closed: Issue #244 closed: [HIGH] AcceptJobQuote race: two quotes on one job can both be accepted in cleanconnect
- Closed: Issue #243 closed: [HIGH] Payment capture-retry is dead code — transient Stripe error strands a completed job unpaid in cleanconnect
- Closed: Issue #245 closed: [HIGH] Double-booking: AvailabilityService ignores marketplace jobs in cleanconnect
- Closed: Issue #182 closed: cutover: editor.stumason.dev 301 + retire CF Pages project in progress
- Closed: Issue #180 closed: agencies: research pass + per-agency /work-with-me/{slug} in-world in progress
- Closed: Issue #186 closed: confirm X handle in signature in progress
- Closed: Issue #184 closed: hub: owner tools in-world (compose + annotate) in progress
- Closed: Issue #185 closed: burn the legacy front-end in progress
- Closed: Issue #181 closed: signal OG card template in progress
- Closed: Issue #179 closed: tail: /activity/{id} permalink in-world in progress
- Closed: Issue #178 closed: tail: /proof/* deep pages in-world in progress
- Closed: Issue #177 closed: tail: /work/{slug} case-study details in-world + content once-over in progress
- Closed: Issue #176 closed: tail: /reviews in-world or fold into showcase in progress
- Closed: Issue #175 closed: tail: /stats delivery metrics in-world in progress
- Closed: Issue #174 closed: tail: /articles + article pages in-world in progress
- Closed: Issue #239 closed: diagnose_app: cross-check latest deployment status vs running container in coolify-mcp
- Closed: Issue #238 closed: deploy: add wait option to poll deployment to terminal status in coolify-mcp
- Closed: Issue #233 closed: scheduled_tasks: add a run_once action (one-off command execution with output, safe cleanup) in coolify-mcp
- Closed: Issue #208 closed: Add trigger action to scheduled_tasks tool for one-shot execution in coolify-mcp
- Closed: Issue #234 closed: scheduled_tasks: command length limit surfaces as bare 'HTTP 500' — validate client-side and document in coolify-mcp
- Closed: Issue #232 closed: deployment get with
linesbypasses the essential projection — leaks server secrets and blows token budgets in coolify-mcp - Closed: Issue #43 closed: [roll] Filter Whisper hallucinations from near-silent sysaudio ("Thank you. Thank you. Thank you.") in crunch
- Closed: Issue #217 closed: database tool missing destination_uuid in schema (fails on servers with multiple destinations) in coolify-mcp
- Closed: Issue #41 closed: Verify the camera track end-to-end on a real pack (v1 CLIP presence has only been exercised in absence) in crunch
- Closed: Issue #237 closed: Ideas: deploy --wait, execution output modelling, friendlier 5xx mapping, diagnose_app deploy-status cross-check in coolify-mcp
- Closed: Issue #13 closed: Pack-time camera proxy: ship a small analysis copy of camera.mp4 in the pack, keep full-res local in roll
- Closed: Issue #12 closed: Camera encode settings: local build records 1080p/6Mbps but main ships 720p/2.5Mbps — commit deliberately + expose knobs in roll
Get the Friday email
What shipped, what worked with the agents, one thing worth nicking.
No spam. Unsubscribe anytime. Privacy policy.