Provenance
Where this repository came from, and how to read the references in it.
The extraction
@liminis/editor began as a directory inside the Liminis monorepo,
verveguy/liminis. It was extracted into this repository by
verveguy/liminis#995 on 2026-08-15.
The extraction used git filter-repo against a throwaway clone of
verveguy/liminis at commit 34f0d828, scoped to the paths that made up the
package and its examples:
packages/editor → (repository root)examples/demo → examples/demoexamples/external-consumer → examples/external-consumerscripts/verify-package.mjs → scripts/verify-package.mjsscripts/run-demo.mjs → scripts/run-demo.mjsThe result is real history, not a squashed import: the filtered import
contributed 140 commits, including the sequence of adoption defects that a second
consumer found in the package during August 2026 (verveguy/liminis#951 through
#954, #961 and #965). git log on any file under src/ shows the commit that
introduced it.
The source repository was not rewritten. The clone was thrown away.
One branch arrived after the cut
verveguy/liminis#973 — a serializer defect that corrupted **bold** abutting an
inline-code span on every save — was still open upstream when the filter ran, so
its work sat on preserved/liminis-issue-973-in-flight rather than on main. It
merged upstream shortly afterwards and was merged here too. The branch is kept as
a record of the cut; it is an ancestor of main and nothing needs to be taken
from it.
What did not come across
- The package’s CI jobs, which lived in the monorepo’s
.github/workflows/test.yml. They are replaced by this repository’s own.github/workflows/ci.yml. - The monorepo’s
pnpm-workspace.yaml. This repository has no workspace file, which is what makesexamples/*external consumers by construction rather than by convention. See the note inscripts/verify-package.mjs. - History from before the package was a package. The editor previously lived at
liminis-app/src/editorand has roughly 287 commits of prior history there. Those commits are interleaved with changes to an application this repository is not about, so they were deliberately left behind. They remain inverveguy/liminis.
Reading the references
ADR-0NNN
Resolves to docs/decisions/adr-0NNN.md. See that directory’s README.md,
which also explains the handful of numbers cited inside those documents that
belong to the host application rather than to this package.
Where the package’s own code cited an application decision — the Claude Agent SDK integration, MCP stdio concurrency, the knowledge corrections pipeline, the ban on native browser dialogs — the citation was removed at extraction and the reasoning written out at the call site instead, so it stands on its own.
FR-NNN, SC-NNN, NFR-NNN
These are requirement and success-criterion identifiers from Spec Kit
specifications, and they are scoped to the issue whose work introduced them.
An FR-004 in one comment and an FR-004 in another are unrelated unless the
comments are about the same issue.
They resolve under specs/ in verveguy/liminis, in the directory named for the
issue number, e.g. specs/995-extract-liminis-editor-into/spec.md.
They were left as-is rather than rewritten. There are several hundred across the
package’s source, concentrated in its most heavily commented code, and rewriting
them all would have made git log -p unreadable for exactly the history this
extraction went to some trouble to preserve. Where a comment was edited for other
reasons during the extraction, its identifiers were made self-describing.
#NNN
A bare #NNN in a source comment refers to an issue in verveguy/liminis,
because that is where the package’s backlog lived when the comment was written.
Read #973 as verveguy/liminis#973.
References written since the extraction are fully qualified. Where you see
verveguy/liminis#995, that qualification is deliberate and load-bearing: issue
numbers in this repository are their own sequence, and this repository already has
issues #1, #2 and #3 that have nothing to do with the ones the comments mean.
Vendored documents
src/app/mapper/__tests__/fixtures/real-documents/ holds byte-identical copies of
real ADRs from verveguy/liminis, used as realistic round-trip input. Its own
README.md records their provenance. They are vendored rather than read from a
sibling checkout precisely so that no test in this repository reads a file outside
it.
src/app/mapper/__tests__/fixtures/roundtrip/50-reference-readme.md and its
.expected.md pair contain strings that look like citations — ADR- prefixes, a
docs/project_notes/ path. They are neither citations nor mistakes: they are
deliberately messy human prose being used as round-trip corpus. They were left
untouched by the extraction’s citation sweep, because editing them would change
the bytes the fixture asserts on.