8.0 KiB
TODO — the index
Deferred work. The items live in todo/, one file each, grouped by theme; this file is the map
over them and is GENERATED — run bun run todo:index after any change rather than editing it here.
Format and the two-way-sync contract: todo/README.md. Browse and edit it at /todos in the app.
Context, corrected 2026-08-07. This list used to open by saying Officer was "collapsing from multi-tenant / open-source-ready to a single-user platform", and told you to treat multi-tenant indirection as accidental complexity. That direction was reversed. The permission model shipped on 2026-08-07 to serve a real goal — deploy to the company server, onboard people, give each one their own Gitea account through the platform. Per-user scoping is now a requirement, and the items that proposed deleting it have been removed rather than left to mislead the next reader.
What did NOT reverse: execution permissions (terminal, chat, tasks, files, desktop, browser) run as
the owner's OS user and can never be granted. Indirection there really is accidental complexity.
Urgent
- due 2026-08-22 — Settings to choose which server each feature uses — fleet/settings-to-choose-which-server-each-feature
- An affordance: a scoped agent warns when a request lands outside its scope — affordances/an-affordance-a-scoped-agent-warns-on-the
- A commander's watcher does not survive a reboot, and nothing says so — agent-coordination/a-commander-s-watcher-does-not-survive-a-reboot
Themes
106 open, 31 closed, across 33 themes.
Records — no items, kept for the reasoning
- Affordances (2026-08-19)
- Inputs outside forms (2026-08-19) — swept, fixed, closed
- Release-binary dependencies (2026-08-19)
Newest ten
2026-08-27AGENTS.md sweep — what is left after the static docs landed — docs-conventions/agents-md-remaining2026-08-27The calendar/contacts skill has never been exercised by an actual agent — known-bugs/calendar-skill-never-used-by-an-agent2026-08-27Setting up a phone for calendar and contacts should be one link inside Officer, not a manual account form — mobile-apps/setting-up-a-phone-should-be-a-link-in-the-app2026-08-27Marketplace: browse by tag — filter list, card grid, detail with a back button — plugin-ecosystem/marketplace-browse-by-tag2026-08-27A plugin that has a sidecar proxy loses the request body on its OWN routes — plugin-infrastructure/a-plugin-s-own-routes-lose-their-request-body2026-08-25An affordance: a scoped agent warns when a request lands outside its scope — affordances/an-affordance-a-scoped-agent-warns-on-the2026-08-25Commit signing is inconsistent across harnesses — Claude names itself, opencode names nothing — agent-coordination/commit-signing-is-inconsistent-across-harnesses2026-08-25A commander's watcher does not survive a reboot, and nothing says so — agent-coordination/a-commander-s-watcher-does-not-survive-a-reboot2026-08-25Resurrect Projects/Apps — backburner/resurrect-projects-apps2026-08-25Sweep: AGENTS.md becomes the real instructions everywhere, CLAUDE.md a pointer beside it — docs-conventions/sweep-agents-md-primary-claude-md-pointer