Skip to main content

Witsoc mathematical research orchestration utilities

Project description

Witsoc

Witsoc is a collection of mathematical research orchestration utilities used by the Witsoc skill. The package exposes the same command surface as the local scripts/witsoc.py entrypoint while making the tools installable with pip.

Initial package scope:

  • stable witsoc console command;
  • compatibility with existing script names and orchestrator calls;
  • packaged references, schemas, and subskill files needed by the scripts;
  • gradual migration path from standalone scripts to importable modules.

PyPI package:

https://pypi.org/project/witsoc/

If the local Witsoc script tree is missing in a fresh environment, install from PyPI:

python3 -m pip install -U witsoc

or:

uv pip install -U witsoc

The canonical OpenScientist skill directory is:

~/.openscientist/skills/witsoc

If that skill folder exists but scripts/ and/or src/ were deleted, restore them into that folder from the installed PyPI package:

python3 -m pip install -U witsoc
python3 -m witsoc restore-skill --target ~/.openscientist/skills/witsoc --replace

Or from a surviving bootstrap.py inside the skill folder:

python3 ~/.openscientist/skills/witsoc/bootstrap.py --replace

Check without changing files:

python3 -m witsoc restore-skill --target ~/.openscientist/skills/witsoc --check
python3 ~/.openscientist/skills/witsoc/bootstrap.py --check

Force a refresh from PyPI:

python3 -m witsoc restore-skill --target ~/.openscientist/skills/witsoc --replace
python3 ~/.openscientist/skills/witsoc/bootstrap.py --replace

Restore an explicit target:

python3 -m witsoc restore-skill --target ~/.openscientist/skills/witsoc --replace
python3 ~/.openscientist/skills/witsoc/bootstrap.py --replace

Fresh-machine setup without checking in scripts/:

python3 -m pip install -U witsoc
mkdir -p ~/.openscientist/skills/witsoc
python3 -m witsoc restore-skill --target ~/.openscientist/skills/witsoc
python3 ~/.openscientist/skills/witsoc/scripts/witsoc.py --help

Runtime Preflight

Before using Witsoc scripts from a skill folder, verify:

test -f ~/.openscientist/skills/witsoc/scripts/witsoc.py
test -f ~/.openscientist/skills/witsoc/src/witsoc/cli.py

If either check fails:

python3 ~/.openscientist/skills/witsoc/bootstrap.py --replace

The safest local launcher is:

python3 ~/.openscientist/skills/witsoc/witsoc.py --help

It checks scripts/ and src/, restores them through bootstrap.py if they are missing, and then delegates to scripts/witsoc.py.

Example:

witsoc route "deep run prove or disprove this open conjecture"
witsoc lovasz-packet runs/example
witsoc lovasz-kernel runs/example --write
witsoc lovasz-judge runs/example --write
witsoc lovasz-autopsy runs/example --write
witsoc explorer-target-model runs/example --write
witsoc generator-obligations runs/example --write
witsoc scorecard runs/example --write
witsoc ui-summary runs/example --write
witsoc orchestrator-plan route "prove a theorem"

Nested aliases are also available:

witsoc strategy rank-lanes --prompt "deep run prove or disprove this open conjecture"
witsoc lovasz packet runs/example
witsoc lovasz kernel runs/example --write
witsoc lovasz judge runs/example --write
witsoc lovasz autopsy runs/example --write
witsoc explorer target-model runs/example --write
witsoc generator obligations runs/example --write

Lazy Surface

Witsoc is intentionally lazy at the package boundary. The default command surface exposes cheap routing and decision packets first; heavy research engines remain callable by explicit command name or by the orchestrator after it chooses a plan.

Cheap boundary calls:

python3 ~/.openscientist/skills/witsoc/witsoc.py llm-contract
python3 ~/.openscientist/skills/witsoc/witsoc.py subskills
python3 ~/.openscientist/skills/witsoc/witsoc.py next-action runs/<task> --write
python3 ~/.openscientist/skills/witsoc/witsoc.py proof-workflow runs/<task> --write
python3 ~/.openscientist/skills/witsoc/witsoc.py scorecard runs/<task> --write
python3 ~/.openscientist/skills/witsoc/witsoc.py ui-summary runs/<task> --write
python3 ~/.openscientist/skills/witsoc/witsoc.py ui-summary runs/<task> --write --deep
python3 ~/.openscientist/skills/witsoc/witsoc.py explorer target-model runs/<task> --write
python3 ~/.openscientist/skills/witsoc/witsoc.py generator obligations runs/<task> --write
python3 ~/.openscientist/skills/witsoc/witsoc.py lovasz autopsy runs/<task> --write
python3 ~/.openscientist/skills/witsoc/witsoc.py spawn-template explorer --target "..."
witsoc route "..."
witsoc next-action runs/<task> --write
witsoc proof-workflow runs/<task> --write
witsoc scorecard runs/<task> --write
witsoc ui-summary runs/<task> --write
witsoc ui-summary runs/<task> --write --deep
witsoc orchestrator-plan route "..."
witsoc strategy rank-lanes --prompt "..."
witsoc lovasz packet runs/example
witsoc lovasz kernel runs/example --write
witsoc lovasz judge runs/example --write
witsoc lovasz autopsy runs/example --write

Discover commands by tier:

witsoc commands
witsoc commands --tier core
witsoc commands --tier heavy --json
witsoc install-help

Old direct aliases still work for compatibility, for example:

witsoc counterexample-search runs/example
witsoc worker-dispatch runs/example --write

Those commands are not imported or loaded until invoked.

Run Product Contract

For UI and report preview, use:

witsoc ui-summary runs/<task> --write

It writes witsoc_ui_summary.json, reports/witsoc_preview.md, and a starter reports/witsoc_report.md plus reports/report.md from the current Explorer, Lovasz, Generator, workflow, and scorecard packets. Add --deep for deep runs to scan all WIT, Lean, SOC, JSON, receipt, DAG, and report artifacts.

For serious mathematical work, use the next-action packet as the cheap control surface:

witsoc next-action runs/<task> --write

It emits runs/<task>/witsoc_next_action.json and materializes missing default scaffolds:

proofs/<task>.soc
reports/witsoc_status.md

The packet tells the orchestrator the current status, exact gap, next action, evaluator, success condition, failure route, and expected artifacts. It is advisory; the orchestrator remains in charge.

Build

From this directory:

uv build

This produces:

dist/witsoc-0.1.7.tar.gz
dist/witsoc-0.1.7-py3-none-any.whl

Local wheel smoke test:

python3 -m venv /tmp/witsoc-venv
/tmp/witsoc-venv/bin/pip install --no-deps dist/witsoc-0.1.7-py3-none-any.whl
/tmp/witsoc-venv/bin/witsoc route --field route "deep run prove or disprove this open conjecture"

Publish, after configuring PyPI credentials:

uv publish

Migration Model

Version 0.1.7 packages the existing scripts/ tree as the compatibility surface. The stable entrypoint is witsoc.cli:main; old calls through scripts/witsoc.py delegate to the package CLI. Future releases can move individual scripts into importable package modules while keeping the same console commands.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

witsoc-0.1.7.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

witsoc-0.1.7-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

Details for the file witsoc-0.1.7.tar.gz.

File metadata

  • Download URL: witsoc-0.1.7.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for witsoc-0.1.7.tar.gz
Algorithm Hash digest
SHA256 e07df8e98273f34a8aa3a999670e16ad63e5626e920d3775529384a499cb5680
MD5 e35a3adbd7ca412aebc98c14b8d0605d
BLAKE2b-256 eaefa3a140ea2d72127a8f3a9e6efdb08e62ab9de7f2ca51039401d155139bd9

See more details on using hashes here.

File details

Details for the file witsoc-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: witsoc-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for witsoc-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 d19c6c53d2a13c92219e54b9f85f3cb6220a4ec5a30102dabf88a28ab89857d4
MD5 1366f528c5c46500427196ea10eb67d2
BLAKE2b-256 8dd4d8487591ecd515f94cc1d8a6f5c6453a6205acf2ed8b32cb7f1f45e1c753

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page