
Research
/Security News
737 Chrome VPN Extensions Linked to Brand Impersonation and Browser Traffic Redirection
The campaign amassed more than 75,000 installs by targeting Russian-speaking users seeking access to blocked services.
@decantr/verifier
Advanced tools
Shared verification, typed findings, graph anchors, Project Health, and evidence schemas for Decantr
Support status: core-supported
Release channel: stable
Shared Decantr verification, critique, and report-schema engine used by the CLI, MCP server, and future CI/hosted verification surfaces.
npm install @decantr/verifier
auditProject() for project-level Decantr auditsauditBuiltDist() for built-output runtime verification against emitted HTML, assets, and route hintsdiscoverProject() for shared read-only Brownfield discovery of workspace/app scope, package manager, framework, language, source-declared routes, taskable routes, component inventory, styling authority, Decantr presence, and inherited assistant-rule files. Formal TanStack source routes outrank generated trees; nested React Router objects resolve lazy implementation files; Vue Router objects are recognized; pathname fallbacks carry medium confidence. Angular discovery selects the configured app entry, follows bootstrap-reachable TypeScript imports to router roots, resolves nested/lazy route arrays and implementation files, excludes test/fixture source, separates lazy route scopes from rendered pages, inventories @Component classes, and reports authority/completeness independently from aggregate confidence.scanProject() for read-only Brownfield reconnaissance that emits scan-report.v2 by default using the shared discovery substrateauditComponentReuse() for the first AST-derived component reuse drift slice, focused on AI reimplementing common UI primitives instead of importing project-owned components, plus local import references that the typed graph can turn into source-to-source impact edgesauditStyleBridgeDrift() for accepted style bridge drift, focused on production className, common class-helper values, stylesheet declarations, and hardcoded inline color styles that bypass project-owned token/class authoritycollectProjectSourceFiles() for the shared production-source file selection used by Project Health, component reuse drift, style bridge drift, and typed graph source provenanceresolveGitHubScanInput() and probePublishedSite() as caller-invoked compatibility utilities for URL normalization and HTML-only site probes; Decantr does not operate a hosted source scannercritiqueFile() for file-level review against compiled review-pack contractscreateContractAssertions() for explicit route, shell, accessibility, context, and design-token assertions derived from Essence/contextcreateEvidenceBundle() for privacy-redacted local evidence artifacts used by AI repair loops and CIcreateEvidenceTier(), createAuthorityResolution(), and createLoopReadiness() for the shared v2 Brownfield control-loop blocks used by CLI, MCP, Studio, and verifier consumerscreateAdoptionTruthV1() for receipt-backed adoption facts whose observation, governance, and mutation states remain independentcreateProjectAdoptionTruthV1() for one read-only, discovery-backed project truth; createProjectIdentityV1() provides the clone-independent workspace-relative identity shared by task capsules, CI v3, MCP, and local baselines, while createStableProjectIdentityV1() derives the same identity directly from a selected project rootcreateTaskCapsuleV1() for structured project, graph, ranked read-target, authority, impact, finding, official-guidance, stop-condition, and exact verification-command context under deterministic 12,000 canonical UTF-8 byte / 4,000 estimated-token limits using conservative tokenEstimateV1 = ceil(bytes / 3) accounting; task-request truncation, omitted counts, canonical byte/token measurements, and downstream digests must all derive from this final canonical resultcreateGovernanceDeltaV1() and fingerprintFindingOccurrenceV1() for Git-scope-independent debt comparison with deterministic new, inherited, resolved, and unclassified finding occurrences plus explicit incomplete-proof gatesresolveGraphAnchorForFinding() and anchorFindingsToGraph() for attaching verifier/Project Health findings to typed Contract graph nodes when a graph snapshot existsderiveVerificationDiagnostic() and KNOWN_VERIFICATION_DIAGNOSTICS for stable finding codes and typed repair IDs used by Project Health, MCP health, and Evidence BundlesProjectHealthReport, ProjectHealthFinding, and ProjectHealthRemediation types for the CLI's end-user health surfacecode, repair, repairPlan, and graph fields so agents can identify, anchor, and act on findings without parsing prose; Evidence Bundle provenance also records graph snapshot, manifest, diff, and contract-capsule hashes when presentpack-manifest.json references real pack markdown/JSON files on diskid="root" mount elementmain, role="main", section.todoapp, or #todoapp, while framework targets still require framework mount/document evidenceCOMP001 / import-existing-component findings when a production source file locally redeclares a primitive such as Button, Card, or Dialog while an exported reusable primitive already exists under common component pathsCOMP010 / replace-raw-control-with-local-component findings when production JSX renders generic raw controls such as <button> or text-like <input> while a project-owned primitive already exists; specialized inputs such as file, hidden, checkbox, radio, color, range, and Dropzone getInputProps() controls are not treated as generic Input drift.decantr/local-patterns.json patterns declare behavior_obligations and production source strongly violates statically checkable dialog/form obligations:
A11Y010 / restore-dialog-accessible-nameA11Y011 / restore-label-associationINT010 / restore-visible-consequence-copyINT011 / restore-cancel-affordanceINT012 / restore-submitting-guardINT013 / set-explicit-button-typeCOMP020 / use-project-owned-interaction-primitiveTOKEN010 / replace-arbitrary-style-with-bridge-token findings when an accepted .decantr/style-bridge.json exists and production JSX uses arbitrary Tailwind values such as bg-[#0f172a], values inside cn(), clsx(), classnames(), cva(), and tv() calls, hardcoded inline color styles such as style={{ backgroundColor: "#0f172a" }}, or hardcoded visual values in production CSS/module stylesheetsdist/ output is present:
lang and viewport metadataimport {
auditProject,
createContractAssertions,
createEvidenceBundle,
critiqueFile,
scanProject,
type ProjectHealthReport,
} from '@decantr/verifier';
const scan = await scanProject(process.cwd());
const audit = await auditProject(process.cwd());
const assertions = createContractAssertions(process.cwd(), audit);
const critique = await critiqueFile('./src/pages/overview.tsx', process.cwd());
function isBlocking(report: ProjectHealthReport) {
return report.status === 'error';
}
@decantr/verifier/schema/adoption-truth.v1.json@decantr/verifier/schema/task-capsule.v1.json@decantr/verifier/schema/governance-delta.v1.json@decantr/verifier/schema/verification-report.common.v1.json@decantr/verifier/schema/verification-report.common.v2.json@decantr/verifier/schema/project-audit-report.v1.json@decantr/verifier/schema/project-health-report.v1.json@decantr/verifier/schema/project-health-report.v2.json@decantr/verifier/schema/decantr-ci-report.v1.json@decantr/verifier/schema/decantr-ci-report.v2.json@decantr/verifier/schema/decantr-ci-report.v3.json@decantr/verifier/schema/evidence-bundle.v1.json@decantr/verifier/schema/evidence-bundle.v2.json@decantr/verifier/schema/runtime-probe-payload.v2.json@decantr/verifier/schema/authority-resolution.v2.json@decantr/verifier/schema/loop-readiness.v2.json@decantr/verifier/schema/proof-field-report.v2.json@decantr/verifier/schema/scan-report.v1.json@decantr/verifier/schema/scan-report.v2.json@decantr/verifier/schema/workspace-health-report.v1.json@decantr/verifier/schema/workspace-health-report.v2.json@decantr/verifier/schema/file-critique-report.v1.json@decantr/verifier/schema/showcase-shortlist-report.v1.jsonThe adoption-truth, task-capsule, and governance-delta schemas are additive Decantr 3.9 contract primitives consumed by CLI, MCP, opt-in CI v3, and read-only Studio adapters. decantr-ci-report.v3 is also additive and must be selected explicitly; v2 remains the default throughout 3.9.x and its schema/exit semantics are unchanged. A missing or incompatible baseline produces unclassified findings and not_proven rather than a false empty delta. V1 health/evidence/scan schemas remain published for stored-artifact compatibility; audit, file-critique, and showcase reports remain v1 until those wires need to change. See Report Schemas.
These contracts define deterministic evidence shapes; they do not by themselves prove the Decantr 3.9 quantitative gates. Human qualification remains fail-closed until the frozen route corpus, two-person finding adjudication, public 3.8.3 replay, final 3.9 replay, and adoption/Studio filesystem evidence are complete. Stable 3.9.4 publication may use the explicit sole-maintainer release gate with human finding claims waived; that does not make the release human-qualified or adoption-proven.
The verifier is a local library. It reads selected project source, Decantr context, read-only scan files, and built dist/.next output when callers request project or runtime audits. scanProject() returns relative evidence and does not write artifacts, install dependencies, build projects, execute scripts, or open pull requests. probePublishedSite() fetches HTML metadata over HTTP(S) only and does not execute JavaScript or capture screenshots. Built-output runtime audit starts a temporary loopback static server and fetches from that local server. The verifier does not write files, spawn processes, emit telemetry, or upload source by itself. See security permissions.
@decantr/verifier is stable in the Decantr 3 line for the documented verifier APIs and published report-schema assets.
$schema URLsMIT
FAQs
Changed-UI assurance, authority discovery, task context, Project Health, and evidence contracts for Decantr
The npm package @decantr/verifier receives a total of 747 weekly downloads. As such, @decantr/verifier popularity was classified as not popular.
We found that @decantr/verifier demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
The campaign amassed more than 75,000 installs by targeting Russian-speaking users seeking access to blocked services.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.