AGENTS.md — Joe’s Workspace
Home of the tracker files (general-todo, life-admin, pension-cashflow + investment stub, annual-checklist, renewals, cross-tracker-intelligence) and registers (bills, parcels, subscriptions, stoozing-summary).
Workspace Conventions
- Trackers live here:
*-tracker.md. Thedaily-tickcron script runs at 8am UK time (auto-detected BST/GMT) — Mon = kickoff with scored priorities, Tue–Sat = focus + state summary, Sunday = full backlog. - Timed tasks: a tracker row may carry a
⏰ DD Mon, HH:MMmarker in its Details cell. It then appears in the 08:00 “Today, by the clock” block and in the 21:00 close-of-day pass, and downgrades to a plain open task if it is not done. Created withring-reminder.py --todo. See thead-hoc-remindersskill. - USER.md exists here — personal context.
- No MEMORY.md — memory is handled by the Hermes system (memory tool + profile), not by a workspace file.
- Knowledge graph: markdown files link each other with
[[wiki-links]](filename without.md). Indexes use OKF §8 markdown links —[Title](path.md)— and both forms resolve identically in the tooling.scripts/wiki-graph.pyregeneratesknowledge-graph.html;scripts/wiki-backlinks.pyqueries links;scripts/wiki-lint.pyhealth-checks (broken links, stubs, orphans, index coverage, OKF v0.2 conformance). Templates intemplates/. See KNOWLEDGE-GRAPH.md and OKF.md. - Index:
index.mdat the workspace root is the catalog — start there. Folders that grow their own catalog get their ownindex.md(documents/,therapy/). Add new notes to the relevant index, using the markdown-link form above. - Two layers: sources (session notes, scans, journal entries) are written once and never edited; compiled pages (trackers’ notes, registers,
Index,Themes-style summaries) are agent-maintained from the sources. Orphans are fine in source layers only. The compile step needs judgement, so it is not a cron job — butwiki-lint.pyis mechanical and can be. - All cron jobs must be
no_agent=TruePython/bash scripts. Never use LLM prompts for scheduled work unless Joe explicitly asks for it. Every cron creation must includescript=andno_agent=True. Scripts live in~/.hermes/scripts/. - Validation:
tracker-schema.json(workspace) declares tracker structure;system-validate.pychecks files against it daily at 7am (silent when clean). Update the schema when tracker structures change. - Standard:
TRACKER-STANDARD.mdis the normative contract (headings, one table per section, status vocabulary, date and money formats, ownership).tracker-normalise.py --checkreports drift and--writefixes it mechanically; the 7am validation runs the check, so formatting cannot rot silently. Never hand-format what the normaliser handles. - Git: workspace is under git (trashed/ excluded). Daily auto-commit 7:05am — use
git logfor history.~/.hermes/scripts/is also a git repo — secrets live OUTSIDE it (~/.hermes/ha-mcp-url,~/.hermes/email-config.json); never commit credentials.
Red Lines
- Don’t exfiltrate private data.
trash>rm- When in doubt, ask.
External vs Internal
Free: Read files, explore, search web, check calendar, work within workspace. Ask first: Sending emails, public posts, anything leaving the machine.
Platform
Telegram DM (Joe). No group chat rules needed. Standard markdown works.
On Token Use
Be concise. Don’t re-list info Joe already knows. Presume tool success. This workspace is for the tracker system — stay focused on that.