{-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE OverloadedLists #-} {-# LANGUAGE OverloadedStrings #-} module Tests.Work where import Literate.Document qualified as Doc import Literate.Invoice import Literate.Prelude data ScopeId = Scope_BEAM | Scope_Bonfire | Scope_CollaboraDesktop | Scope_DNSvizor | Scope_Funkwhale | Scope_Mirage | Scope_NGIpkgs | Scope_NGIpkgs_Manuals | Scope_NgiNixForge | Scope_Nixpkgs | Scope_Nimi | Scope_OpamNix | Scope_OpenCV | Scope_Seppo | Scope_Sylk deriving (Eq, Ord, Show, Generic, NFData) instance Doc.ToInline ScopeId where toInline = \case Scope_BEAM -> "BEAM" Scope_Bonfire -> "Bonfire" Scope_CollaboraDesktop -> "Collabora Desktop" Scope_DNSvizor -> "DNSvizor" Scope_Funkwhale -> "Funkwhale" Scope_Mirage -> "Mirage" Scope_NGIpkgs -> "NGIpkgs" Scope_NGIpkgs_Manuals -> "NGIpkgs Manuals" Scope_NgiNixForge -> "NGI Nix Forge" Scope_Nimi -> "nimi" Scope_Nixpkgs -> "Nixpkgs" Scope_OpamNix -> "opam-nix" Scope_OpenCV -> "OpenCV" Scope_Seppo -> "Seppo" Scope_Sylk -> "Sylk" data ActionId = Action_Debug | Action_Develop | Action_Document | Action_Review | Action_Organize deriving (Eq, Ord, Show, Generic, Enum, NFData) instance Doc.ToInline ActionId where toInline = \case Action_Debug -> "debug" Action_Develop -> "develop" Action_Document -> "document" Action_Organize -> "organize" Action_Review -> "review" -- From notion.so: export to CSV from the menu in the top right corner -- <,'>s:\([^ (]*\)(\([^ )]*\))\:\? *\([^,]*\),\([0-9.]*\),\([^, ]*\) *[^,]*,\([^,]*\),\([^,]*\).*: , Work\n { workDate = "\7", workDuration = \4, workAction = Action_\u\1, workScope = [Scope_\u\2], workReferences = ["\6"], workDescription = "\3" }: works :: [Work ScopeId ActionId] works = [ Work { workDate = "2025-11-06" , workDuration = 0.5 , workAction = Action_Organize , workScope = [Scope_NGIpkgs] , workReferences = ["https://meet.google.com/hii-druc-tjp"] , workDescription = "first meeting" } , Work { workDate = "2025-11-06" , workDuration = 4 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = ["https://github.com/ju1m/bonfire-app/commits/nix"] , workDescription = "focus on the hardest part first" } , Work { workDate = "2025-11-07" , workDuration = 8 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = ["https://github.com/ju1m/bonfire-app/commits/nix"] , workDescription = "continuing to package Bonfire deps" } , Work { workDate = "2025-11-08" , workDuration = 0.1 , workAction = Action_Develop , workScope = [Scope_Nixpkgs, Scope_OpenCV] , workReferences = ["https://github.com/NixOS/nixpkgs/pull/459592"] , workDescription = "fix opencv in nixpkgs" } , Work { workDate = "2025-11-09" , workDuration = 8 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = ["https://github.com/ju1m/bonfire-app/commits/nix"] , workDescription = "continue to fix deps" } , Work { workDate = "2025-11-09" , workDuration = 4 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = ["https://github.com/ju1m/bonfire-app/commits/nix"] , workDescription = "continue to fix deps" } , Work { workDate = "2025-11-11" , workDuration = 6 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = ["https://github.com/ju1m/bonfire-app/commits/nix"] , workDescription = "continue to fix deps" } , Work { workDate = "2025-11-12" , workDuration = 4 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = ["https://github.com/ju1m/bonfire-app/commits/nix"] , workDescription = "continue to fix deps" } , Work { workDate = "2025-11-14" , workDuration = 5 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/1812"] , workDescription = "continue to fix deps and move into ngipkgs" } , Work { workDate = "2025-11-14" , workDuration = 1 , workAction = Action_Organize , workScope = [Scope_NGIpkgs] , workReferences = ["https://www.notion.so/nixos-foundation/Nix-NGI-weekly-review-34-2ab59d49e1be80939503c655b009e934"] , workDescription = "weekly meeting" } , Work { workDate = "2025-11-15" , workDuration = 6 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = [] , workDescription = "finish to build Bonfire and start to fix runtime bugs" } , Work { workDate = "2025-11-16" , workDuration = 4 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/1812#issuecomment-3537609170"] , workDescription = "workaround and contribute upstream" } , Work { workDate = "2025-11-17" , workDuration = 8 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = [] , workDescription = "add updateScript and fix opencv" } , Work { workDate = "2025-11-19" , workDuration = 8 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/1812#issuecomment-3554376221"] , workDescription = "continue to fix startup crashes" } , Work { workDate = "2025-11-21" , workDuration = 4 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = [] , workDescription = "begin to package yarn assets. Upstream likes convoluted code and fake libraries." } , Work { workDate = "2025-11-21" , workDuration = 1 , workAction = Action_Organize , workScope = [Scope_NGIpkgs] , workReferences = [] , workDescription = "weekly meeting" } , Work { workDate = "2025-11-21" , workDuration = 4 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = [] , workDescription = "continue to package assets" } , Work { workDate = "2025-11-23" , workDuration = 4 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = [] , workDescription = "continue to package assets and try to get Bonfire to work" } , Work { workDate = "2025-11-24" , workDuration = 10 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = ["https://github.com/surface-ui/surface/issues/762#issuecomment-3577030748"] , workDescription = "continue to solve problems with Bonfire packaging" } , Work { workDate = "2025-11-27" , workDuration = 8 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/1812#issuecomment-3584319056"] , workDescription = "successfully auto-update and build Bonfire" } , Work { workDate = "2025-11-28" , workDuration = 1 , workAction = Action_Organize , workScope = [Scope_NGIpkgs] , workReferences = ["https://www.notion.so/nixos-foundation/Nix-NGI-weekly-review-36-2b959d49e1be80fa823cd4d83581fda5#2b959d49e1be80fc85eed38c9a9dca86"] , workDescription = "weekly meeting" } , Work { workDate = "2025-11-29" , workDuration = 5 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = [] , workDescription = "begin the service module" } , Work { workDate = "2025-12-02" , workDuration = 4 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = [] , workDescription = "continue the service module" } , Work { workDate = "2025-12-03" , workDuration = 8 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = [] , workDescription = "first working service module" } , Work { workDate = "2025-12-04" , workDuration = 5 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/1871"] , workDescription = "improve service module" } , Work { workDate = "2025-12-05" , workDuration = 1 , workAction = Action_Organize , workScope = [Scope_NGIpkgs] , workReferences = ["https://www.notion.so/nixos-foundation/Nix-NGI-weekly-review-36-2b959d49e1be80fa823cd4d83581fda5"] , workDescription = "weekly meeting" } , Work { workDate = "2025-12-05" , workDuration = 0.5 , workAction = Action_Document , workScope = [Scope_NGIpkgs_Manuals] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/1954"] , workDescription = "meeting" } , Work { workDate = "2025-12-06" , workDuration = 2 , workAction = Action_Document , workScope = [Scope_NGIpkgs_Manuals] , workReferences = [] , workDescription = "prepare wednesday meeting" } , Work { workDate = "2025-12-07" , workDuration = 4 , workAction = Action_Document , workScope = [Scope_NGIpkgs_Manuals] , workReferences = [] , workDescription = "prepare demo for wednesday meeting" } , Work { workDate = "2025-12-08" , workDuration = 4 , workAction = Action_Document , workScope = [Scope_NGIpkgs_Manuals] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/1891"] , workDescription = "prepare demo for wednesday meeting" } , Work { workDate = "2025-12-09" , workDuration = 4 , workAction = Action_Document , workScope = [Scope_NGIpkgs_Manuals] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/1891"] , workDescription = "continue to document" } , Work { workDate = "2025-12-10" , workDuration = 2 , workAction = Action_Review , workScope = [Scope_NGIpkgs] , workReferences = ["https://www.notion.so/nixos-foundation/Nix-NGI-best-practices-for-NixOS-modules-implementation-2c559d49e1be80a8a499f21abb203d6f"] , workDescription = "visio on “best practices”" } , Work { workDate = "2025-12-12" , workDuration = 1 , workAction = Action_Organize , workScope = [Scope_NGIpkgs] , workReferences = [] , workDescription = "weekly visio meeting" } , Work { workDate = "2025-12-11" , workDuration = 8 , workAction = Action_Document , workScope = [Scope_NGIpkgs_Manuals] , workReferences = [] , workDescription = "continue to document" } , Work { workDate = "2025-12-12" , workDuration = 4 , workAction = Action_Document , workScope = [Scope_NGIpkgs_Manuals] , workReferences = [] , workDescription = "continue to document" } , Work { workDate = "2025-12-13" , workDuration = 2 , workAction = Action_Document , workScope = [Scope_NGIpkgs_Manuals] , workReferences = [] , workDescription = [ "setup sphinx like " , Doc.InlineLink { Doc.inlineLinkTarget = "https://nix.dev" , Doc.inlineLinkText = "nix.dev" } , " for the manuals" ] } , Work { workDate = "2025-12-13" , workDuration = 5 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = ["https://github.com/bonfire-networks/bonfire-app/issues/1670#issuecomment-3650762914"] , workDescription = "update to latest; overcoming new bugs introduced by upstream" } , Work { workDate = "2025-12-15" , workDuration = 4 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = [] , workDescription = "improving the update script and still overcoming upstream bugs" } , Work { workDate = "2025-12-16" , workDuration = 3 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = [] , workDescription = "overcoming bugs, again" } , Work { workDate = "2025-12-16" , workDuration = 2 , workAction = Action_Review , workScope = [Scope_NGIpkgs] , workReferences = [] , workDescription = "visio to review PRs" } , Work { workDate = "2025-12-16" , workDuration = 2 , workAction = Action_Review , workScope = [Scope_NGIpkgs] , workReferences = [] , workDescription = "visio to review PRs" } , Work { workDate = "2025-12-17" , workDuration = 1.5 , workAction = Action_Review , workScope = [Scope_NGIpkgs] , workReferences = [] , workDescription = "visio to review PRs" } , Work { workDate = "2025-12-18" , workDuration = 1 , workAction = Action_Review , workScope = [Scope_NGIpkgs, Scope_DNSvizor] , workReferences = [] , workDescription = "review linj’s PR" } , Work { workDate = "2025-12-19" , workDuration = 1.5 , workAction = Action_Organize , workScope = [Scope_NGIpkgs] , workReferences = [] , workDescription = "weekly meeting" } , Work { workDate = "2025-12-21" , workDuration = 4 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = [] , workDescription = [ "fix bug using " , "__structuredAttrs" & Doc.InlineCode ] } , Work { workDate = "2025-12-23" , workDuration = 4 , workAction = Action_Document , workScope = [Scope_NGIpkgs_Manuals] , workReferences = [] , workDescription = "improve building the manuals" } , Work { workDate = "2025-12-23" , workDuration = 2 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = [] , workDescription = "address reviewers’ concerns" } , Work { workDate = "2025-12-24" , workDuration = 4 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = [] , workDescription = "update Bonfire and report issues upstream" } , Work { workDate = "2025-12-24" , workDuration = 4 , workAction = Action_Document , workScope = [Scope_NGIpkgs_Manuals] , workReferences = [] , workDescription = "document" } , Work { workDate = "2025-12-24" , workDuration = 2 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = [] , workDescription = "update Bonfire to fix bugs" } , Work { workDate = "2025-12-25" , workDuration = 2 , workAction = Action_Document , workScope = [Scope_NGIpkgs_Manuals] , workReferences = [] , workDescription = "document" } , Work { workDate = "2025-12-25" , workDuration = 6 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = ["https://github.com/bonfire-networks/bonfire-app/issues/1698#issuecomment-3692147409"] , workDescription = "update and fix bugs" } , Work { workDate = "2025-12-26" , workDuration = 1 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = [] , workDescription = "update to fix bugs" } , Work { workDate = "2025-12-28" , workDuration = 6 , workAction = Action_Document , workScope = [Scope_NGIpkgs_Manuals] , workReferences = [] , workDescription = "document" } , Work { workDate = "2025-12-29" , workDuration = 2 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = [] , workDescription = "add more tests" } , Work { workDate = "2025-12-29" , workDuration = 0.5 , workAction = Action_Review , workScope = [Scope_NGIpkgs, Scope_Funkwhale] -- goes into NGI Review , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/1707#discussion_r2651644145"] , workDescription = "" } , Work { workDate = "2025-12-30" , workDuration = 4 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_BEAM] , workReferences = [] , workDescription = ["improve ", Doc.InlineCode "buildMix", " & ", Doc.InlineCode "mixRelease", " for packaging Elixir software"] } , Work { workDate = "2026-01-01" , workDuration = 4 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = [] , workDescription = "support other flavours" } , Work { workDate = "2026-01-03" , workDuration = 4 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = [] , workDescription = "support other flavours, and make update more resilient" } , Work { workDate = "2026-01-04" , workDuration = 2 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = [] , workDescription = "provide upstream with reproducers" } , Work { workDate = "2026-01-05" , workDuration = 2 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = [] , workDescription = "update to latest version" } , Work { workDate = "2026-01-07" , workDuration = 5 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = [] , workDescription = "fix updating" } , Work { workDate = "2026-01-07" , workDuration = 1 , workAction = Action_Document , workScope = [Scope_NGIpkgs_Manuals] -- goes into NGI Core , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/1891"] , workDescription = "address reviewer’s comment" } , Work { workDate = "2026-01-09" , workDuration = 2 , workAction = Action_Document , workScope = [Scope_NGIpkgs_Manuals] -- goes into NGI Core , workReferences = [] , workDescription = "address reviewer’s comments" } , Work { workDate = "2026-01-09" , workDuration = 2 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Bonfire] , workReferences = ["https://github.com/bonfire-networks/bonfire-app/issues/1730"] , workDescription = "answer upstream’s questions" } , Work { workDate = "2026-01-11" , workDuration = 5 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_DNSvizor] , workReferences = [] , workDescription = ["replace ", Doc.InlineCode "hillingar", " to package MirageOS unikernels"] } , Work { workDate = "2026-01-09" , workDuration = 2 , workAction = Action_Organize , workScope = [Scope_NGIpkgs] , workReferences = [] , workDescription = "weekly meeting" } , Work { workDate = "2026-01-12" , workDuration = 5 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_DNSvizor] , workReferences = ["https://github.com/ju1m/ngipkgs/commits/dnsvizor/"] , workDescription = ["remove the need for ", Doc.InlineCode "--allow-import-from-derivation"] } , Work { workDate = "2026-01-12" , workDuration = 6 , workAction = Action_Document , workScope = [Scope_NGIpkgs_Manuals] -- goes into NGI Core , workReferences = [] , workDescription = "render options" } , Work { workDate = "2026-01-13" , workDuration = 1 , workAction = Action_Document , workScope = [Scope_NGIpkgs_Manuals] -- goes into NGI Core , workReferences = [] , workDescription = "update" } , Work { workDate = "2026-01-16" , workDuration = 2 , workAction = Action_Organize , workScope = [Scope_NGIpkgs] , workReferences = [] , workDescription = "weekly meeting" } , Work { workDate = "2026-01-19" , workDuration = 2 , workAction = Action_Document , workScope = [Scope_NGIpkgs_Manuals] -- goes into NGI Core , workReferences = [] , workDescription = "split into several PDF" } , Work { workDate = "2026-01-22" , workDuration = 4 , workAction = Action_Develop , workScope = [Scope_NGIpkgs_Manuals] -- goes into NGI Core , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/2010"] , workDescription = "address reviewers’ concerns" } , Work { workDate = "2026-01-23" , workDuration = 1.5 , workAction = Action_Organize , workScope = [Scope_NGIpkgs] , workReferences = [] , workDescription = "weekly meeting" } , Work { workDate = "2026-01-25" , workDuration = 4 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Seppo] , workReferences = [] , workDescription = "begin packaging" } , Work { workDate = "2026-01-26" , workDuration = 5 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Seppo] , workReferences = [] , workDescription = "continue packaging" } , Work { workDate = "2026-01-27" , workDuration = 5 , workAction = Action_Develop , workScope = [Scope_NGIpkgs, Scope_Seppo] , workReferences = [] , workDescription = "continue packaging" } , {- Counted as work on Seppo , Work { workDate = "2026-01-28" , workDuration = 1 , workAction = Action_Develop , workScope = [Scope_DNSvizor] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/2018"] , workDescription = "rebase" } , Work { workDate = "2026-01-28" , workDuration = 0.5 , workAction = Action_Develop , workScope = [Scope_DNSvizor, Scope_OpamNix] , workReferences = ["https://github.com/tweag/opam-nix/pull/149"] , workDescription = "push upstream what’s needed for MirageOS unikernels" } , Work { workDate = "2026-01-29" , workDuration = 3 , workAction = Action_Review , workScope = [Scope_DNSvizor] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/1944"] , workDescription = "" } , Work { workDate = "2026-01-29" , workDuration = 1 , workAction = Action_Develop , workScope = [Scope_DNSvizor, Scope_OpamNix] , workReferences = ["https://github.com/tweag/opam-nix/pull/149"] , workDescription = "address upstream’s concerns" } , Work { workDate = "2026-01-29" , workDuration = 2 , workAction = Action_Develop , workScope = [Scope_Bonfire] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/1871"] , workDescription = "address reviewers’ concerns" } -} Work { workDate = "2026-01-30" , workDuration = 1 , workAction = Action_Organize , workScope = [Scope_NGIpkgs] , workReferences = [] , workDescription = "weekly meeting" } , Work { workDate = "2026-01-30" , workDuration = 1 , workAction = Action_Review , workScope = [Scope_DNSvizor] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/1944"] , workDescription = "second round of discussion" } , Work { workDate = "2026-02-04" , workDuration = 3 , workAction = Action_Debug , workScope = [Scope_DNSvizor] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/1907#issuecomment-3845347501"] , workDescription = "blame Thread-Local Storage (TLS) for runtime crash of DNSvizor built with Nix" } , Work { workDate = "2026-02-04" , workDuration = 0.5 , workAction = Action_Develop , workScope = [Scope_DNSvizor] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/2018"] , workDescription = "address reviewer concerns" } , Work { workDate = "2026-02-05" , workDuration = 3 , workAction = Action_Develop , workScope = [Scope_DNSvizor] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/2018"] , workDescription = "workaround longstanding runtime failure due to Thread-Local Storage in Solo5" } , Work { workDate = "2026-02-06" , workDuration = 3 , workAction = Action_Develop , workScope = [Scope_DNSvizor] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/2018"] , workDescription = "address reviewer’s concern about closure size" } , Work { workDate = "2026-02-04" , workDuration = 0.5 , workAction = Action_Document , workScope = [Scope_OpamNix] , workReferences = ["https://github.com/tweag/opam-nix/pull/149"] , workDescription = "address upstream concerns" } , Work { workDate = "2026-02-06" , workDuration = 2.5 , workAction = Action_Organize , workScope = [Scope_NGIpkgs] , workReferences = [] , workDescription = "weekly meeting" } , Work { workDate = "2026-02-10" , workDuration = 3 , workAction = Action_Develop , workScope = [Scope_DNSvizor, Scope_Mirage] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/2063"] , workDescription = "standardization of the build helper" } , Work { workDate = "2026-02-11" , workDuration = 2 , workAction = Action_Develop , workScope = [Scope_DNSvizor, Scope_Mirage] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/2063"] , workDescription = "address reviewer’s concerns" } , Work { workDate = "2026-02-11" , workDuration = 1 , workAction = Action_Develop , workScope = [Scope_DNSvizor, Scope_Mirage] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/2063"] , workDescription = "address reviewers’ concerns" } , Work { workDate = "2026-02-11" , workDuration = 5 , workAction = Action_Develop , workScope = [Scope_Bonfire] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/2155"] , workDescription = "update to 1.0.2-alpha.23" } , Work { workDate = "2026-02-11" , workDuration = 1 , workAction = Action_Develop , workScope = [Scope_OpamNix] , workReferences = ["https://github.com/tweag/opam-nix"] , workDescription = "address upstream-s concern" } , Work { workDate = "2026-02-13" , workDuration = 1 , workAction = Action_Organize , workScope = [Scope_NGIpkgs] , workReferences = [] , workDescription = "weekly meeting" } , Work { workDate = "2026-02-16" , workDuration = 3 , workAction = Action_Develop , workScope = [Scope_DNSvizor, Scope_Mirage] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/2063"] , workDescription = "address reviewer’s concerns" } , Work { workDate = "2026-02-19" , workDuration = 5 , workAction = Action_Develop , workScope = [Scope_Bonfire] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/2155"] , workDescription = "update to 1.0.2-alpha.32" } , Work { workDate = "2026-02-21" , workDuration = 2 , workAction = Action_Organize , workScope = [Scope_NGIpkgs] , workReferences = [] , workDescription = "weekly meeting" } , Work { workDate = "2026-02-21" , workDuration = 1 , workAction = Action_Organize , workScope = [Scope_NGIpkgs] , workReferences = [] , workDescription = "meeting with Ivan Mincik to understand his vision for NGIpkgs App Store" } , Work { workDate = "2026-02-24" , workDuration = 1.5 , workAction = Action_Organize , workScope = [Scope_NGIpkgs] , workReferences = [""] , workDescription = "meeting with Valentin Gagarin and the Nix@NGI team to discuss Ivan’s Nix App Store" } , Work { workDate = "2026-02-23" , workDuration = 2 , workAction = Action_Develop , workScope = [Scope_Bonfire] , workReferences = [""] , workDescription = "fix upstream lock file (again)" } , Work { workDate = "2026-02-23" , workDuration = 1 , workAction = Action_Review , workScope = [Scope_Sylk] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/2203"] , workDescription = "resurrect and improve fixes dropped by original author" } , Work { workDate = "2026-02-23" , workDuration = 0.1 , workAction = Action_Develop , workScope = [Scope_DNSvizor] , workReferences = ["https://github.com/ngi-nix/ngipkgs/pull/2063"] , workDescription = "rebase due to conflicts" } , Work { workDate = "2026-02-26" , workDuration = 2.5 , workAction = Action_Organize , workScope = [Scope_NgiNixForge] , workReferences = [""] , workDescription = "discuss with Ivan and the Nix@NGI team about Ivan’s vision" } , Work { workDate = "2026-02-27" , workDuration = 1.75 , workAction = Action_Organize , workScope = [Scope_NGIpkgs] , workReferences = [""] , workDescription = "weekly meeting" } , Work { workDate = "2026-02-28" , workDuration = 2 , workAction = Action_Review , workScope = [Scope_CollaboraDesktop] , workReferences = ["https://github.com/NixOS/nixpkgs/pull/485564#issuecomment-3977899035"] , workDescription = "try to reproduce and investigate failing checks" } , Work { workDate = "2026-02-28" , workDuration = 2 , workAction = Action_Review , workScope = [Scope_CollaboraDesktop] , workReferences = ["https://github.com/NixOS/nixpkgs/pull/485564#issuecomment-3977899035"] , workDescription = "try to reproduce and investigate failing checks" } , Work { workDate = "2026-03-02" , workDuration = 3 , workAction = Action_Review , workScope = [Scope_NgiNixForge] , workReferences = ["https://github.com/ju1m/nix-forge/tree/understanding"] , workDescription = "understand by rewriting from scratch" } , Work { workDate = "2026-03-02" , workDuration = 3 , workAction = Action_Develop , workScope = [Scope_NgiNixForge] , workReferences = ["https://github.com/ju1m/nix-forge/tree/understanding"] , workDescription = "package elm-watch" } , Work { workDate = "2026-03-03" , workDuration = 3 , workAction = Action_Develop , workScope = [Scope_NgiNixForge] , workReferences = ["https://github.com/ju1m/nix-forge/tree/understanding"] , workDescription = "improve dev environment" } , Work { workDate = "2026-03-03" , workDuration = 1 , workAction = Action_Organize , workScope = [Scope_NgiNixForge] , workReferences = ["@nix-forge-development:matrix.org"] , workDescription = "answer questions" } , Work { workDate = "2026-03-04" , workDuration = 4 , workAction = Action_Develop , workScope = [Scope_NgiNixForge] , workReferences = ["https://github.com/ju1m/nix-forge/tree/understanding"] , workDescription = "assess code quality of the UI" } , Work { workDate = "2026-03-04" , workDuration = 2.5 , workAction = Action_Organize , workScope = [Scope_NgiNixForge] , workReferences = [""] , workDescription = "share progress and open issues" } , Work { workDate = "2026-03-05" , workDuration = 4 , workAction = Action_Review , workScope = [Scope_NgiNixForge] , workReferences = ["https://github.com/eljamm/nix-forge/commits/explore/"] , workDescription = "review Fedi’s work" } , Work { workDate = "2026-03-06" , workDuration = 1.5 , workAction = Action_Organize , workScope = [Scope_NgiNixForge] , workReferences = [""] , workDescription = "discuss nix-forge" } , Work { workDate = "2026-03-07" , workDuration = 4 , workAction = Action_Develop , workScope = [Scope_NgiNixForge] , workReferences = ["https://github.com/eljamm/nix-forge/pull/1"] , workDescription = "track down and fix bug in Fedi’s branch" } , Work { workDate = "2026-03-08" , workDuration = 1 , workAction = Action_Develop , workScope = [Scope_Nimi] , workReferences = ["https://github.com/weyl-ai/nimi/pull/15"] , workDescription = "improve performance" } , Work { workDate = "2026-03-09" , workDuration = 7 , workAction = Action_Develop , workScope = [Scope_NgiNixForge] , workReferences = [""] , workDescription = "rewrite in a more type-safe and idiomatic way" } , Work { workDate = "2026-03-09" , workDuration = 2 , workAction = Action_Organize , workScope = [Scope_NgiNixForge] , workReferences = ["https://www.notion.so/nixos-foundation/Nix-NGI-spike-review-31e59d49e1be809f9192d42a2862d7e5"] , workDescription = "assess design" } , Work { workDate = "2026-03-10" , workDuration = 2 , workAction = Action_Organize , workScope = [Scope_NgiNixForge] , workReferences = [""] , workDescription = "discuss UI design" } , Work { workDate = "2026-03-10" , workDuration = 10 , workAction = Action_Develop , workScope = [Scope_NgiNixForge] , workReferences = [""] , workDescription = "implement discussed design" } , Work { workDate = "2026-03-16" , workDuration = 2 , workAction = Action_Organize , workScope = [Scope_NgiNixForge] , workReferences = [""] , workDescription = "weekly meeting" } , Work { workDate = "2026-03-13" , workDuration = 2 , workAction = Action_Organize , workScope = [Scope_NgiNixForge] , workReferences = [""] , workDescription = "weekly meeting" } , Work { workDate = "2026-03-13" , workDuration = 4 , workAction = Action_Develop , workScope = [Scope_NgiNixForge] , workReferences = [""] , workDescription = "try to support browser history" } , Work { workDate = "2026-03-11" , workDuration = 3 , workAction = Action_Develop , workScope = [Scope_NgiNixForge] , workReferences = [""] , workDescription = "address review comments" } , Work { workDate = "2026-03-15" , workDuration = 10 , workAction = Action_Develop , workScope = [Scope_NgiNixForge] , workReferences = ["https://github.com/ngi-nix/ngi-nix-forge/pull/55"] , workDescription = "fix routing bugs" } , Work { workDate = "2026-03-16" , workDuration = 1 , workAction = Action_Review , workScope = [Scope_NgiNixForge] , workReferences = ["https://github.com/ngi-nix/ngi-nix-forge/pull/67"] , workDescription = "review Phani’s work" } , Work { workDate = "2026-03-16" , workDuration = 6 , workAction = Action_Develop , workScope = [Scope_NgiNixForge] , workReferences = [""] , workDescription = "improve underlying model or the UI" } , Work { workDate = "2026-03-17" , workDuration = 2.5 , workAction = Action_Organize , workScope = [Scope_NgiNixForge] , workReferences = [""] , workDescription = "design discussion with Ivan and Phani" } , Work { workDate = "2026-03-17" , workDuration = 6 , workAction = Action_Develop , workScope = [Scope_NgiNixForge] , workReferences = [""] , workDescription = "implement routing for all pages" } , Work { workDate = "2026-03-17" , workDuration = 4 , workAction = Action_Organize , workScope = [Scope_NgiNixForge] , workReferences = [""] , workDescription = "review Phani’s work with Phani" } , Work { workDate = "2026-03-19" , workDuration = 1 , workAction = Action_Develop , workScope = [Scope_NgiNixForge] , workReferences = [""] , workDescription = "implement options listing for packager" } , Work { workDate = "2026-03-20" , workDuration = 1.5 , workAction = Action_Organize , workScope = [Scope_NgiNixForge] , workReferences = [""] , workDescription = "weekly meeting" } , Work { workDate = "2026-03-22" , workDuration = 5 , workAction = Action_Develop , workScope = [Scope_NgiNixForge] , workReferences = ["https://github.com/ngi-nix/ngi-nix-forge/pull/108"] , workDescription = "init options browsing" } , Work { workDate = "2026-03-23" , workDuration = 5 , workAction = Action_Develop , workScope = [Scope_NgiNixForge] , workReferences = ["https://github.com/ngi-nix/ngi-nix-forge/pull/108"] , workDescription = "multiple fixes related to the UI" } , Work { workDate = "2026-03-25" , workDuration = 2 , workAction = Action_Develop , workScope = [Scope_NgiNixForge] , workReferences = ["https://github.com/ngi-nix/forge/pull/108"] , workDescription = "address reviewer’s concerns" } , Work { workDate = "2026-03-26" , workDuration = 2 , workAction = Action_Develop , workScope = [Scope_NgiNixForge] , workReferences = ["https://github.com/ngi-nix/forge/pull/133"] , workDescription = "address reviewer’s concerns" } , Work { workDate = "2026-03-26" , workDuration = 2 , workAction = Action_Develop , workScope = [Scope_NgiNixForge] , workReferences = ["https://github.com/ngi-nix/forge/pull/144"] , workDescription = "address reliability concerns of the dev environment" } , Work { workDate = "2026-03-27" , workDuration = 2 , workAction = Action_Develop , workScope = [Scope_NgiNixForge] , workReferences = [""] , workDescription = "implement pagination for /recipe/options" } , Work { workDate = "2026-03-27" , workDuration = 2.5 , workAction = Action_Organize , workScope = [Scope_NgiNixForge] , workReferences = [""] , workDescription = "weekly meeting" } , Work { workDate = "2026-03-27" , workDuration = 0.5 , workAction = Action_Develop , workScope = [Scope_NgiNixForge] , workReferences = ["https://github.com/ngi-nix/forge/pull/144"] , workDescription = "address reviewer’s concerns" } ]