Skip to content

WorkSystem.md documents skills/_ULWORK/ (SetWorkRepo.ts, BootstrapLabels.ts) and hooks/ULWorkSync.hook.ts as shipped — neither exists in v6.0.0 or main #1423

Description

@its-rorman

What happens

LifeOS/DOCUMENTATION/Work/WorkSystem.md documents a skills/_ULWORK/ skill package and a hooks/ULWorkSync.hook.ts SessionEnd capture hook as part of the shipped Work System — but neither exists anywhere in the v6.0.0 tagged release or the current main branch.

Specifically, the doc's own Files table (and System/data/template table) presents these as shipped/existing:

Doc claim Location in WorkSystem.md
skills/_ULWORK/Tools/SetWorkRepo.ts — "Repo identity setup (existing)" Files table
skills/_ULWORK/Tools/BootstrapLabels.ts — "Seeds canonical labels into the configured repo" Files table
skills/_ULWORK/Tools/RegenerateTasklist.ts — "Rebuilds TASKLIST.md from live issues" Files table
hooks/ULWorkSync.hook.ts — "SessionEnd capture (ALGORITHM + NATIVE-with-artifacts)" Files table, no caveat
System code row listing ~/.claude/skills/_ULWORK/ "Ships in release? YES — scrubbed, public-clean"

Only SetWorkRepo.ts's --bootstrap <owner/repo> flag is marked "(planned)" — the doc implies the base tool already exists and only that one extension is pending.

What's actually in the repo

Checked via the GitHub API directly against both the v6.0.0 tag and main (19,655 and 16,998 files respectively):

gh api "repos/danielmiessler/LifeOS/git/trees/v6.0.0?recursive=true" --jq '.tree[].path' | grep -iE "ulworksync|_ulwork|setworkrepo|bootstraplabels"
gh api "repos/danielmiessler/LifeOS/git/trees/main?recursive=true" --jq '.tree[].path' | grep -iE "ulworksync|_ulwork|setworkrepo|bootstraplabels"

Both return zero matches — no _ULWORK directory, no SetWorkRepo.ts, BootstrapLabels.ts, RegenerateTasklist.ts, or ULWorkSync.hook.ts anywhere, in any casing.

What does ship and work

The other half of the pipeline is genuinely present: hooks/ReminderRouter.hook.ts, hooks/lib/work-config.ts, LIFEOS/TOOLS/WorkSweep.ts, LIFEOS/TOOLS/InstallWorkSweep.ts, and the Pulse kanban renderer (PULSE/modules/work.ts). So a fresh install gets read-path kanban + sweep-driven capture, but not the documented repo-bootstrap flow or the primary SessionEnd auto-capture hook.

Impact

On a fresh v6.0.0 install, following WorkSystem.md's own "Setup for a new LifeOS user" steps 2 and 6 is impossible — step 2's tool doesn't exist, and step 6's hook (ULWorkSync.hook.ts opening the first issue at SessionEnd) never fires because the file isn't there to wire into settings.json.

Suggested fix

Either ship the skills/_ULWORK/ package + hooks/ULWorkSync.hook.ts, or update WorkSystem.md to consistently mark the whole repo-bootstrap + SessionEnd-capture path as "planned, not yet built" (matching how the RELEASE_TEMPLATES/WORK_REPO/ row already correctly does).


Found while reconciling a fresh v6.0.0 install's USER/WORK/ setup against the documented Work System pipeline.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions