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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sase_research_artifacts-0.2.0.tar.gz.
File metadata
- Download URL: sase_research_artifacts-0.2.0.tar.gz
- Upload date:
- Size: 23.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4805b16ac536dddfb2d848b54f630e6cefde229941ea53d5b15da301d75914bb
|
|
| MD5 |
0782e685bc62ac36f6e26bf961e8893f
|
|
| BLAKE2b-256 |
7f8a8810595e4316429c11489ec8192ccb86102a6cfc9e427b8f74018164e172
|
Provenance
The following attestation bundles were made for sase_research_artifacts-0.2.0.tar.gz:
Publisher:
publish.yml on sase-org/sase-research-artifacts
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sase_research_artifacts-0.2.0.tar.gz -
Subject digest:
4805b16ac536dddfb2d848b54f630e6cefde229941ea53d5b15da301d75914bb - Sigstore transparency entry: 2505080975
- Sigstore integration time:
-
Permalink:
sase-org/sase-research-artifacts@253aa62ccba49abd2449f95e695a02fb2e62765c -
Branch / Tag:
refs/heads/master - Owner: https://github.com/sase-org
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@253aa62ccba49abd2449f95e695a02fb2e62765c -
Trigger Event:
push
-
Statement type:
File details
Details for the file sase_research_artifacts-0.2.0-py3-none-any.whl.
File metadata
- Download URL: sase_research_artifacts-0.2.0-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4bf695c94a91e7c4aba4d85ad223ec6b113a6dbba063173df07968a02ae9026e
|
|
| MD5 |
8b91eeafa0a5ddc9e357e3fd961a14d1
|
|
| BLAKE2b-256 |
9187c668620aae3f7f80af31c1226ec3205511ce52c7f2e314338ae5f4da7317
|
Provenance
The following attestation bundles were made for sase_research_artifacts-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on sase-org/sase-research-artifacts
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sase_research_artifacts-0.2.0-py3-none-any.whl -
Subject digest:
4bf695c94a91e7c4aba4d85ad223ec6b113a6dbba063173df07968a02ae9026e - Sigstore transparency entry: 2505081051
- Sigstore integration time:
-
Permalink:
sase-org/sase-research-artifacts@253aa62ccba49abd2449f95e695a02fb2e62765c -
Branch / Tag:
refs/heads/master - Owner: https://github.com/sase-org
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@253aa62ccba49abd2449f95e695a02fb2e62765c -
Trigger Event:
push
-
Statement type: