Skip to content

fm: tasks-axi backlog path (.tasks.toml repo-relative) resolves to repo dir, not FM_HOME, under split FM_HOME #602

Description

@tkt028

Summary

Under a split FM_HOME (operational home set to a different directory than the FirstMate
repo — a documented mode, and the norm for secondmate homes), the default tasks-axi backlog
backend resolves to the repo's data/ instead of $FM_HOME/data/, so backlog mutations
can land in the wrong directory.

Details

The tracked .tasks.toml at the repo root pins a repo-relative path:

[markdown]
path = "data/backlog.md"
archive = "data/done-archive.md"

But FirstMate's operational data lives at $FM_HOME/data/ when FM_HOME is set (per the
layout docs: state/, data/, config/, projects/ come from $FM_HOME). A relative
data/backlog.md resolves against the repo/CWD, not $FM_HOME, so tasks-axi reads/writes
<repo>/data/backlog.md while the rest of FirstMate reads $FM_HOME/data/backlog.md.

Evidence

On a split-home setup (FM_HOME=.../share/tkt-env/firstmate, repo elsewhere), the repo's own
data/ already contained a stray captain.md — i.e. a write had previously landed in the
repo data dir rather than the $FM_HOME one, confirming the split-brain is live, not
theoretical. Session start reported backlog.md ABSENT because it looked in $FM_HOME/data/
while nothing there existed yet.

Impact

  • On any split-FM_HOME instance — including every secondmate home (each has its own
    FM_HOME) — the tasks-axi backend can diverge from the backlog FirstMate actually reads.
  • Worked around this run by hand-creating $FM_HOME/data/backlog.md.

Suggested fix

Resolve the markdown backend path against $FM_HOME, not the repo/CWD — e.g. generate/point
.tasks.toml at an absolute $FM_HOME/data/backlog.md, or have FirstMate pass the resolved
$FM_HOME/data path to the backend, so the backlog file is unambiguous under a split home.


🤖 Claude Code · claude-opus-4-8 · 2026-07-15

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