{
  "path": "/3m5o5tbr3qk2l",
  "site": "at://did:plc:xg2vq45muivyy3xwatcehspu/site.standard.publication/3m3zpxhfl3c2s",
  "$type": "site.standard.document",
  "title": "Dev Log 17: 2025-11-15",
  "content": {
    "$type": "pub.leaflet.content",
    "pages": [
      {
        "$type": "pub.leaflet.pages.linearDocument",
        "blocks": [
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 2,
              "facets": [
                {
                  "index": {
                    "byteEnd": 12,
                    "byteStart": 8
                  },
                  "features": [
                    {
                      "uri": "https://stormlightlabs.github.io/beacon/",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                },
                {
                  "index": {
                    "byteEnd": 17,
                    "byteStart": 13
                  },
                  "features": [
                    {
                      "uri": "https://github.com/stormlightlabs/beacon",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "Beacon (docs/code)"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.unorderedList",
              "children": [
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "Working on LRU cache invalidation"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "Reorganized planning docs"
                  },
                  "children": [
                    {
                      "$type": "pub.leaflet.blocks.unorderedList#listItem",
                      "content": {
                        "$type": "pub.leaflet.blocks.text",
                        "facets": [],
                        "plaintext": "These are TODO & ROADMAP (markdown) files I tend to toss in every project I work on"
                      },
                      "children": []
                    }
                  ]
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 214,
                          "byteStart": 210
                        },
                        "features": [
                          {
                            "uri": "https://stormlightlabs.github.io/beacon/learn/hm.html",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      }
                    ],
                    "plaintext": "My goal with this project for the next week or so is to cut v0.3.0 and focus entirely on solidifying the type checker. I was still learning about the mechanics of hindley-milner when I started it (my notes are here) and the implementation has a few sets of edge cases and false positives to be rooted out."
                  },
                  "children": [
                    {
                      "$type": "pub.leaflet.blocks.unorderedList#listItem",
                      "content": {
                        "$type": "pub.leaflet.blocks.text",
                        "facets": [],
                        "plaintext": "This is a loosening of my personal deadlines (which are usually way too conservative) to account for...life? and some other big projects."
                      },
                      "children": []
                    }
                  ]
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 2,
              "facets": [
                {
                  "index": {
                    "byteEnd": 11,
                    "byteStart": 7
                  },
                  "features": [
                    {
                      "uri": "https://stormlightlabs.github.io/volt/",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                },
                {
                  "index": {
                    "byteEnd": 16,
                    "byteStart": 12
                  },
                  "features": [
                    {
                      "uri": "https://github.com/stormlightlabs/volt",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "VoltX (docs/code)"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.unorderedList",
              "children": [
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "This is the other big project. I've been away from this for so long (it's only really been a couple of weeks) that it was hard to reorient myself to its idiosyncrasies. "
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "Currently I'm working on error handling, messaging, and ergonomics (think the overlays you see in vite projects)."
                  },
                  "children": []
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 2,
              "facets": [
                {
                  "index": {
                    "byteEnd": 14,
                    "byteStart": 10
                  },
                  "features": [
                    {
                      "uri": "https://tangled.org/@desertthunder.dev/noteleaf",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "Noteleaf (code)"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.unorderedList",
              "children": [
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "This is a project a lot of folks seem interested in so I have to be careful not to let it be another VoltX situation."
                  },
                  "children": [
                    {
                      "$type": "pub.leaflet.blocks.unorderedList#listItem",
                      "content": {
                        "$type": "pub.leaflet.blocks.text",
                        "facets": [],
                        "plaintext": "Luckily the last thing I worked on was the documentation site and manual."
                      },
                      "children": []
                    }
                  ]
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 2,
              "facets": [
                {
                  "index": {
                    "byteEnd": 15,
                    "byteStart": 11
                  },
                  "features": [
                    {
                      "uri": "https://stormlightlabs.github.io/git-storm/",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                },
                {
                  "index": {
                    "byteEnd": 20,
                    "byteStart": 16
                  },
                  "features": [
                    {
                      "uri": "https://github.com/stormlightlabs/git-storm",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "Git-Storm (docs/code)"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.unorderedList",
              "children": [
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "I'm integrating this into my Beacon workflow so basically, we're in QA mode."
                  },
                  "children": []
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 2,
              "facets": [],
              "plaintext": "Nix Config"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.unorderedList",
              "children": [
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 193,
                          "byteStart": 189
                        },
                        "features": [
                          {
                            "uri": "https://nixos-and-flakes.thiscute.world/",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      }
                    ],
                    "plaintext": "This will be a weekend project for me. I see a TON of Nix configuration repos and a lot about Omarchy out there. It makes me want to scrap my current Hyprland + Endeavour setup and hit the books."
                  },
                  "children": []
                }
              ]
            }
          }
        ]
      }
    ]
  },
  "bskyPostRef": {
    "cid": "bafyreihb6myx2lbringgv5gnlu3xv2rqmd2tkem3rqpn3q7u77ybwrzg74",
    "uri": "at://did:plc:xg2vq45muivyy3xwatcehspu/app.bsky.feed.post/3m5o5tfztps2l",
    "commit": {
      "cid": "bafyreigvu4dzcsar2dsdmeyhrdbphqpdzvtdfcza6mcarhvw6rbkvfe3ki",
      "rev": "3m5o5tg3yhe2r"
    },
    "validationStatus": "valid"
  },
  "description": "Easing my own expectations of myself with better planning",
  "publishedAt": "2025-11-15T12:06:42.274Z"
}