orgchart-util
Section titled “orgchart-util”Spun out of KB-OS-dept-structure to replace Core/Misc/OrgChart.md’s hand-written ## Tree block with a deterministic regeneration tool, same pattern as folder_structure.
What shipped
Section titled “What shipped”orgchartCLI atD:\FSS\Software\Utils\PythonUtils\orgchart\(uv-managed, typer,folder_structurepattern) — walks Staff-file frontmatter forname:/reports_to:pairs and rewritesOrgChart.md’s## Treefenced block only, leaving surrounding prose hand-maintained. Registered atCore/IT/Utils/Custom/orgchart.md.- Added
reports_to:frontmatter to every Staff file — the structured edge the parser walks (CEOfor SVPs,SVP-<Dept>/VP-<SubDept>below that). - 6 stub Staff files scaffolded on Talbot’s request (SVP-Cancer50, VP-Dev/UX/Data under IT, VP-Content/Growth under Mktg), each dept’s
JOB_DESCRIPTION.mdStaff section +Agent-Team.mdroster updated to match. This closed a self-flagged gap: stub sub-depts had been hand-annotated inside the old fence; now they’re real files the tool sees. - Scope decision: stub Staff files only, no new
JOB_DESCRIPTION.mdper sub-dept — IT/Mktg’s existing dept-level JD covers them./dept-initapplies to a genuinely new top-level<Biz>/<Dept>(e.g.Core/Cancer50when it activates — hasJOB_DESCRIPTION.md/Staff/but noTasks//Logs/yet), not to a sub-dept stub under an already-initialized dept. - Extended later (separate task,
KB-OS-dept-structure) to scan the whole vault, not justCore/.
Bug found and fixed at the source (not a per-file patch)
Section titled “Bug found and fixed at the source (not a per-file patch)”A bare - Next-Steps reply placeholder (two spaces, dash, no content) is a CommonMark setext heading underline when it directly follows a text line with no blank line between — it silently turns the checkbox line above it into a heading. Reproduced live in Obsidian and via markdownlint-cli2 (MD022). Worse: markdownlint-cli2 --fix’s trailing-space cleanup (MD009) strips the placeholder’s trailing space — - → - — which re-creates the trigger even on a file already fixed once, so a per-file lint pass alone doesn’t hold.
Fixed at the source: ~/ai-config/claude/commands/task-start.md and task-continue.md now require a blank line before every placeholder (ai-config commit 788cbf5, deployed). Documented in Core/Processes/Simple Markdown Task Management/SMTM_System.md:244 so the hazard travels with the convention. Verified fixed live in Obsidian via screenshot, not just via the linter.
Commits
Section titled “Commits”PythonUtils:a1aec8c(build),bab88a4(whole-vault scan, later task)- KB:
b0c49bb,78dae76,0a9a48f,c54527b,cdfe9bc,c93870a ai-config:788cbf5(placeholder blank-line fix, deployed)