sase-research-artifacts
sase-research-artifacts is an installable Python plugin for
sase that ships the research
artifact-reference provider, the research-highlights file-hook provider, the
#research* xprompts, and default model/tribe config for research workflows.
Durable research reports and generated media live in the
sase-org/sase--research sidecar; this
plugin supplies the SASE integrations that make those artifacts discoverable and
usable from agent workflows.
Installation
Requires Python 3.12+ and sase>=0.17.0 (the first release with the
sase_artifact_refs / sase_file_hooks provider registry); see
docs/configuration.md.
pip install sase-research-artifacts
Installing the distribution registers four entry points that sase discovers automatically; a linked-repo clone alone does not install the package or register its entry points.
Entry points
| Group | Name | Target |
|---|---|---|
sase_artifact_refs |
research |
sase_research_artifacts.provider:RESEARCH_REF_PROVIDER |
sase_file_hooks |
research-highlights |
sase_research_artifacts.provider:RESEARCH_HIGHLIGHTS_HOOK |
sase_xprompts |
sase_research_artifacts |
sase_research_artifacts |
sase_config |
sase_research_artifacts |
sase_research_artifacts |
Provider configuration
Point a project's research sidecar role at this plugin's ref provider with one line:
repos:
sidecar:
custom:
research:
ref:
use: sase-research-artifacts@research
Wire the file hook the same way, supplying the one field the provider deliberately leaves unset -- the actual command is local to your machine:
file_hooks:
- use: sase-research-artifacts@research-highlights
command: bob highlights create --include-id
Both use: and a fully inline spec normalize to the same effective policy; overriding
individual fields (e.g. inventory.globs) deep-merges over the provider's base spec,
with list-valued fields replacing rather than concatenating.
The research ref provider
Schema version 1, kind research. Inventory: 20*/**/*.md (every dated report,
including __a/__b swarm drafts). Declared frontmatter properties: create_time and
updated_time (datetime), status (enum: draft, review, final, archived),
tags (string list). The provider also declares its Artifacts pane label, row fields,
updated-time descending sort, status/tags facets, status grouping, and Research-specific
empty copy. Publication links to the VCS permalink and writes a Referenced By table
back into cited reports.
The research-highlights file hook
Renders new research reports into Highlights PDFs for the Obsidian reading queue.
Restricted to the research sidecar, ADD operations only, and excludes agents matching
research.*.cld / research.*.cdx (the swarm's own participants) plus __a/__b draft
files -- a Highlights PDF is only wanted for the consolidated report, not each researcher's
draft.
The two glob sets differ on purpose. The ref provider's inventory keeps swarm drafts
because citing a specific researcher's draft with @research:... is legitimate; the file
hook excludes them because a Highlights PDF per draft is noise. This is not a porting bug.
command is intentionally left unset in the packaged template and marked required, so
use: sase-research-artifacts@research-highlights without a local command: override fails soft with a
diagnostic rather than running someone else's command on your machine.
Xprompts
#research-- write research to a new dated file in theresearchartifact repo.#research/image-- generate an infographic from a research file's main points.#research/more-- extend a research file with further research, filling gaps.#research/prompt-- research prior art and alternatives for a prompt, then#researchit.#research_swarm-- launch two independent researchers plus a lead who consolidates their reports and generates an infographic; a four-segment xprompt swarm. Optionalwaitnames agent(s) both researchers should wait on before starting; quote the value when listing several (wait="a,b").
Defaults
default_config.yml ships the research_a / research_b / research_lead model
aliases, the researchers bucket, and the research tribe display config, so
#research_swarm works out of the box on a fresh install. Project or user config still
overrides these by normal layer precedence.
Development
just install # Install in editable mode with dev deps
just lint # ruff check + mypy
just fmt # Auto-format
just test # pytest (excludes the slow wheel contract test)
just test-wheel # Build a real wheel, install it fresh, verify entry points/resources
just check # lint + test
This plugin depends on sase>=0.17.0 -- the first sase release with the
sase_artifact_refs / sase_file_hooks provider registry -- which has not reached PyPI
yet. just install and CI both build against coordinated sibling sase and sase-core
source checkouts in the meantime; see Justfile and .github/workflows/ci.yml.
Documentation
License
MIT
Metadata
Release files for sase-research-artifacts 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sase_research_artifacts-0.2.0.tar.gz | 23.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sase_research_artifacts-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.5 kB
Release files / sase_research_artifacts-0.2.0.tar.gz
| Download URL | sase_research_artifacts-0.2.0.tar.gz |
|---|---|
| Size | 23.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4805b16ac536dddfb2d848b54f630e6cefde229941ea53d5b15da301d75914bb
|
|
BLAKE2b-256 checksum How to use checksums |
7f8a8810595e4316429c11489ec8192ccb86102a6cfc9e427b8f74018164e172
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.
Transparency logRelease files / sase_research_artifacts-0.2.0-py3-none-any.whl
| Download URL | sase_research_artifacts-0.2.0-py3-none-any.whl |
|---|---|
| Size | 10.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4bf695c94a91e7c4aba4d85ad223ec6b113a6dbba063173df07968a02ae9026e
|
|
BLAKE2b-256 checksum How to use checksums |
9187c668620aae3f7f80af31c1226ec3205511ce52c7f2e314338ae5f4da7317
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.
Transparency log