Problem
Scrolls has a runtime dependency on a separate application. src/scrolls/fieldtheory.py reads ~/.fieldtheory/bookmarks/bookmarks.jsonl and joins that tool's classified library/bookmarks/*.md frontmatter by tweet_id. It is surfaced on the front page of the README (README.md:34 in the Quickstart, again at :123) and it is the only way X/Twitter bookmarks enter Scrolls.
ADR 0009 chose this deliberately — native X sync needs auth plumbing, Field Theory already maintained a local archive — and its own Consequences section leaves native sync open as a later decision. That decision has now been made: Scrolls should stand on its own and do natively what Field Theory does, and more. Reading another application's private store is the opposite of that.
There is a second, softer instance: docs/agents/progress/260722/report.md:63 frames the entire six-stage pipeline as "elevated from the Field Theory lineage." Fine as lineage; combined with a live dependency it reads as descendancy rather than replacement.
Decision already taken (2026-07-29, Elijah)
Delete outright — not a deprecated shim, and not sequenced behind native X sync.
Accepted consequence: this leaves X bookmarks with no on-ramp at all until #6 lands. Items already imported are unaffected; they live in the library like any other item. Anyone with an unmigrated ~/.fieldtheory archive loses that path.
Scope
Remove the dependency and correct the record.
Acceptance criteria
Verification
uv run pytest -q
uv run scrolls import --help # fieldtheory absent from the subcommand list
grep -rin "fieldtheory" src/ README.md docs/cli.md # only lineage references remain
Independent of #2 and #4 — this can land on its own. Related: #6.
Problem
Scrolls has a runtime dependency on a separate application.
src/scrolls/fieldtheory.pyreads~/.fieldtheory/bookmarks/bookmarks.jsonland joins that tool's classifiedlibrary/bookmarks/*.mdfrontmatter bytweet_id. It is surfaced on the front page of the README (README.md:34in the Quickstart, again at:123) and it is the only way X/Twitter bookmarks enter Scrolls.ADR 0009 chose this deliberately — native X sync needs auth plumbing, Field Theory already maintained a local archive — and its own Consequences section leaves native sync open as a later decision. That decision has now been made: Scrolls should stand on its own and do natively what Field Theory does, and more. Reading another application's private store is the opposite of that.
There is a second, softer instance:
docs/agents/progress/260722/report.md:63frames the entire six-stage pipeline as "elevated from the Field Theory lineage." Fine as lineage; combined with a live dependency it reads as descendancy rather than replacement.Decision already taken (2026-07-29, Elijah)
Delete outright — not a deprecated shim, and not sequenced behind native X sync.
Accepted consequence: this leaves X bookmarks with no on-ramp at all until #6 lands. Items already imported are unaffected; they live in the library like any other item. Anyone with an unmigrated
~/.fieldtheoryarchive loses that path.Scope
Remove the dependency and correct the record.
Acceptance criteria
src/scrolls/fieldtheory.pydeleted.import fieldtheorysubcommand and_cmd_import_fieldtheoryremoved fromcli.py, along with theFIELDTHEORY_ROOTreference.README.md:34and:123removed from the Quickstart and the import/export block.docs/cli.mdimport reference updated.docs/inspiration/fieldtheory-cli-inspiration.mdretained — inspiration and lineage are legitimate and stay; only the runtime dependency goes. Any line implying an install-time or runtime relationship is corrected to past-tense lineage.docs/adapters.md/docs/architecture.mdreferences to the fieldtheory importer as a live path removed.Verification
Independent of #2 and #4 — this can land on its own. Related: #6.