Use this page when a command exits non-zero, a claim is blocked, or a release gate reports that more evidence is needed. Falsiflow is conservative by design: most failures are meant to preserve the project directory and point to the next repair command.
Start with the project doctor when a generated or existing project is not ready:
falsiflow doctor --project-dir my_falsiflow_project --strictThen inspect:
doctor/doctor_summary.jsondoctor/doctor_summary.mddoctor/project_validation.jsondoctor/evidence_diagnostics.jsonclaim_check/claim_check.jsonclaim_check/claim_check.md
Look for repair_checklist, next_commands, next_actions, and the first
blocked stage. Those fields name the next command, expected artifact, and
success signal.
Check the Python version first. Falsiflow expects Python >=3.10.
python3 --version
python3 -m pip install -e .
falsiflow selftestFor the local browser entry point, prefer the maintained shortcuts:
make install-local
make startIf the local app directory already has generated files, reset it:
falsiflow start --resetFor CI or scripted checks, avoid leaving a server running:
falsiflow start --check --jsonclaim_check_blocked means the project was preserved and the claim did not earn
readiness. Common causes are:
- placeholder values such as
TBD,unknown,placeholder, or blank values - missing required evidence rows
- blank required metadata fields
- missing
source_filereferences or raw source files - duplicate evidence keys for the same gate, candidate, sample, and field
- malformed evidence CSV headers
- failed acceptance rules or derived metrics
Run:
falsiflow doctor --project-dir my_falsiflow_project --strict
falsiflow claim-check --project-dir my_falsiflow_project --strict --forceThen fill the first missing evidence row or source file named in
repair_checklist or next_actions.json. Do not edit reports to force
claim_ready; the source-backed evidence needs to change.
doctor_blocked usually means the project config, evidence CSV, source files,
or claim check failed before the full review path was ready.
Useful recovery order:
falsiflow validate --config my_falsiflow_project/project.json --strict
falsiflow coverage --config my_falsiflow_project/project.json --evidence my_falsiflow_project/evidence.csv --strict
falsiflow doctor --project-dir my_falsiflow_project --strictIf project_validation.json names an unsupported operator, invalid gate, or
missing claim requirement, fix project.json before editing evidence rows.
template_blocked or template_install_blocked means the starter template is
not safe to share or adopt yet.
Run the authoring and verification path:
falsiflow template-check --template-dir my_template --strict
falsiflow template-pack --template-dir my_template --out my_template.zip --force
falsiflow verify-template-pack --bundle my_template.zip --strictFor a reusable template, the passing demo must become claim_ready and the
placeholder demo must remain blocked. If placeholder evidence passes, tighten
the gate, required fields, placeholder markers, or source-file policy.
For distributed templates, also verify registry, lockfile, attestation, policy, release, and install artifacts:
falsiflow template-release --template-dir my_template --out template_release.zip --force
falsiflow verify-template-release --release template_release.zip --strict --report-out template_release_verification.md
falsiflow template-install --release template_release.zip --out-dir installed_templates --require-attestationUnsafe archive paths, hash mismatches, duplicate artifact paths, or unmanifested files should stay blocked.
Use --skip-dist only for a fast docs or metadata loop:
falsiflow release-check --out-dir data/falsiflow/release_check --skip-dist --forceBefore a release-facing change, run the full gate:
rm -rf build falsiflow.egg-info data/falsiflow/release_check
falsiflow release-check --out-dir data/falsiflow/release_check --forceAvoid running two full distribution checks at the same time in one checkout.
They both build wheels and sdists, so parallel runs can compete for build/.
Inspect:
release_check.jsonrelease_check.mddist/wheel/*.whldist/sdist/*.tar.gzdist/installed_release_check/release_check.json
The full gate should finish with release_ready, package_ready, dist_ready,
and release_validation_ready for local release validation.
external_blocked is expected before public account-bound evidence exists. A
local release can be ready while external readiness waits on:
- public repository URL
- hosted demo URL
- public PyPI package URL
- PyPI JSON API response proving the package name and version
- checkout-based pipx smoke evidence
- public-package pipx smoke evidence
- Windows/PowerShell smoke evidence
- the
Falsiflow External Evidenceworkflow artifact public_release_evidence.mdfromfalsiflow publish-kit
After publishing the repository and demo, write or collect structured evidence:
falsiflow external-evidence --out falsiflow_external_evidence.json --force
falsiflow external-check --out-dir falsiflow_external_check --evidence falsiflow_external_evidence.json --strict --forceOnly call the public launch externally ready after external-check --strict
reports external_ready.
If PyPI trusted publishing fails with invalid-publisher, configure the PyPI
trusted publisher with owner AzurLiu, repository falsiflow, workflow
falsiflow-publish.yml, and environment pypi. See
falsiflow_pypi_trusted_publishing.md
for the exact claims from the failed token exchange.
Open an issue when the repair checklist is unclear, a valid-looking project is blocked without a concrete next action, or a verifier accepts an unsafe bundle, template, or release artifact.
Include:
- the exact command
- operating system and Python version
- Falsiflow version or commit
- the relevant JSON report, such as
doctor_summary.json,claim_check.json,external_readiness.json, orrelease_check.json - whether the issue uses bundled demo data or private evidence
Do not attach private lab data, credentials, proprietary vendor replies, or sensitive source files to public issues. See ../SUPPORT.md and ../SECURITY.md for routing.