timothy and Claude Fable 5
50ae0a7f3b
docs: onboarding/convention docs part 1 + handoff past #180/#182/#183 (parity endgame)
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m53s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 4m56s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 3m52s
Adds docs/README.md (index), api-conventions.md, spa-conventions.md, e2e-local.md +
scripts/e2e-local.sh, blazor-route-parity.md (#91 phase-b tracker), domain-model.md,
decisions.md. Rule (CLAUDE.md): read these at session start instead of re-recon; update
in the same PR that changes a convention/route/decision. Part 2 = #185 .
Handoff: #180/#141/#158/#161 closed (PRs #181/#182/#183); #145 playback-only; #91
readiness plan posted; next prompt = #185 + quick wins + #155/#151/#152/#153.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-08 00:03:01 +02:00
timothy and Claude Fable 5
e58da21a56
docs: queue #180 (channel builder season tiles + broken artwork) first for next session
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m41s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 4m58s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 3m37s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 21:18:01 +02:00
timothy and Claude Fable 5
a709dccec7
docs: advance ChicoryTV queue past #144/#162 (scheduling parity DONE, PRs #170-#175/#179); next = #145/#141 leftovers
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m42s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 4m56s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 5m24s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 21:05:59 +02:00
timothy and Claude Fable 5
e00b7e4d11
docs: advance ChicoryTV queue past parity pass 2 (#142/#143 closed, #141/#145 partial, #157 fixed; PRs #165-#169); next = #144 scheduling slices
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m38s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 4m49s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 4m49s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 16:24:18 +02:00
timothy and Claude Fable 5
22fa3ecb08
docs: advance ChicoryTV queue past parity #140/#146/#147 (PRs #150/#154/#156); gaps #151-#153/#155 filed; next prompt = parity #141-#145
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m33s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 4m55s
Build ErsatzTV Image / Build & push image (amd64) (push) Failing after 43s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 12:57:51 +02:00
timothy and Claude Fable 5
2362850559
docs: post-cutover housekeeping — dep PRs #61/#132 merged, #21/#48/#49/#131 closed, #76 rebased, prod v26.5.0 verified; next prompt = parity #147/#146/#140
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m12s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 4m41s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 5m4s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 12:01:07 +02:00
timothy and Claude Fable 5
1cf4a7a90c
docs: v26.5.0 tagged + deployed to prod (Komodo GitOps pin); deployment section reflects pinned-tag releases
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m21s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 4m41s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 4m30s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 11:39:02 +02:00
timothy and Claude Fable 5
21ede49253
docs: advance ChicoryTV issue queue past #91 phase (a) (PR #148 ); CLAUDE.md reflects SPA-default UI; next prompt = post-cutover housekeeping + parity kickoff
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m11s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 4m34s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 4m33s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 11:21:35 +02:00
timothy and Claude Fable 5
b564545ff7
docs: advance ChicoryTV issue queue past #90 (PR #139 , tagged v26.4.0); next prompt = #91 cutover
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 3m55s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 4m36s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 3m54s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 10:20:36 +02:00
timothy and Claude Fable 5
9497df0d53
docs: advance ChicoryTV issue queue past #93 (PR #138 ); document design-sync workflow ( #92 ); next prompt = #90 rebrand
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m7s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 4m34s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 4m54s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 09:39:27 +02:00
timothy and Claude Fable 5
8a323f98bf
docs: advance ChicoryTV issue queue past #89 (PR #136 ); next prompt = #93 Settings
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m34s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 5m1s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 4m13s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-06 23:43:42 +02:00
timothy and Claude Fable 5
2596a433a8
docs: advance ChicoryTV issue queue past #63 (PR #134 ); Claude-only process; next prompt = #89 Channel Builder
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 3m48s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 3m38s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 5m0s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-06 21:33:04 +02:00
timothy and Claude Fable 5
16674ba80e
docs: advance ChicoryTV issue queue past #64 (PR #133 ); next prompt = #63 composite create-channel
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m43s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 5m22s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 3m32s
Also: record prod cutover as done in CLAUDE.md (fork :prod live since
2026-06-27) and add standing v26.4.0 release-checkpoint note to the handoff.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-06 19:45:08 +02:00
timothy and Claude Fable 5
836087da09
docs: advance ChicoryTV issue queue past #65 (PR #130 ); next prompt = #64 Channel Templates
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m30s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 5m11s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 3m28s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-06 07:58:57 +02:00
timothy and Claude Fable 5
a5de775480
docs: advance ChicoryTV issue queue past #85 (PR #129 ); next prompt = #65 library browse API (Codex)
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m39s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 5m14s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 3m32s
Renovate / Renovate (push) Successful in 1m18s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-05 23:22:10 +02:00
timothy and Claude Fable 5
d9ffbde79c
docs: advance ChicoryTV issue queue past #88 (PR #128 ); next prompt = #85 EPG (Codex)
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m17s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 4m54s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 3m28s
Records the #128 review outcome (percent-fraction + poll-start-race fixes,
bee686c8 ), main d63719ec , baselines (368/493+1skip/75 web), and new lessons
(numeric wire-field units, trigger≠started grace windows, no ref mutation in
updaters).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-05 19:08:53 +02:00
timothy and Claude Fable 5
223ef70912
docs: advance ChicoryTV issue queue past #87 (PR #127 ); next prompt = #88 Libraries (Codex)
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m22s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 5m0s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 4m1s
Records the #127 review outcome (filler blocker + undefined token), pre-merge
fixes (c4190e3a ), main a8dd88ef , baselines (368/493+1skip/63 web), and new
lessons (fixture-vs-actual-query fidelity, pure setState updaters, responsive
collapse, visible deferrals, honest tests).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-05 17:53:07 +02:00
timothy and Claude Fable 5
c5021e28da
docs: advance ChicoryTV issue queue past #86 (PR #125 ); next prompt = #87 Playouts (Codex)
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m9s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 4m48s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 3m23s
Records the #125 review outcome (refuted reorder blocker → #126 ), pre-merge
fixes (f18f2dc0 ), main 229f7cc1 , baselines (368/493+1skip/52 web), and new
lessons (mount call-count assertions, no world-refetch, no list[0]-only UIs).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-05 12:27:06 +02:00
timothy and Claude Fable 5
8f792d964e
docs: advance ChicoryTV issue queue past #84 (PR #124 ); next prompt = #86 Schedule editor (Codex)
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m23s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 5m2s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 3m28s
Records the new Fable-prompts/Fable-reviews process, PR #124 review outcome
and pre-merge fixes (ecf6cf75 ), main 7ee6e987 , baselines (368/493+1skip/39 web).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-05 11:29:53 +02:00
timothy and Claude Fable 5
39d76080de
docs: advance ChicoryTV issue queue past #109 (PR #123 ); next prompt = #84 Channels screen (Codex)
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m15s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 4m56s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 3m21s
Records: main=4ffd777b, review-fix cycle lesson (fixture values must come from
backend serializers), health no-poll policy, baselines 368/493 + 31 web tests.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-04 21:23:24 +02:00
timothy
da7636fdad
docs: update ChicoryTV queue after PR 121
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m11s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 5m4s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 3m46s
2026-07-04 20:37:29 +02:00
timothy and Claude Fable 5
3e8cfa6288
docs: advance ChicoryTV issue queue past the merge pass (PR #120 ); next prompt = #109 Dashboard
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m46s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 5m31s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 3m45s
Records: main=1b6de047, PR #122 hotfix pending consent, PR #121 (#99 ) FIX-FIRST
review state, new baselines (364/488), worktree cleanup status.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-04 19:52:50 +02:00
timothy and Claude Fable 5
f6306d622f
docs: advance ChicoryTV issue queue past #102 (PR #119 ); next prompt = SPA stack merge pass
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-04 07:45:34 +02:00
timothy and Claude Fable 5
a867eecaa5
docs: advance ChicoryTV issue queue past #104/#111 (PRs #117/#118); single-session prompt for #102
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-04 00:05:42 +02:00
timothy and Claude Fable 5
4d37de3455
docs: Codex prompt B uses effort-tiered subagents; relax build cap to <5 concurrent
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-03 22:58:18 +02:00
timothy and Claude Fable 5
0f8066f06d
docs: advance ChicoryTV issue queue past #100/#101/#107/#110 (PR #116 ); next prompts #104 (Claude) + #111 (Codex)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-03 22:53:58 +02:00
timothy and Claude Fable 5
dc373e5a53
docs: advance ChicoryTV issue queue past #108 (PR #114 ); split next handoff into Claude+Codex parallel prompts
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-03 21:30:33 +02:00
timothy and Claude Fable 5
e663cabe9c
docs: advance ChicoryTV issue queue past #105 (PR #113 )
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-02 22:37:01 +02:00
timothy and Claude Fable 5
b5714061f8
docs: prescribe per-step subagent models in issue-queue handoff
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-02 21:56:43 +02:00
timothy and Claude Fable 5
4db142c2f2
docs: advance ChicoryTV issue queue past #97 (PR #112 )
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-02 21:55:10 +02:00
timothy and Claude Fable 5
3e44947597
docs: add ChicoryTV issue-queue handoff (one issue per session)
...
Living handoff document driving the sequential backend-gap work
(#97 , #100-#111, merge pass, then UX screens). Each session works
one queue item and rewrites this file for the next.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-02 21:31:22 +02:00
timothy and Claude Opus 4.8
7dfd4c37bb
docs: add ersatztv#2 REST API handoff (Phase 1 design → Phase 2 implement)
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m30s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 5m35s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 3m51s
Two-phase handoff for a parallel session: Phase 1 investigates the
existing API/CQRS/validation patterns and produces a design + increment
split (Channels-first); Phase 2 implements per vertical slice via
workflows/ultracode. refs #2
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-27 13:19:51 +02:00
timothy and Claude Opus 4.8
a638b4f54c
docs: close #1 — M3U localhost is config/topology, not a code bug
...
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m34s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 5m37s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 3m40s
Re-investigated ersatztv#1 against the live stack: ErsatzTV emits
request-host-driven URLs (44 cached guide fragments use {RequestBase},
zero baked localhost), and Jellyfin no longer tuners ErsatzTV directly —
it funnels through Dispatcharr. The historical localhost came from a
client fetching with Host: localhost:8409, a path that no longer exists.
Document the live topology + evidence + resolution; reframe the optional
base-URL setting as not-built; note the latent fragility. Remove the now
spent handoff doc.
refs #1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-27 13:01:08 +02:00
timothy and Claude Opus 4.8
421710499c
ci: gate image build on migrations; add #1 handoff
...
Build ErsatzTV Image / Build & test (.NET) (pull_request) Successful in 4m27s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (pull_request) Successful in 5m31s
Build ErsatzTV Image / Build & push image (amd64) (pull_request) Has been skipped
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 4m20s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 5m24s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 3m30s
- docker-build.yml: the image `build` job now `needs: [test, migrations]`, so a
broken migration blocks the image build (not just the test gate). main branch
protection also now requires the "EF migration integrity (SQLite + MySql)" check
on PR merges. (follow-through on #13 )
- docs/handoffs/m3u-tvg-logo-fix.md: working brief for the next task (#1 , M3U
tvg-logo localhost), incl. the finding that the issue's GenerateChannelLogoUrl
root-cause is a red herring (that localhost is the ffmpeg watermark path, fetched
in-container; investigate the request flow / forwarded headers / cached values
instead). References the #11 golden + #16 E2E regression nets.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-27 12:22:57 +02:00