Public concept site and fictional interactive demo for Recompose: a composition runtime on a device you control that turns source-owned information into bounded, decision-ready surfaces.
The implementation prototype runs its composition process and state locally. Calendar, weather, and other services may remain upstream, but adapters request only contract-bounded fields; raw records are not copied into a central Recompose datastore. Publishing a surface is a separate, deliberate action.
This repository is the public experience/UI prototype, not the private source-connected runtime. It includes a Today composition and an AI use case where LLM Wiki acts as a durable, provenance-rich data fabric.
- Every value in the demo and sample JSON files is fictional.
- This repository contains no private corpus, generated household artifact, private network address, credential, or production endpoint.
- The published pages are static, call no API, and collect no data. The Hermes walkthrough records a real workshop run against the same fictional fixture; playing the video invokes nothing.
- Recompose is an early implementation prototype, not a finished product.
python3 -m http.server 8080Open http://127.0.0.1:8080/. The practical demo is at /demo/.
python3 scripts/verify_site.py
python3 scripts/build_pages.py
python3 scripts/verify_site.py _sitebuild_pages.py copies an explicit public allowlist into _site/; repository tooling and documentation are not deployed as site files. For a private local denylist, set RECOMPOSE_PRIVATE_MARKERS to ::-separated values before verification.
Optional Firefox runtime smoke test (run the server and driver in separate terminals):
python3 -m http.server 8190 --directory _site
geckodriver --port 4444
python3 scripts/test_verify_briefing_contract.py
python3 scripts/verify_briefing_runtime.pyThe runtime check exercises whole-page format switching, nested selected-card reframing, unsupported-format refusal, evidence preservation, and stale-dependent withholding.
index.html— public explainerdemo/— sanitized interactive Today experience and inspectable fictional fixturesai/— fictional grounded-answer experience with inspectable LLM Wiki pages and query packetcareer/— resume + daily job-search match loop with ask/change-card statesbriefing/— living presentation room with live whole-page format recomposition, selected-card audience reframing, evidence preservation, and freshness refusalassets/recompose-in-practice.mp4— narrated, captioned quick walkthroughassets/recompose-end-to-end.mp4— five-minute narrated system demo covering architecture, contracts, use cases, and refusal pathsassets/recompose-hermes-end-to-end.mp4— five-minute recorded Hermes run through bridge validation, real bounded model synthesis, citation checks, delivery, and pre-inference refusalassets/recompose-ai-fabric.mp4— narrated AI + LLM Wiki walkthroughassets/recompose-career.mp4— narrated Career Match walkthroughassets/recompose-briefing.mp4— narrated Living Briefing walkthroughscripts/build_pages.py— explicit public artifact builderscripts/verify_briefing_runtime.py— Firefox smoke test for page/card recomposition and stale refusalscripts/test_verify_briefing_contract.py— mutation tests for fail-closed fixture validationpublic-files.txt— per-file publication allowlist; unlisted files never enter_site/.github/workflows/pages.yml— least-privilege GitHub Pages deployment
When public publishing is intentionally re-enabled, push main to marctheshark3/recompose-experience. The Pages workflow verifies the repository, builds _site/, verifies the artifact again, and publishes only that directory.