weave
/weave
Write, check, lower, simulate, and test .weave files using the bundled functional Petri-net prototype. Use for this restricted language, not unrelated products named Weave.
Assessment and security
- Files in this package
- 53
- Scripts
- 20
- HTML comments
- 0
- URLs in SKILL.md
- 0
No signals detected. Repository changed on 30.10.2026, without references to retired models or APIs.
MIT, open: use and modify while retaining author attribution.
- 20 scripts in this package. Review them before installing, as Claude may execute them.
Scripts: assets/prototype/checker.py, assets/prototype/coloured.py, assets/prototype/demo.py, assets/prototype/durable.py, assets/prototype/simulate.py, assets/prototype/tests/test_checker.py, assets/prototype/tests/test_coloured.py, assets/prototype/tests/test_composition.py, assets/prototype/tests/test_durable.py, assets/prototype/tests/test_rejection_and_propagation.py, assets/prototype/verify_certifica
What it does and when to use it
Write, check, lower, simulate, and test .weave files using the bundled functional Petri-net prototype. Use for this restricted language, not unrelated products named Weave.
Original author description
Write, check, lower, simulate, and test .weave files using the bundled functional Petri-net prototype. Use for this restricted language, not unrelated products named Weave.
How it works
- Choose the smallest useful operation
- Preserve meaning
SKILL.md preview
--- name: weave description: Write, check, lower, simulate, and test .weave files using the bundled functional Petri-net prototype. Use for this restricted language, not unrelated products named Weave. --- # Weave Use Python 3.11+; CPython 3.12.14 is the reference. Install no packages. Resolve paths below relative to this skill directory. Invoke `scripts/weave.py` by absolute path when working elsewhere; supplied paths are relative to the current working directory. The default net is `assets/prototype/Inventory.weave`. ## Choose the smallest useful operation ```bash python3 scripts/weave.py doctor python3 scripts/weave.py check /absolute/path/flow.weave python3 scripts/weave.py check /absolute/path/a.weave /absolute/path/b.weave --net /absolute/path/Net.weave python3 scripts/weave.py simulate /absolute/path/flow.weave --entry checkout_propagating --outcome all python3 scripts/weave.py lower /absolute/path/flow.weave --output /absolute/path/lowered.weave python3 scripts/weave.py analyze --certificate /absolute/path/proof.json python3 scripts/weave.py verify /absolute/path/proof.json python3 scripts/weave.py test --pattern test_rejection_and_propagation.py python3 scripts/weave.py check-pure /absolute/path/program.weave python3 scripts/weave.py run-pure /absolute/path/program.weave --entry merge_sort --args '[[3,1,2]]' --mode concurrent ``` `check-pure` and `run-pure` belong to the kit's pure-function extension (`scripts/weave_pure/`): `fn`, `if`/`else`, `<=`, list primitives, direct recursion, and `fork:`. They read no net and report no accounting claim; their only claim is `NOT ESTABLISHED`, because pure programs are outside every specified profile. Termination is not checked; concurrency is cooperative on one thread. Replace paths and entry names with the task's actual files and declaration. Use `--net PATH` for a changed net, or a `use net a.b` first line in the flow file, which selects `<root>/a/b.weave` (root: `--root DIR`, else the flow file's directory); a `--net` naming another net is E610. Batch flows sharing a net to check that net once. Put `--json` before the command for machine-readable output. Add `--trace` to simulation only when snapshots are needed. Run `test` for all bundled regressions after implementation changes. In the starter kit, run `examples` for the teaching corpus; elsewhere pass `examples --manifest PATH`. Read [the language guide](references/weave.md) for syntax or semantic work. Use `assets/prototype/examples/checkout.weave`, `checkout_composed.weave`, and `checkout_propagating.weave` for complete source patterns. Read implementation files only when a diagnostic or implementation task requires them. ## Preserve meaning - Check changed flows; use `lower` to check original and lowered source. - Preserve nominal state types and identity indices. Move each linear handle exactly once on each path, including early returns at `?`. - Treat `Unknown` as a recovery obligation. Propagation inserts no cleanup. - Use implemented syntax; do not invent loops, retry, parallel, or unrestricted FFI. Pure `fn` syntax is valid only in pure files under `check-pure`/`run-pure`, never in flows. - Separate `PROVED` accounting, `CHECKED WITHIN BOUNDS` ordering, `CHECKED flow` checks, and `SCRIPTED / passed scenario` execution. Report bounds/budget exhaustion as not established. Its label is `NOT ESTABLISHED`; a counterexample is `VIOLATED`. Use only these six labels for claims, one per claim: a claim is a JSON `claim_label` or an unindented text line that begins with its exact label; every other unindented text line is blank, a diagnostic or a named non-claim line (`scripts/weave_labels.py`). `ok`/`tool status` and `runtime_status` are not evidence; `Unknown` is an application outcome, never `NOT ESTABLISHED`. - Preserve net contracts while repairing callers. Report incompatible requirements instead of weakening guards, consumer lists, or invariants to obtain a pass. - Report diagnostic codes, rules, source locations, and messages. Exit 0 means the requested expectations were met; 1 is a rejection or failed test; 2 is usage, I/O, certificate-data, or scripted-execution failure. Expected-invalid fixtures make `examples` succeed only when their particular diagnostic codes match. Run no real external operations. The executor is synchronous, stock-one, scalar-entry, and limited to at most one scripted foreign operation. Do not claim persistence, distributed recovery, or multi-order correctness from its traces.
Files in this package (53)
- SKILL.md 4 KB
- agents/openai.yaml 1 KB
- assets/diagnostics.json 28 KB
- assets/diagnostics.json.license 1 KB
- assets/prototype/ACTUAL_OUTPUT.txt 11 KB
- assets/prototype/DESIGN_NOTES.md 10 KB
- assets/prototype/Inventory.coloured.weave 8 KB
- assets/prototype/Inventory.weave 6 KB
- assets/prototype/LOWERED_PROPAGATION.weave 1 KB
- assets/prototype/README.md 10 KB
- assets/prototype/REPORT.md 29 KB
- assets/prototype/TEST_OUTPUT.txt 18 KB
- assets/prototype/checker.py 59 KB
- assets/prototype/colour-check.json 1 KB
- assets/prototype/colour-proof.json 32 KB
- assets/prototype/coloured.py 22 KB
- assets/prototype/demo.py 19 KB
- assets/prototype/durable-scenarios.json 91 KB
- assets/prototype/durable.py 23 KB
- assets/prototype/ordering.json 2 KB
- assets/prototype/proof.json 5 KB
- assets/prototype/requirements.txt 1 KB
- assets/prototype/scenarios.json 11 KB
- assets/prototype/simulate.py 6 KB
- assets/prototype/verify_certificate.py 4 KB
- assets/prototype/examples/checkout.weave 1 KB
- assets/prototype/examples/checkout_composed.weave 1 KB
- assets/prototype/examples/checkout_propagating.weave 1 KB
- assets/prototype/examples/direct_charge.weave 1 KB
- assets/prototype/examples/drop_hold.weave 1 KB
- assets/prototype/examples/forge_escrow.weave 1 KB
- assets/prototype/examples/wrong_order.weave 1 KB
- assets/prototype/mutations/bogus_sell.weave 1 KB
- assets/prototype/mutations/leak.weave 1 KB
- assets/prototype/mutations/lose_paid.weave 1 KB
- assets/prototype/mutations/manual_leak.weave 1 KB
- assets/prototype/mutations/quick_recover.weave 1 KB
- assets/prototype/mutations/skim.weave 1 KB
- assets/prototype/tests/test_checker.py 9 KB
- assets/prototype/tests/test_coloured.py 7 KB
- assets/prototype/tests/test_composition.py 11 KB
- assets/prototype/tests/test_durable.py 8 KB
- assets/prototype/tests/test_rejection_and_propagation.py 13 KB
- references/weave.md 23 KB
- scripts/weave.py 32 KB
- scripts/weave_diagnostics.py 3 KB
- scripts/weave_labels.py 28 KB
- scripts/weave_pure/__init__.py 1 KB
- scripts/weave_pure/check.py 9 KB
- scripts/weave_pure/cli.py 6 KB
- scripts/weave_pure/runtime.py 16 KB
- scripts/weave_pure/syntax.py 11 KB
- scripts/weave_pure/values.py 4 KB
Versions
| Repository | Score | Licence |
|---|---|---|
| This page · quaat/weave | 100 | MIT |
| edmundmiller/dotfiles | 100 | MIT |
| alexander-tyagunov/magician | 100 | MIT |
Database snapshot: 13.11.2026 · package version 86eb8af14956 (SHA-256 digest of the entire package)
Downloads in the last 30 days: 0 · ranking
Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.
Similar skills
- 90weave-docs
Documentation currency for Weave changes. Computes the documentation impact of a change from the documentation map, applies it, regenerates generated documents, and runs the offline drift audit (repository or change scope). Use at claim time, before the In Review gate, at… - 90weave-instrument
Add Weave tracing to Python or TypeScript agents and LLM applications. Use when asked to instrument model calls, tools, or agent turns with Weave. - 90weave-project
Lead orchestrator for Weave development runs. Use when the maintainer explicitly asks to start, resume, inspect or stop a Weave development run, to pick the next roadmap task, or to reconcile the project board. Discovers and reconciles GitHub state, schedules one eligible issue,… - 90weave-brainstorm
Use when asked to brainstorm, or a design question or open-ended problem needs multiple independent adversarial ideas. - 100spider-weave
Weave authentication webs with patient precision. Spin the threads, connect the strands, secure the knots, and bind the system. Use when integrating auth, setting up OAuth, or securing routes. - 100petri-net-design
Design, review and debug Coloured Time Petri Nets with libpetri (Java, TypeScript, Rust, Python) so they stay provable as they grow: data in tokens, decisions in topology, budgets as places, reusable subnets, correlated fork/join. Use when modelling a workflow, agent, protocol,…