shi275773124 / falsify-dsh

Listed

DeepSeek Harness adapter for the public Falsify CLI. Adjudicator receipt, not a second-opinion workflow.

mainSkill View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:shi275773124/falsify-dsh

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 596a86fSynced Aug 18, 2026

falsify-dsh

English | 中文

DeepSeek writes. Falsify asks: where is the evidence?

After install, tell the agent “falsify this file” or “gate this PR.” You get a receipt: PASS / PASS_WITH_DEBT / BLOCK. Agent “looks fine” is not a receipt. Green lint is not a ship.

Official site: https://falsify.site/

30-second install

1. Public Falsify CLI

Python 3.12+:

pip install "falsify @ git+https://github.com/shi275773124/Falsify.git"
python -m falsify --help

2. This bundle

dsh plugin --profile web add "github:shi275773124/falsify-dsh#v0.1.0"

3. Restart the profile

dsh --profile web

Only packages that declare dsh.bundle.patch become active profile layers. This package does.

Optional: set FALSIFY_PYTHON if python is not the interpreter that has Falsify installed.

Say this

After the plugin is enabled, tell the agent:

  • falsify this file
  • gate this PR
  • static check this file

Or call the tools directly: falsify_lint, falsify_review, falsify_gate.

The CLI is the adjudicator. The plugin only supplies paths, runs python -m falsify, and returns a receipt. Agents do not choose the verdict.

Developer preview

DeepSeek Harness is currently in developer preview and is iterating rapidly. THERE WILL BE COMPATIBILITY-BREAKING CHANGES.

This adapter follows that preview. A green lint, demo, or selftest is not claim-bearing authority. dsh-inspect hunts problems and repairs them. falsify-dsh only wraps the public MIT Falsify CLI.

Tools

ToolPublic CLIWhat it is allowed to mean
falsify_lintpython -m falsify lintL2_CLEAN / L2_DIRTY. Static tags + blocker markers. Ceiling = NONE.
falsify_reviewpython -m falsify review --jsonPASS / PASS_WITH_DEBT / BLOCK. Epistemic document review. Not live.
falsify_gatepython -m falsify gate --jsonPublic gate receipt. production / quant fail closed without a Pro adapter.

The adapter never invents a PASS. If the CLI is missing, the verdict is CLI_ERROR, not a silent green.

Compatibility

PiecePin
DSHdeveloper preview, last checked against deepseek-ai/deepseek-harness on 2026-08-13. @deepseek-ai/dsh-tools is supplied by the profile, not npm.
Node^22.19.0 || >=24.0.0
Public Falsify CLIshi275773124/Falsify >=0.6.0
Verified DSH commitnot yet runtime-tested against a frozen DSH SHA — see Known limitations

Old receipts stay receipts. They are not upgraded into later authority.

Uninstall

dsh plugin --profile web remove falsify-dsh

Or delete the dependency from the profile package.json and run dsh plugin --profile web update. Restart the profile afterwards. The adapter does not write durable state of its own.

Run the adapter tests from source

git clone https://github.com/shi275773124/falsify-dsh.git
cd falsify-dsh
npm install
npm test

Configuration

Key / envDefaultMeaning
python / FALSIFY_PYTHONpythonInterpreter that can run python -m falsify
timeoutMs / FALSIFY_DSH_TIMEOUT_MS180000Hard timeout; abort is CLI_ERROR, not PASS
DEEPSEEK_API_KEY / OPENAI_API_KEY / ANTHROPIC_API_KEYunsetPassed through to the public CLI for falsify_review
FALSIFY_PROVIDER / FALSIFY_MODEL / FALSIFY_BASEunsetOptional CLI defaults

There is no Falsify cloud key. Review is BYOK.

Permissions and data

The adapter:

  • spawns a local Python process (python -m falsify …)
  • reads the subject file or a temp copy of inline text
  • writes a temp JSON file for falsify_gate --json
  • forwards provider API keys already present in the environment
  • does not upload receipts, open network sockets of its own, or claim production authority

The child CLI may call a model provider if you configured one. That is the public Falsify CLI's job, not this adapter's.

Troubleshooting

SymptomWhat it actually means
verdict=CLI_ERRORpython -m falsify is missing or the spawn failed. Install the public CLI.
verdict=L2_CLEANStatic lint only. Do not ship on this.
verdict=PASS from falsify_reviewEpistemic document PASS. Still claim_bearing=false.
production / quant gate BLOCKsExpected on the public CLI. Pro adapters are closed.
Plugin listed but tools missingProfile did not load dsh.bundle.patch. Reinstall and restart.

Logs: the tool result includes stdout, stderr, command, and exit_code. Rollback = uninstall the plugin.

Community and support

Contributing

See CONTRIBUTING.md. Chinese: CONTRIBUTING.zh.md.

Development

npm install
npm test
npm run typecheck

src/cli.ts is the portable wrapper and is covered by test/cli.test.mjs. src/index.ts is the Cordis registration surface and is loaded by DSH; it is not unit-tested against unpublished @deepseek-ai/dsh-tools.

For agents, follow AGENTS.md.

Not this plugin

  • Not a DSH skin, sidebar, or TUI.
  • Not dsh-inspect. inspect = find/fix/review loop. Falsify = default-BLOCK adjudicator + receipt.
  • Not the closed Pro runtime, HMAC claim-bearing signer, or live venue adapter.
  • Tagging the Python monorepo with dsh-plugin would be false-green. This adapter is the thing that gets the topic.

Known limitations

  • No frozen DSH SHA runtime proof yet. Static contract + wrapper tests only.
  • Public CLI has no doctor subcommand. Do not add a fake one here.
  • capital_authority is always NONE on this adapter. That is intentional.

License

MIT

Report security issues privately to the maintainer of shi275773124/Falsify. Do not file public issues that include keys, receipts with secrets, or live account paths.

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

TestsDetected
Contributing guideDetected
DocumentationDetected

Repository information

Language
TypeScript
License
MIT
Last updated
Aug 15, 2026, 10:01 AM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.