Skip to content

Latest commit

 

History

108 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Phantom Metal Taste

License: MPL-2.0 Experimental

The taste of metal in your mouth when nothing is there: a phantom sensation that feels undeniably real yet fundamentally wrong.

What this repository is

Phantom Metal Taste explores how organisations can compare stated intentions with observed outcomes, including unintended consequences and incentives that may distort measurements. The repository is an experimental collection of libraries, analysis prototypes, and design material—not a production service.

The current implementation is deliberately smaller than the conceptual design:

Area Current files Status

Rust core

src/core/ (workspace member under src/core)

A small wasm-bindgen library with unit tests; optional WASM target.

Julia analytics

src/analytics/, packaged by root Project.toml

Statistical and causal-analysis prototypes, with a package test suite.

Bun site tooling

scripts/build-site.mjs, site.json

Builds an allowlisted HTML index and publishes selected documentation sources verbatim; no third-party JavaScript dependencies.

Orchestration

src/orchestrator/*.affine

AffineScript TODO scaffolds only. Domain behavior and database bindings are not implemented.

Databases

compose.yml

Optional local ArangoDB and Virtuoso containers. The current code does not connect to them.

There is no HTTP API, server, data loader, or end-to-end database integration in this checkout. The diagrams, TLA+ specifications, and SynapCor case study are conceptual/design artefacts, not proof that those capabilities are running.

Get started

Install Git and mise, then from a fresh checkout:

git clone https://github.com/hyperpolymath/phantom-metal-taste.git
cd phantom-metal-taste
mise trust
./launcher.sh --setup
just validate
just demo

A complete GitHub source archive can also be extracted and set up without its Git history; keep hidden tracked files such as .well-known/ and .github/. The setup doctor still requires the Git executable, but normal build and test commands use the checked-in manifests. just setup installs the declared toolchain and project dependencies; just doctor explains missing tools. The launcher also exposes --doctor, --heal, --ai-setup, and --help. For OS-specific manual steps and the Guix route, see docs/SETUP.adoc.

Useful tasks:

  • just build — build the Rust workspace, precompile Julia, and build the site.

  • just test — run Rust, Julia, and Bun tests.

  • just site-check — build the allowlisted site twice and compare outputs.

  • just wasm-build — build the optional wasm32-unknown-unknown target.

  • just demo — run a deterministic Julia analytics example.

  • just db-up / just db-down — optional local containers; they are not wired to the code.

Toolchain and provisioning

  • mise.toml declares just, shellcheck, Rust, Julia, and Bun. Tool requests use latest; the estate requires a generated mise.lock before claiming a reproducible toolchain. That lock has not yet been generated in this checkout: the sandbox cannot reach mise’s Julia version metadata host. Until the lock is committed, setup resolves current tool releases and requires network access.

  • manifest.scm and channels.scm define the Guix development shell. Guix provides the system tools and Rust; mise install supplies the Julia and Bun versions declared by the project.

  • guix.scm is an honest source-package definition for this mixed-language repository. It installs the checkout as source; it does not claim to build an application executable.

  • The project task runner is Justfile; the shared provisioning engine is in build/just/. docs/AI_INSTALLATION_GUIDE.adoc and the onboarding warm-ups explain first-time setup.

Documentation

Older ReScript/Deno setup material has been retired. The old migration filename is retained only as a short notice pointing at the current stack and status.

AI-assisted installation

Set up phantom-metal-taste from https://github.com/hyperpolymath/phantom-metal-taste by following docs/AI_INSTALLATION_GUIDE.adoc.

Contributing

Read contribution guidelines and the current agent notes. Before sending a change, run just validate when the required local toolchains are available, and describe any unavailable gate rather than reporting it as passed.

License

Source is licensed under MPL-2.0. Documentation is licensed under CC-BY-SA-4.0. See LICENSE, LICENSES/, and file headers for details.

Releases

Sponsor this project

Packages

Used by

Contributors

Languages