MyThingsLab fleet — next milestone (org-wide tracking issue)
Snapshot as of 2026-07-08: 12 repos live — the above plus my-planner and
my-projector, both shipped 2026-07-07 (main CI green; my-projector needed the
new mythings.projects core module, landed via mythings-core#29). 9 My[X]
tools are now shipped, including my-researcher (live arXiv+Tavily topic
research → cited study brief + study path; design PR mythings-core#28). The
remaining designed tools exist only as design docs under
mythings-core/docs/tools/. Note: my-planner/my-projector fail-closed on public
edits when unattended — they need an ASK channel (TelegramPolicy) to post in CI. This issue tracks the fleet's next milestone
across repos — sub-tasks get filed as issues in their own repo and linked
back here as they're picked up.
1. Docs hygiene — shipped tools missing the required historical banner
Per docs/CONVENTIONS.md, a docs/tools/<name>.md must get a one-line
historical banner once its tool ships. Only my-reporter.md has one; five
shipped tools don't:
2. Designed tools not yet built (recommended order, per docs/tools/README.md)
3. Core contract additions — confirm before implementing (per workspace CLAUDE.md)
4. Safety/process gaps not covered by any existing design doc
Things that matter more now that ClaudeCLIEngine makes unattended, real
(non-Noop) runs possible, and that fleet_dispatch.py already runs multiple
concurrent workers against real accounts:
Not in scope here
Anything already flagged inside a design doc as "not decided here" stays
undecided in this issue too — it's tracked, not resolved, by listing it.
Actual implementation of any checkbox above happens as its own issue/PR in
the owning repo, following the normal harness loop.
MyThingsLab fleet — next milestone (org-wide tracking issue)
Snapshot as of 2026-07-08: 12 repos live — the above plus
my-plannerandmy-projector, both shipped 2026-07-07 (main CI green;my-projectorneeded thenew
mythings.projectscore module, landed viamythings-core#29). 9My[X]tools are now shipped, including my-researcher (live arXiv+Tavily topic
research → cited study brief + study path; design PR
mythings-core#28). Theremaining designed tools exist only as design docs under
mythings-core/docs/tools/. Note: my-planner/my-projector fail-closed on publicedits when unattended — they need an ASK channel (TelegramPolicy) to post in CI. This issue tracks the fleet's next milestone
across repos — sub-tasks get filed as issues in their own repo and linked
back here as they're picked up.
1. Docs hygiene — shipped tools missing the required historical banner
Per
docs/CONVENTIONS.md, adocs/tools/<name>.mdmust get a one-linehistorical banner once its tool ships. Only
my-reporter.mdhas one; fiveshipped tools don't:
docs/tools/my-orchestrator.md— banner pointing atmy-orchestrator's READMEdocs/tools/my-tester.md— banner pointing atmy-tester's READMEdocs/tools/my-telegram-bot.md— banner pointing atmy-telegram-bot's READMEdocs/tools/my-changelogger.md— banner pointing atmy-changelogger's READMEdocs/tools/mythings-template.md— reconcile naming: the design names adedicated
mythings-templatetemplate repo, butCONVENTIONS.md's"Starting a new tool" already points at the existing
my-templaterepo.Confirm whether
my-templateis the shipped resolution (then banner +redirect) or whether a second, GitHub-native template repo is still
wanted for the "Use this template" button use case.
2. Designed tools not yet built (recommended order, per
docs/tools/README.md)github.GitHub.diff()(see §3)create_issue/add_labels/list_labels(see §3)--updateonly)diff()tooClaudeCLIEngineshipped 2026-07-07 inmythings-core, so the blocker isgone — worth re-scoping this one now, it's the highest-leverage
remaining tool (the only one that writes the actual feature/fix).
3. Core contract additions — confirm before implementing (per workspace CLAUDE.md)
github.GitHub.diff()— now has two callers-in-waiting (MyReviewer, MyDescriber)github.GitHub.create_issue()/add_labels()/list_labels()— for MyGroomer5 tools independently want it (MyWiki, MySearcher, MyAdvisor, MyDescriber,
MyKnowledger). Options on the table: tool-to-tool package deps (like
my-guard→mythings-core), or promote intomythings-coreonceduplicated. Leaning toward the latter per the design doc; not decided.
4. Safety/process gaps not covered by any existing design doc
Things that matter more now that
ClaudeCLIEnginemakes unattended, real(non-
Noop) runs possible, and thatfleet_dispatch.pyalready runs multipleconcurrent workers against real accounts:
Dependabot config, no
pip-audit/osv-scanner/CodeQL in any repo's CI.Every repo pulls
mythings-core+ a small dep set; one compromisedtransitive dependency currently has no automated tripwire.
ghCLI (mythings/github.pyhas no App/token-scoping logic).ARCHITECTURE.mdcalls out a permission-scoped GitHub App as theintended identity model; today a bug in any tool has the same blast
radius as the human account. Worth scoping once MyCoder makes
unattended code-writing real.
fleet_usage.pyparsestranscripts for denials after the fact; there's no hard per-run/per-day
token or dollar cap enforced before a headless session starts. Worth
a
--max-cost/--max-turnsguard infleet_dispatch.pyor a smallpolicy rule in MyGuard, given
--executealready runs real paidsessions across two accounts concurrently.
dev-ledger/*.jsonlandPR bodies are free-text (
detail,data); nothing scans them beforethey're committed/pushed. Low risk today (no tool touches real
credentials yet) but worth a cheap regex/gitleaks-style pre-commit gate
before MyCoder starts writing arbitrary diffs.
fleet_dispatch.pydefaultsto
--dry-run, which is good, but there's no single documented commandto halt an in-flight
--executerun across both accounts if somethingmisbehaves. Worth a one-line runbook note at minimum, a real
abort-and-cleanup command at best.
Not in scope here
Anything already flagged inside a design doc as "not decided here" stays
undecided in this issue too — it's tracked, not resolved, by listing it.
Actual implementation of any checkbox above happens as its own issue/PR in
the owning repo, following the normal harness loop.