quipu-embedded-artifacts
Skill9 starsChanged 3 months agoApache-2.0View on GitHub
Build a graph-backed status brief with the real Quipu WebAssembly explorer inside a hosted artifact. Use for embedded pendant drilldown, generated priority and decision rows, preserving an existing artifact URL and database, or refreshing its graph snapshot. Includes the proposed page-bound signed action pattern; signing requires its separate enrollment and verification work.
In this repository4 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .cursor/rules/beads.mdcCursor rule
- beadsSkill
- quipuSkill
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 6 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
Keep live status rows separate from the dated graph snapshot, and make that distinction visible when a reader opens a record.
- Distinctive: line 19
Read the existing page, URL, database schema and publication authority.
- Very specific: line 41
Use the repository's existing just explorer release staging recipe, or its shared release build.
- Distinctive: line 57
Use the authoritative tracker graph and its actual item IRIs.
- Distinctive: line 98
Do not hand-edit a manifest or checksum.
- Very specific: line 102
Add explorer.css and a container, then attach the read-only presentation:
- Very specific: line 122
Only version-checked update operations are generated: priority, owner, item and approved rank for priorities.
- Distinctive: line 125
Use actual current document IDs and versions.
- Distinctive: line 143
Test the actual generated page at a subpath in a real browser.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Quipu embedded artifacts
Ship the engine, a generated pendant, and its small presentation together. Keep live status rows separate from the dated graph snapshot, and make that distinction visible when a reader opens a record.
Establish the host contract first
Read the existing page, URL, database schema and publication authority. Keep the current collections, document IDs and access rules. Use the host's Artifact tools to read and publish when available; otherwise provide a ready folder to its existing publisher. A different hosting product is not the same artifact.
Publish a scratch probe before replacing the real page. Show independent results for JavaScript, minimal Wasm instantiation, the released Quipu engine, native pendant import and promotion, a positive drilldown query, and a module worker. Record actual hosted errors, URL and engine identity. A local browser pass does not establish the hosted CSP, asset types, MIME types or origin.
One observed Artifact host supports Wasm and module workers but does not serve
archives. On that host, ship a native pendant archive inside base64 JSON;
decode it before passing bytes to Explorer.loadPendant. This changes the
transport only: native verification still checks the manifest and payloads.
The publisher supplies the document wrapper, so page content uses title,
styles and markup without its own doctype, head or body tags. Recheck these
constraints for each host rather than assuming they are portable guarantees.
Stage the actual explorer
Use the repository's existing just explorer release staging recipe, or its
shared release build. Verify the release archive against its checksum sidecar
and record the exact staged JS and Wasm hashes. Never use the performance
harness as the explorer, or fetch release assets from a third-party origin at
page runtime.
For the full workbench, retain its relative worker, runtime and model paths. For a small read-only brief, the supplied assets use the released engine directly with a small worker and record inspector. They support native verified import, node drilldown and read-only SPARQL, without semantic-model downloads, browser edits or a service worker. They are a presentation over the engine, not another RDF interpreter.
Generate the graph and rows
Query the graph for existing entities and provenance before selecting data. Use the authoritative tracker graph and its actual item IRIs; do not guess an ontology node from an item ID. Treat a failed query as UNKNOWN.
The included generator supports a bounded Seeds brief. Its vocabulary IRIs are the actual tracker vocabulary; changing deployment hostnames does not change that vocabulary. Read the input contract.
python3 skills/quipu-embedded-artifacts/scripts/generate.py \
--config brief-config.json --out ready --work producer-work \
--bundle docs/book/src/explore/pkg --quipu /path/to/quipuBoth directories must be new and non-overlapping, including resolved parent paths. The work directory has owner-only filesystem permissions; never publish it. The generator reads at most 100 selected IDs, 500 links, and 1,000 linked-node facts, with sentinel limits and a 2 MB response cap. It fails on missing or ambiguous selected records rather than shipping a silently shorter brief. Rank, visible-ask selection, concise titles, next steps, presentation state and ask wording remain curator-owned. All other admitted Desk cards remain in the pendant, accessible through an All Desk cards query.
It loads the projection and current outward identifier catalogue into an owned
local store, registers four stored queries using native MCP stdio, and calls
native quipu share. No listener or live-store write is needed. Optional
descriptions containing blocking private identifiers are omitted with visible
notices. An unsafe ask uses its source title with an explicit withholding
notice. Identities are never rewritten; unsafe required fields still meet the
unchanged outward refusal. Browser metadata lives inside the RDF pendant,
checked by the same native guard and its manifest. The viewer queries it only
after verified import; no separate data sidecar is published. A refusal leaves
no publish-ready directory. Keep raw query responses,
producer logs, source-graph provenance and owner-only operations outside
the published folder and public repository.
The resulting folder contains engine assets, pendant.json and the
presentation modules. Browser metadata is a record inside the verified
pendant, not a separate snapshot.json. Owner rows.json, private
provenance.json and a diagnostic metadata copy stay only in the work
directory. Native manifest, RDF, shapes and stored queries remain there and
inside the pendant envelope.
Do not hand-edit a manifest or checksum. Regenerate instead.
Integrate with the existing page
Add explorer.css and a container, then attach the read-only presentation:
<link rel="stylesheet" href="./explorer.css">
<section id="graph" aria-label="Explore the brief"></section>import { attachExplorer } from './explorer.js';
const explorer = await attachExplorer(document.getElementById('graph'));
// Connect each existing row's button to its source item ID.
button.onclick = () => explorer.openItem(row.item, row.title);
// An adjacent link can open all admitted Desk cards.
deskLink.textContent = `All Desk cards (${explorer.deskCount})`;
deskLink.onclick = () => explorer.openDesk();Preserve the original database read subscriptions and their ordering. The
page never receives rows.json: the existing authorized owner reads it from
the private work directory and applies those operations through ArtifactData.
Only version-checked update operations are
generated: priority, owner, item and approved rank for priorities; item identity
only for asks. Never replace a curated row with a raw tracker title or state.
Use actual current document IDs and versions; an absent binding refuses rather
than creating a new document or guessing a version. Today and the
status log remain owner-written prose. Never infer a new human approval,
Desk admission or enrollment from a displayed row.
Verify, publish and refresh
With matching installed native binaries, run the owner-patch and native publication controls from the repository root:
just --command python3 skills/quipu-embedded-artifacts/scripts/test_row_ops.py
just --command python3 skills/quipu-embedded-artifacts/scripts/test_publication.pyThe publication controls use synthetic remote inputs and an unexecuted bundle; native admission is real. They do not replace the browser tests below.
Test the actual generated page at a subpath in a real browser. Verify row
counts and ordering, exact priority-to-node and ask-to-node drilldown, the
full Desk query, unchanged database subscriptions, visible omissions, keyboard
use and a narrow viewport. Refuse a damaged pendant, a write query and a live
row missing from the snapshot. Render source text with textContent.
Publish to the same URL through its existing publisher and preserve its capabilities and access rules. Record the served bytes and repeat the actual hosted row drilldown. Local mocked database reads establish subscription compatibility only; they do not prove the hosted database or publication.
Refresh by rerunning the normal admitted Desk export, updating the curator's rank/ask inputs, supplying the current owner prose snapshot, regenerating into new directories, and comparing the new rows and share identity. Verify before the owner applies rows and republishes. Keep the prior folder and row snapshot as the concrete rollback. A newer live row absent from the pendant must show a refresh message rather than unrelated or empty details.
Page-bound signed actions
This is a separate proposed extension, not a capability of the read-only assets. See the general design. It requires approved device enrollment, a server-verifiable action envelope, nonce consumption, revocation, and an auditable native ingestion path. A secure context or successful local signature alone does not establish those outcomes.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

