Skip to content

blog: batch-1 editorial tiers — 20 posts, operator-ruled (TIN-2981) - #237

Closed
Jesssullivan wants to merge 1 commit into
mainfrom
jess/tin-2981-tier-batch-1
Closed

blog: batch-1 editorial tiers — 20 posts, operator-ruled (TIN-2981)#237
Jesssullivan wants to merge 1 commit into
mainfrom
jess/tin-2981-tier-batch-1

Conversation

@Jesssullivan

@Jesssullivan Jesssullivan commented Jul 17, 2026

Copy link
Copy Markdown
Owner

What

Exactly 20 one-line editorial_tier frontmatter additions encoding the operator's 2026-07-17 batch-1 ruling: 10 noteworthy, 10 less-noteworthy. No post bodies or unrelated frontmatter fields change.

Authority and sequencing

This is not a spoke-only, parity-inert edit. Three selected posts already have managed Tinyland counterparts whose canonical records/projections do not yet carry the same tier:

  • 2026-03-04-week-notes-cyborgs-servers-and-sending.md
  • 2026-03-21-week-notes-indeterminism-passkeys-and-spring.md
  • 2026-03-13-the-winrm-forkbomb-how-ansible-molecule-locks-you-out-of-active-directory.md

TIN-2983 is therefore a pre-merge parity/import gate. The managed source and generated projections must be updated and verified before this PR can merge. TIN-2984 then verifies the end-to-end projection/reader contract.

Local validation

  • post tests: 39/39
  • values are in the enforced enum ['less-noteworthy', 'noteworthy']
  • frontmatter-only diff; no prose changes

Current disposition

Draft and blocked. A merge is a production deployment and is not appropriate while parity is red or the reader promotion prerequisites remain open.

Linear: TIN-2981, TIN-2983, TIN-2984

@github-actions

Copy link
Copy Markdown
Contributor

📝 Blog Post Review

Found 20 blog post(s) in this PR:

Post Status Date Published Tags Linear
AccuWix Report CLI ✏️ Modified 2024-01-02 ✅ Published DIY, Ideas, How-To none
I wrote a mutual aid mental health service ✏️ Modified 2024-02-22 ✅ Published software, mental-health, social-good none
What have I been up to these last few months? ✏️ Modified 2024-05-22 ✅ Published personal, update none
Ligature Test Fixture ✏️ Modified 2024-12-31 ✅ Published test none
Aperture, Tagged Devices, and the tsnet Escape Hatch ✏️ Modified 2026-02-26 ✅ Published Tailscale, DevOps none
From Bricked to Recovered: The Story of Hacking an NVMe SSD Back to Life ✏️ Modified 2026-03-04 ✅ Published nvme, ssd-recovery, reverse-engineering, usb-bridge, zig none
Week Notes: Cyborgs, Servers, and Sending ✏️ Modified 2026-03-04 ✅ Published weeknotes, homelab, bci, xoxdwm, tcfs, dhall, climbing, metal, reverse-engineering none
XRAM Injection: Bypassing USB Bridge Whitelists to Recover NVMe Drives ✏️ Modified 2026-03-04 ✅ Published nvme, asm2362, xram, scsi, usb-bridge, reverse-engineering, zig, low-level none
Updated Resume & CV — March 2026 ✏️ Modified 2026-03-12 ✅ Published personal, resume, cv none
WinRM Quotas, Plugin Confusion, and Why PSRP Has Been the Answer Since 2018 ✏️ Modified 2026-03-13 ✅ Published ansible, winrm, molecule, windows, devops, psrp, active-directory none
Week Notes: Indeterminism, Passkeys, and Spring ✏️ Modified 2026-03-21 ✅ Published weeknotes, foss, indeterminism, nix, cmux, qutebrowser, fido2, ambienttalk, climbing, bci, promise-theory, music, jazz, metal none
Host Characterization with Chapel, Fancy Testing & Dhall ✏️ Modified 2026-04-25 ✅ Published Chapel, Nix, Dhall, NUMA, hardware, reproducibility, RT, PBT none
Smol DarwinNicUtil Has Docs and installers now, yay ✏️ Modified 2026-04-28 ✅ Published macOS, Networking, Nix, Python, Docs, Tailscale none
Little Zig Libraries for Fruit-Shaped Escape Hatches ✏️ Modified 2026-04-30 ✅ Published zig, foss, ffi, swift, objc, linux, macos, ctap2, keychain, notifications, crypto none
Hacking around with XGS-PON: Fiber ISPs, WAS-110 Modules & Mikrotik ✏️ Modified 2026-05-03 ✅ Published xgs-pon, ont, was-110, mikrotik, crs309, fiber, homelab, fidium, gonetspeed, omci, nokia, 8311, g988, isam none
Trashmonitor to oggle my goggles and behold the blinkenlights ✏️ Modified 2026-05-11 ✅ Published homelab, hardware, tailscale, kubernetes, streaming, xr, ffmpeg, mediamtx, sveltekit none
Gingersnap Cookies (from a milk-free, soy-free recipe card) ✏️ Modified 2026-05-29 ✅ Published recipe, baking, baking-science, cookies, gingersnap, allergen-friendly, ocr, apple-vision, swift, llvm, macos none
Glue You Can See in UV ✏️ Modified 2026-06-08 ✅ Published 3d-printing, bed-adhesion, klipper, chemistry, diy none
Week Notes: scroll wheels, spring legs, and chasing the sun ✏️ Modified 2026-06-08 ✅ Published weeknotes, nixos, cycling, personal none
Hacking Canon MegaTank and clearing 5B00 Lock: A Native Waste-Ink Reset over USB with Ghidra, Frida and friends ✏️ Modified 2026-06-09 ✅ Published canon, megatank, g6020, 5b00, usb-protocol, reverse-engineering, right-to-repair, ghidra, frida, usbmon none

Schema Validation

✅ All posts pass schema validation.

Hyperlink Suggestions

Slash Commands

Command Description
/schedule 2026-03-15 Schedule auto-merge for a date
/publish Set all posts to published: true
/draft Set all posts back to draft
/retitle "New Title" Change a post's title
/review Re-run AI prose review
/suggest-links Find unlinked keywords

@Jesssullivan

Copy link
Copy Markdown
Owner Author

Parked with editorial tier/salience work outside this week's source-truth and stable-v5 lanes. Operator rulings and commit remain recoverable. Closing without deleting the branch.

@Jesssullivan

Copy link
Copy Markdown
Owner Author

Parked per the 2026-08-12 hygiene-week plan: hard pre-merge parity gate — the 3 Tinyland-managed counterpart posts must carry editorial_tier hub-side first (TIN-2983), then this rebases and merges, then TIN-2984 live-verifies. The M3 chain order is encoded; merging this first would break managed-mirror parity. Diff is trivially rebaseable, so parking costs nothing.

@Jesssullivan

Copy link
Copy Markdown
Owner Author

Order correction (TIN-2983's own description is authoritative over my previous comment): the chain is spoke batch lands first → then the hub-side managed-mirror import (scripts/import-jesssullivan-blog-posts.mjs, preserves editorial_tier) → parity gate cleared in the same wave → TIN-2984 live verify. So this PR is not parked behind hub work — it LEADS the wave. Revised plan: rebase onto post-#247 main (audit fix), confirm CI incl. ingest-tinyland-posts --check, merge, then run the import ceremony hub-side same-day. The KVM post's managed fate stays a separate operator call per TIN-2983.

All 20 proposals accepted as posted on TIN-2981 (operator interview,
2026-07-17): 10 noteworthy (XRAM/NVMe pair, Canon 5B00, XGS-PON, UV glue,
Chapel/Dhall probes, WinRM/PSRP, trashmonitor, zig libraries, aperture/
tsnet, mutual-aid service) and 10 less-noteworthy (three week-notes,
gingersnap, resume, darwin-nic announce, ligature fixture, life-update,
accuwix). Frontmatter-only editorial_tier additions matching the existing
KVM-post style — no body edits, no display-behavior change until tier
surfacing lands (TIN-2984). Posts tests 39/39; index regeneration clean.
@Jesssullivan Jesssullivan reopened this Aug 12, 2026
@Jesssullivan
Jesssullivan force-pushed the jess/tin-2981-tier-batch-1 branch from e1c7f0e to 4d56bd3 Compare August 12, 2026 21:51
@Jesssullivan

Copy link
Copy Markdown
Owner Author

Reopened and rebased onto current main (8fa6cbb, post-#249 audit fix), head is now 4d56bd3. Hosted CI says this batch cannot go green as authored, and the blocker is spoke-side rather than hub-side.

build-and-test fails in prebuild, at tsx scripts/ingest-tinyland-posts.mts --check:

tinyland projected posts are stale; run npm run ingest:tinyland-posts:
- src/posts/2026-03-04-week-notes-cyborgs-servers-and-sending.md
- src/posts/2026-03-21-week-notes-indeterminism-passkeys-and-spring.md
- src/posts/2026-03-13-the-winrm-forkbomb-how-ansible-molecule-locks-you-out-of-active-directory.md

This is structural, not a stale-snapshot nit:

  • scripts/ingest-tinyland-posts.mts:222 compares the on-disk file with the rendered projection byte-for-byte (current === expected).
  • renderPost (scripts/ingest-tinyland-posts.mts:170-195) emits a fixed frontmatter key list; editorial_tier is not in it, and TinylandPostProjection (:15-34) has no such field.
  • static/data/tinyland/posts/public-snapshot.v1.json (snapshotId jesssullivan-github-io-posts-pulse-static-2026-05-10, itemCount 3) covers exactly those three files and contains zero occurrences of editorial_tier.

So any extra frontmatter key on a post carrying tinyland_projection: true reds the gate. Adding editorial_tier on the hub side does not clear it either: the spoke renderer, not the hub record, decides which frontmatter keys get emitted, so the projection interface, renderPost, and a regenerated snapshot all have to move together before those three posts can carry a tier.

Scope check: 3 of the 20 posts in this batch carry tinyland_projection: true. The other two 2026-03-04 posts (NVMe recovery, XRAM injection) are not projected. The remaining 17 posts are unaffected by this gate.

Hosted results on 4d56bd3:

Two ways forward, both operator calls: land the 17 non-projected posts now and carry the three projected ones with the projection-contract change, or extend the contract first and land all 20 together. Leaving this open as draft pending that call.

@Jesssullivan

Copy link
Copy Markdown
Owner Author

Re-parking after the concurrent re-open. The hosted failure confirms this editorial batch needs a separate projection-contract wave; it is outside the approved stable-v5 and canonical-Pulse source-truth lanes for this week. Branch and the detailed diagnosis remain recoverable. Do not stack more implementation onto this draft until the two active lanes land and TIN-2981/TIN-2983 are deliberately rescheduled.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant