enekos/Marrow Semantic Graph
Build a semantic "related articles" graph for a Markdown-based static site.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit May 16, 2026
- License
- None
Pinned Snippet
uses: enekos/marrow@c413ccf64010bad4f4f9e51d9435383e62c97b58 # v0.3.0tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| content-dir | Directory containing the site's Markdown files to index. | yes | — |
| source-name | Logical source name used inside the Marrow DB. | no | site |
| default-lang | Default language code for documents without front-matter lang (en, es, eu). | no | en |
| output-path | Path (relative to the workspace) where related.json will be written. | no | related.json |
| db-path | Path for the SQLite DB. Defaults to a file under RUNNER_TEMP so it is discarded after the job. | no | "" |
| embedding-provider | Embedding provider (mock or openai). Use openai for production-quality semantic vectors. | no | mock |
| embedding-model | Embedding model (e.g. text-embedding-3-small for OpenAI). Ignored for mock. | no | text-embedding-3-small |
| embedding-base-url | Override base URL for OpenAI-compatible embedding endpoints. | no | "" |
| openai-api-key | OpenAI API key. Required when embedding-provider is openai. | no | "" |
| limit | Number of related documents per document. | no | 10 |
| w-sem | Weight — semantic cosine. | no | 0.55 |
| w-lex | Weight — lexical Jaccard salience. | no | 0.20 |
| w-link | Weight — internal link graph. | no | 0.15 |
| w-cat | Weight — shared taxonomy/category. | no | 0.10 |
| mmr-lambda | MMR relevance/diversity tradeoff (1 = pure relevance, 0 = pure diversity). | no | 0.72 |
| salient-top-k | TF-IDF salient terms retained per document. | no | 24 |
| taxonomy-fields | Comma-separated front-matter fields used for shared-taxonomy signal. | no | categories,categories_meta |
| taxonomy-reason | Prefix for taxonomy reasons in the output (e.g. "category" -> "category:politika"). | no | category |
| no-semantic | Set to "true" to disable the semantic signal entirely (lex+link+cat only). | no | false |
| workers | Concurrent per-source workers used by the related builder. | no | 8 |
| marrow-version | Marrow release tag to install (e.g. v0.5.0). Defaults to the latest release. | no | latest |
Outputs
| name | description |
|---|---|
| related-json-path | Absolute path to the generated related.json file. |
| db-path | Absolute path to the SQLite DB produced by the sync step. |
| document-count | Number of documents present in the graph output. |